Commit Graph

130 Commits

Author SHA1 Message Date
Gerhard Lazu
26d24e6ac0
First attempt at restoring the container.input interface
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>
2022-03-04 18:41:21 +00:00
Gerhard Lazu
089d464802
Extract yarn install into a separate step
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>
2022-03-04 18:38:35 +00:00
Sam Alba
3421a8efce pkg: docker: add the command exit code
Signed-off-by: Sam Alba <samalba@users.noreply.github.com>
2022-02-24 17:48:18 -08:00
Solomon Hykes
1135398bee
Merge pull request #1644 from shykes/go-fix
go.#Build: small improvements
2022-02-23 14:05:13 -08:00
Solomon Hykes
f6cee7f306 go.#Build: small improvements
Signed-off-by: Solomon Hykes <solomon@dagger.io>
2022-02-23 21:45:13 +00:00
Richard Jones
2b3f6e832e
Implemented universe/aws and universe/aws/cli
Signed-off-by: Richard Jones <richard@dagger.io>
2022-02-23 14:36:27 -07:00
Joel Longtine
a768ed13c7 Fix go.#Build
Signed-off-by: Joel Longtine <joel@dagger.io>
2022-02-23 12:20:01 -07:00
Joel Longtine
16b66773f3 Add updated .gitignore files
Signed-off-by: Joel Longtine <joel@dagger.io>
2022-02-23 12:20:01 -07:00
Solomon Hykes
97151b911d
Merge pull request #1600 from TomChv/europa/port-go-package
Port go package to universe
2022-02-18 19:34:24 -08:00
Tom Chauveau
1e384c4e9a
Apply Solomon comments
- 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>
2022-02-18 15:30:34 +01:00
Vasek - Tom C
ce4c1f036f
Resolves #1559
Signed-off-by: Vasek - Tom C <tom.chauveau@epitech.eu>
2022-02-18 15:17:33 +01:00
Vasek - Tom C
73829fd9a7
Fix docker.#Run exportFile test.
This test was not calling `docker.#Run` so basically it wasn't doing anything.

Signed-off-by: Vasek - Tom C <tom.chauveau@epitech.eu>
2022-02-18 15:15:32 +01:00
Solomon Hykes
824573521e yarn: split #Run and #Build
Signed-off-by: Solomon Hykes <solomon@dagger.io>
2022-02-17 20:28:41 +00:00
Tom Chauveau
2887139bf7
Apply Solomon comments on universe.dagger.io/go
- 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>
2022-02-17 16:01:16 +01:00
Tom Chauveau
e49bb34e87
Port go package to universe to resolves #1553
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>
2022-02-17 14:57:06 +01:00
Solomon Hykes
c2766c265b Merge dagger.io/dagger/engine into dagger.io/dagger
Signed-off-by: Solomon Hykes <solomon@dagger.io>
2022-02-16 19:40:28 +00:00
Andrea Luzzardi
bf6d463833
Merge pull request #1557 from talentedmrjones/europa-engine-exec-secret-env
implemented ability to pass #Secret as env var
2022-02-15 16:30:13 -07:00
Solomon Hykes
3d56513895 Rename dagger.#DAG to dagger.#Plan
Signed-off-by: Solomon Hykes <solomon@dagger.io>
2022-02-15 22:45:47 +00:00
Richard Jones
3c57630b0e
implemented ability to pass #Secret as env var
Signed-off-by: Richard Jones <richard@dagger.io>
2022-02-15 12:58:35 -07:00
Solomon Hykes
a6502c7947 yarn: enable image customization
Signed-off-by: Solomon Hykes <solomon@dagger.io>
2022-02-12 07:40:30 +00:00
Solomon Hykes
fbae253f62 netlify: enable image customization; improve tests
Signed-off-by: Solomon Hykes <solomon@dagger.io>
2022-02-11 23:31:35 +00:00
Solomon Hykes
ce1a5659eb docker.#Run: remove redundant image field
Signed-off-by: Solomon Hykes <solomon@dagger.io>
2022-02-09 19:59:22 +00:00
Solomon Hykes
b251528535
Merge pull request #1585 from shykes/universe-tests
yarn: cleanup tests
2022-02-09 09:30:33 -08:00
Solomon Hykes
b23a90c9b1 yarn: cleanup tests
Signed-off-by: Solomon Hykes <solomon@dagger.io>
2022-02-09 08:58:34 +00:00
Solomon Hykes
e8a62cb3aa universe.dagger.io/examples/changelog.com: successful build
Signed-off-by: Solomon Hykes <solomon@dagger.io>
2022-02-09 08:49:44 +00:00
Solomon Hykes
5a1ce0acac universe.dagger.io/examples/changelog.com: cleanup and fixes
Signed-off-by: Solomon Hykes <solomon@dagger.io>
2022-02-09 08:34:54 +00:00
Solomon Hykes
80f9a65ca7 Fix cue eval from pkg/universe.dagger.io
Signed-off-by: Solomon Hykes <solomon@dagger.io>
2022-02-09 08:04:24 +00:00
Solomon Hykes
7502bc876b netlify: cleanup tests
Signed-off-by: Solomon Hykes <solomon@dagger.io>
2022-02-09 01:41:36 +00:00
Solomon Hykes
20e1ac9d7f docker: cleanup tests
Signed-off-by: Solomon Hykes <solomon@dagger.io>
2022-02-09 01:41:36 +00:00
Solomon Hykes
090ecfb9f2 bash: cleanup tests
Signed-off-by: Solomon Hykes <solomon@dagger.io>
2022-02-09 01:41:36 +00:00
Solomon Hykes
cf6fadbeda alpine: cleanup tests
Signed-off-by: Solomon Hykes <solomon@dagger.io>
2022-02-09 01:41:33 +00:00
Solomon Hykes
e6b5fd3de9 yarn.#Build: simpler API, better tests
* Remove mandatory 'cache' field
* New 'name' field to customize cache IDs instead
* Simplify and expand tests

Signed-off-by: Solomon Hykes <solomon@dagger.io>
2022-02-08 23:02:03 +00:00
Solomon Hykes
013900c2a2 bash.#Run: new and improved
* 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>
2022-02-08 22:00:25 +00:00
Solomon Hykes
3231d69d06
Merge pull request #1550 from talentedmrjones/europa-decode-secret-task
implemented #DecodeSecret as engine task
2022-02-08 11:48:14 -08:00
Solomon Hykes
298a119b09
Merge pull request #1569 from shykes/docker-run-tweak
Simplify docker.#Run
2022-02-08 09:58:22 -08:00
Guillaume Coguiec
bd0f276d30
typo: Fix some minor typos.
Signed-off-by: Guillaume Coguiec <guillaume@logical.work>
2022-02-07 21:10:25 -05:00
Solomon Hykes
354334a3dc Simplify docker.#Run
* `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>
2022-02-08 01:35:51 +00:00
Richard Jones
a087161fbb implemented #DecodeSecret as engine task
Signed-off-by: Richard Jones <richard@dagger.io>
2022-02-04 14:03:55 -07:00
Andrea Luzzardi
55a9c9100d logger: collapse logs for hidden fields
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>
2022-02-04 10:03:14 -08:00
Sam Alba
1d1ce2ba28 universe: add note about package pinning for later
Signed-off-by: Sam Alba <samalba@users.noreply.github.com>
2022-02-02 14:59:47 -08:00
Andrea Luzzardi
676a895a0f
Merge pull request #1535 from helderco/docker-set
Set image metadata
2022-01-31 16:09:22 -08:00
Helder Correia
9e33a09903
Add docker.#Set for updating image metadata
Signed-off-by: Helder Correia <174525+helderco@users.noreply.github.com>
2022-01-31 22:44:55 -01:00
guillaume
ac30274d96 Implement modifications for engine.#Pull, engine.#Push, docker.#Push, docker.#Pull
Signed-off-by: guillaume <guillaume.derouville@gmail.com>
2022-01-31 23:14:35 +01:00
Vasek - Tom C
32b48f7dce
Optimize tests with simpler workflow
Signed-off-by: Vasek - Tom C <tom.chauveau@epitech.eu>
2022-01-28 22:04:16 +01:00
Tom Chauveau
26b2ef8697
Add tests on docker.#Build definition
- Simple build test
- Multi step to build a go binary

Signed-off-by: Vasek - Tom C <tom.chauveau@epitech.eu>
2022-01-28 21:17:33 +01:00
Joel Longtine
cc54aa6795 Clean up changes from #1505
Signed-off-by: Joel Longtine <joel@dagger.io>
2022-01-28 11:15:44 -07:00
Joel Longtine
0de625e1c3 cue fmt
Signed-off-by: Joel Longtine <joel@dagger.io>
2022-01-28 10:57:30 -07:00
Joel Longtine
6db42168e4 Tests!
Signed-off-by: Joel Longtine <joel@dagger.io>
2022-01-28 10:57:30 -07:00
Joel Longtine
dcef2958cf Use image.config in docker.#Run
Signed-off-by: Joel Longtine <joel@dagger.io>
2022-01-28 10:57:25 -07:00
Richard Jones
da58dfa5a4
fixed shadowing
Signed-off-by: Richard Jones <richard@dagger.io>
2022-01-28 10:06:02 -07:00
Richard Jones
23b07215d8
fix universe packages
Signed-off-by: Richard Jones <richard@dagger.io>
2022-01-27 20:20:37 -07:00
Vasek - Tom C
4ab852347b
Add test on docker.#Run
Signed-off-by: Vasek - Tom C <tom.chauveau@epitech.eu>
2022-01-22 13:33:23 +01:00
Andrea Luzzardi
a6330f8167
Merge pull request #1479 from aluzzardi/yarn-test-cleanup
test: clean up yarn test
2022-01-21 16:52:44 -08:00
Andrea Luzzardi
8ff72a5fa3 test: clean up yarn test
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2022-01-21 12:45:59 -08:00
Gerhard Lazu
d3f9fca4ef
Make changelog.com highlevel Europa run
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>
2022-01-21 19:49:28 +00:00
Andrea Luzzardi
5e950b6fe9 stdlib: expose dagger.#Source
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2022-01-20 16:50:53 -08:00
Andrea Luzzardi
5016cf5e30 netlify: Europa port
- Fix netlify.#Deploy (there's still FIXMEs)
- Externalize the `deploy.sh` script
- Add tests
- Misc engine fixes for more explicit error messages

Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2022-01-20 16:10:14 -08:00
Andrea Luzzardi
2ce9934f7c docker.#Build: support for nested builds
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2022-01-20 15:45:41 -08:00
Richard Jones
ec8e519e1e
$DAGGER -> dagger
Signed-off-by: Richard Jones <richard@dagger.io>
2022-01-19 16:19:07 -07:00
Richard Jones
da8bc373f9
removed platforms map, using multiarch digest
Signed-off-by: Richard Jones <richard@dagger.io>
2022-01-19 16:17:39 -07:00
Richard Jones
eed03d02ae
architecture -> platform
Signed-off-by: Richard Jones <richard@dagger.io>
2022-01-19 16:08:52 -07:00
Richard Jones
9a5fcfa5c5
renamed arch -> architecture
Signed-off-by: Richard Jones <richard@dagger.io>
2022-01-19 16:02:32 -07:00
Richard Jones
c8ef46eee0
added bats test file
Signed-off-by: Richard Jones <richard@dagger.io>
2022-01-19 16:02:32 -07:00
Richard Jones
963aa5c592
added architectures map for default versions
Signed-off-by: Richard Jones <richard@dagger.io>
2022-01-19 16:02:32 -07:00
Richard Jones
429b29679f
ported alpine to europa
Signed-off-by: Richard Jones <richard@dagger.io>
2022-01-19 16:02:32 -07:00
Andrea Luzzardi
568cd194a4 tests: Basic test infrastructure for Europa Universe
- 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>
2022-01-19 12:39:39 -08:00
Sam Alba
c887cfa4e3 Universe: yarn: leverage alpine packages for using base image
Signed-off-by: Sam Alba <samalba@users.noreply.github.com>
2022-01-19 11:17:07 -08:00
Sam Alba
f891065b9f Universe: fix alpine.#Build
Signed-off-by: Sam Alba <samalba@users.noreply.github.com>
2022-01-19 11:17:07 -08:00
Sam Alba
9650940dd5 Universe: yarn: leverage alpine packages for using base image
Signed-off-by: Sam Alba <samalba@users.noreply.github.com>
2022-01-19 11:17:07 -08:00
Sam Alba
c3f0800c56 Universe: yarn: updated docker.#Run syntax
Signed-off-by: Sam Alba <samalba@users.noreply.github.com>
2022-01-19 11:17:07 -08:00
Sam Alba
ce378d5095 Universe: docker, yarn: cue fmt
Signed-off-by: Sam Alba <samalba@users.noreply.github.com>
2022-01-19 11:17:07 -08:00
Andrea Luzzardi
c7ffdf788f WIP: Fix Europa yarn
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2022-01-19 11:17:05 -08:00
Helder Correia
17f0b8b1aa
Fix missing auth in docker.#Push
Signed-off-by: Helder Correia <174525+helderco@users.noreply.github.com>
2022-01-18 19:19:08 -01:00
Helder Correia
3956b8b59b
Fix docker.#Run compatibility with docker.#Build
Signed-off-by: Helder Correia <174525+helderco@users.noreply.github.com>
2022-01-15 20:01:06 -01:00
Solomon Hykes
91e71b1d58 Universe: fix "cue eval"
Signed-off-by: Solomon Hykes <solomon@dagger.io>
2022-01-14 18:58:56 +00:00
Solomon Hykes
537f2e6cbb Universe: docker: remove leftover hack
Signed-off-by: Solomon Hykes <solomon@dagger.io>
2022-01-14 18:13:16 +00:00
Gerhard Lazu
ffcc21a298
Merge pull request #1410 from helderco/port-copy
Port docker.#Copy to hidden fields
2022-01-13 08:43:55 +00:00
Helder Correia
a3f586c6ab
Port docker.#Copy to hidden fields
Signed-off-by: Helder Correia <174525+helderco@users.noreply.github.com>
2022-01-13 01:19:23 -01:00
Helder Correia
7592850c43
Fix issue with field in docker.#Push
Signed-off-by: Helder Correia <174525+helderco@users.noreply.github.com>
2022-01-13 01:16:55 -01:00
Andrea Luzzardi
f3dee47353 europa: vendor universe.dagger.io
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2022-01-11 18:09:09 -08:00