The goal is to preserve the container.input interface so that custom
images can be specified, as per yarn/test/test.cue while keeping the
initial fix for https://github.com/dagger/dagger/issues/1670
Signed-off-by: Gerhard Lazu <gerhard@lazu.co.uk>
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>
Ensure that we have done an init in this folder.
Also, force a clean checkout of the tag we've chosen to upgrade to.
Signed-off-by: Joel Longtine <joel@dagger.io>
While at it, add help make target & make it the default.
This explains all make targets. Run `make help` to see it in action 😉
dagger-ci-pr1499-2022-01-26 API token was added as an AGE secret. It can
be accessed only by the intended recipients are able to decrypt it with
their private SSH keys.
echo "TOKEN" | age -R .age.recipients.txt -o .do.dagger-ci-pr1499-2022-01-26.age
Do not assume that /bin/true exists on hosts running Docker. Use "true"
and let the system resolve the path.
Re-enable all ssh Universe tests.
Signed-off-by: Gerhard Lazu <gerhard@lazu.co.uk>
Fields in CUE were renamed to the lowercase version of Dockerfile instructions.
There's now opportunity to make other fields simpler to use (e.g., healthcheck), this commit is focused on env.
Signed-off-by: Helder Correia <174525+helderco@users.noreply.github.com>
We fixed a few issues with @shykes & @jlongtine, and @talentedmrjones
gave us this great command to run:
cd pkg/universe.dagger.io/examples/changelog.com/highlevel
dagger up --europa ./gerhard --log debug --log-format plain
7:42PM DBG system | detected buildkit config haveHostNetwork=true isActive=true version=v0.9.3
7:42PM DBG system | loading plan args=[
"./gerhard/"
]
7:42PM DBG system | vendoring packages mod=/Users/gerhard/github.com/gerhard/dagger/pkg/universe.dagger.io
7:42PM DBG system | spawning buildkit job attrs=null localdirs={
"/Users/gerhard/github.com/thechangelog/changelog.com/": "/Users/gerhard/github.com/thechangelog/changelog.com"
}
7:42PM INF actions.test.db.pull._op | computing
7:42PM INF actions.test.run._exec | computing
7:42PM INF inputs.directories.app | computing
7:42PM INF actions.dev.build._dag."0"._op | computing
7:42PM INF actions.test.build._dag."0"._op | computing
7:42PM ERR actions.test.run._exec | failed: invalid FS at path "actions.test.run._exec.input": FS is not set duration=0s
7:42PM DBG inputs.directories.app | loading local directory path=/Users/gerhard/github.com/thechangelog/changelog.com/
7:42PM ERR actions.dev.build._dag."0"._op | canceled duration=0s
7:42PM ERR actions.test.db.pull._op | canceled duration=0s
7:42PM ERR actions.test.build._dag."0"._op | canceled duration=0s
7:42PM ERR inputs.directories.app | canceled duration=0s
7:42PM FTL system | failed to up environment: task failed: actions.test.run._exec: invalid FS at path "actions.test.run._exec.input": FS is not set
The next step is to figure out why this is failing @jlongtine.
Signed-off-by: Gerhard Lazu <gerhard@lazu.co.uk>
- Each package can include its own bats file (e.g. `universe.dagger.io/yarn/test/yarn.bats`)
- universe.dagger.io includes a common bash helper file
- bats is installed/launched through yarn with minimal setup
- shellcheck is done across the entire repo
- Integrated into our CI
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>