If multiple yarn.#Run commands run in parallel, they will corrupt each
other's yarn cache mount. Because we extract yarn install into a
separate step, LLB will dedup the yarn install step and only run it
once, regardless how many yarn.#Run commands run in parallel.
Fixes https://github.com/dagger/dagger/issues/1670
Signed-off-by: Gerhard Lazu <gerhard@lazu.co.uk>
- Simplify cache id parameter with a field `name`
- Configure GOOS & GOARCH values
- Container image can now be overridden
- Simplify build export
Signed-off-by: Vasek - Tom C <tom.chauveau@epitech.eu>
- Improve #Container with a better docker.#Run integration
- Supports concurrency caching in #Container
- Simplify code maintainability and readability
- Simplify binary export in #Build
- Support multi binary building
- External #Version management
Signed-off-by: Vasek - Tom C <tom.chauveau@epitech.eu>
Definition are now split in their own file.
`#Image` is a simple base image to set up a go container
`#Container` is a standalone environment to execute go command, any go command
should use this definition.
It shares `docker.#Run` fields to easily maintains this definition.
`#Build` and `#Test` are high level definition that use `#Container` to
execute common go operation in a CI.
Those definitions are tested with a simple greeting package.
Signed-off-by: Vasek - Tom C <tom.chauveau@epitech.eu>
* Remove mandatory 'cache' field
* New 'name' field to customize cache IDs instead
* Simplify and expand tests
Signed-off-by: Solomon Hykes <solomon@dagger.io>
* Script is written to filesystem, not inlined as argument
* Pass script either as string, or directory+filename
Signed-off-by: Solomon Hykes <solomon@dagger.io>
* `cmd` is renamed to `command` for readability
* `script` is removed. Feature moves up the stack (bash.#Run,
python.#Run)
Signed-off-by: Solomon Hykes <solomon@dagger.io>
This change "collapses" together log "groups" containing hidden fields
for the TTY logger.
e.g. `actions.foo._a` and `actions.foo_b` will show up as a combined `actions.foo`.
Caveats: Since we don't know in advance how many tasks are in a group, the state will change back and forth.
For each task in a group, the state will transition from computing to complete (e.g. blue to green), then back to computing and so on.
The transition is fast enough not to be visibile.
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
For code embedding (e.g. deploy.sh), we've changed vendor embedding to
include all contents instead of just CUE files #1526.
The problem is we're vendoring the package's `cue.mod/pkg`.
This fixes it.
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>