Code Monkey home page Code Monkey logo

haskell-language-dockerfile's People

Contributors

arguggi avatar cpennington avatar dtan4 avatar ggreif avatar lukasmartinelli avatar moshen avatar pdehaan avatar pdericson avatar wfleming avatar yamadapc avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

haskell-language-dockerfile's Issues

Test suite failure

Failures:

  test/Language/Dockerfile/EDSLSpec.hs:58: 
  1) Language.Dockerfile.EDSL.toDockerfileStrIO let's us run in the IO monad
       expected: "FROM ubuntu\nADD ./test/SanitySpec.hs /app/SanitySpec.hs\nADD ./test/Spec.hs /app/Spec.hs\nADD ./test/Test.hs /app/Test.hs\n"
        but got: "FROM ubuntu\nADD ./test/Spec.hs /app/Spec.hs\nADD ./test/Test.hs /app/Test.hs\nADD ./test/SanitySpec.hs /app/SanitySpec.hs\n"

Randomized with seed 1989111289

Fix EXPOSE with protocol

Right now there is only supported

EXPOSE <port>  [<port> ...]

where port is integer, but in reference EXPOSE is defined as

EXPOSE <port> [<port>/<protocol>...]

The EXPOSE instruction informs Docker that the container listens on the specified network ports at runtime. You can specify whether the port listens on TCP or UDP, and the default is TCP if the protocol is not specified.

How is this code different from language-docker?

I am very confused and hope that you can help me out understanding what the actual difference between language-docker and language-dockerfile is? The former project appears to be more actively maintained? Is there are reasoning I can follow to decide whether I want to base my own coding efforts on or the other version of this library?

Test suite compilation failure with GHC 8.2

Building test suite 'hadolint-unit-tests' for language-dockerfile-0.3.6.0..

test/Spec.hs:2:8: error:
    File name does not match module name:
    Saw: ‘Main’
    Expected: ‘Spec’

build failure

Build failure as seen on the stackage build server:

Building library for language-dockerfile-0.3.6.0..
[ 1 of 16] Compiling Language.Dockerfile.Bash ( src/Language/Dockerfile/Bash.hs,
 dist/build/Language/Dockerfile/Bash.o )

src/Language/Dockerfile/Bash.hs:9:81: error:
    • Couldn't match expected type ‘CheckSpec’
                  with actual type ‘Maybe Shell -> CheckSpec’
    • Probable cause: ‘spec’ is applied to too few arguments
      In the second argument of ‘checkScript’, namely ‘spec’
      In the second argument of ‘($)’, namely ‘checkScript si spec’
      In the second argument of ‘($)’, namely
        ‘runIdentity $ checkScript si spec’
  |
9 | shellcheck bashScript = map comment $ crComments $ runIdentity $ checkScript si spec
  |                                                                                 ^^^^


src/Language/Dockerfile/Bash.hs:12:38: error:
    • Couldn't match expected type ‘Bool’ with actual type ‘[a0]’
    • In the third argument of ‘CheckSpec’, namely ‘exclusions’
      In the expression: CheckSpec filename script exclusions (Just Bash)
      In an equation for ‘spec’:
          spec = CheckSpec filename script exclusions (Just Bash)
   |
12 |     spec = CheckSpec filename script exclusions (Just Bash)
   |                                      ^^^^^^^^^^

src/Language/Dockerfile/Bash.hs:12:50: error:
    • Couldn't match expected type ‘[Integer]’
                  with actual type ‘Maybe Shell’
    • In the fourth argument of ‘CheckSpec’, namely ‘(Just Bash)’
      In the expression: CheckSpec filename script exclusions (Just Bash)
      In an equation for ‘spec’:
          spec = CheckSpec filename script exclusions (Just Bash)
   |
12 |     spec = CheckSpec filename script exclusions (Just Bash)
   |                                                  ^^^^^^^^^

I'll try to see if I can reproduce it locally with the next stackage nightly snapshot.

Build failure with with `ShellCheck-0.7.2`

src/Language/Dockerfile/Bash.hs:18:14: error:
    Not in scope: data constructor ‘PositionedComment’
    Perhaps you meant variable ‘newPositionedComment’ (imported from ShellCheck.Interface)
   |
18 |     comment (PositionedComment _ _ c) = c
   |              ^^^^^^^^^^^^^^^^^
cabal: Failed to build language-dockerfile-0.3.6.0.

Implement `cache` directive

The exact semantics need to be thought of.

My idea is to add a directive:

  • cache <fp> [host-fp]

It'll just keep track of the path on existing builds and mount it as a volume on subsequent builds. We can also offer to have the path mounted on the host from the start, and use that.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.