Commit Graph

167 Commits

Author SHA1 Message Date
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
Helder Correia
9385a6346a
Rename image config field for consistency
Signed-off-by: Helder Correia <174525+helderco@users.noreply.github.com>
2022-02-17 11:14:57 -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
sw360cab
e6244aeedc Add Feature to leverage custom command inside Docker.#Run
Signed-off-by: Sergio Maria Matone <sw360cab@gmail.com>
2022-02-11 01:02:44 +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
1f97da4eb9 Fix nested vendoring
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>
2022-01-31 17:06:00 -08:00
Andrea Luzzardi
676a895a0f
Merge pull request #1535 from helderco/docker-set
Set image metadata
2022-01-31 16:09:22 -08:00
Andrea Luzzardi
946629d1fa
Merge pull request #1534 from grouville/reconcile-auth
Reconcile docker.#Push.auth and engine.#Push.auth
2022-01-31 16:08:53 -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
d3dca120f7 Implement modifications for engine.#Dockerfile tests, and fix lint errors
Signed-off-by: guillaume <guillaume.derouville@gmail.com>
2022-02-01 00:35:02 +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
Helder Correia
813a476e06
Add outputs.files task to plan
Signed-off-by: Helder Correia <174525+helderco@users.noreply.github.com>
2022-01-31 20:53:54 -01:00
Andrea Luzzardi
025ce14ed3
Merge pull request #1526 from TomChv/fix/embed-sh-script
Embed shell script into universe
2022-01-28 15:22:26 -08:00
Vasek - Tom C
6f5095ec19
Fix permissions issue and doc generation issue
Signed-off-by: Vasek - Tom C <tom.chauveau@epitech.eu>
2022-01-28 23:17:52 +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
Vasek - Tom C
5de86cb1ee
Embed all files instead of just cue file
Signed-off-by: Vasek - Tom C <tom.chauveau@epitech.eu>
2022-01-28 22:02:21 +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
Richard Jones
4f2c6e55e4
added DecodeSecret as a wrapper to TransformSecret; supports yaml and json secrets
Signed-off-by: Richard Jones <richard@dagger.io>
2022-01-28 12:26:22 -07: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
b0b84db5e8 Close #ImageConfig
Signed-off-by: Joel Longtine <joel@dagger.io>
2022-01-28 10:59:09 -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
Joel Longtine
7788b9f2f3
Merge pull request #1505 from helderco/image-config
Make env in ImageConfig a map
2022-01-28 10:48:31 -07:00
Joel Longtine
7b8a637bea
Merge pull request #1519 from jlongtine/mod-get-europa
Remove dependence on project, use cue.mod path.
2022-01-28 10:39:25 -07:00
Richard Jones
da58dfa5a4
fixed shadowing
Signed-off-by: Richard Jones <richard@dagger.io>
2022-01-28 10:06:02 -07:00
Vasek - Tom C
fcd90fa78a
Solves #1512
Signed-off-by: Vasek - Tom C <tom.chauveau@epitech.eu>
2022-01-28 15:27:32 +01:00
Richard Jones
23b07215d8
fix universe packages
Signed-off-by: Richard Jones <richard@dagger.io>
2022-01-27 20:20:37 -07:00
Richard Jones
7eb10f96fb
engine.#Copy matches docker.#Copy
Signed-off-by: Richard Jones <richard@dagger.io>
2022-01-27 20:09:12 -07:00
Joel Longtine
b33d6b2243 Remove dependence on project, use cue.mod path.
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>
2022-01-27 16:54:42 -07:00
Gerhard Lazu
5719ccbc96
Add a new make target that provisions dagger-ci declaratively
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>
2022-01-26 23:13:59 +00:00
Helder Correia
c276a8b8ba
Make env in ImageConfig a map
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>
2022-01-26 17:12:08 -01:00
Gerhard Lazu
0be326ade9
Restore all disabled tests that depend on ssh
This requires us to spin up a new dagger-ci VM, as mentioned here:
https://github.com/dagger/dagger/pull/1493#issuecomment-1021080655

Signed-off-by: Gerhard Lazu <gerhard@lazu.co.uk>
2022-01-26 12:44:14 +00:00
Gerhard Lazu
2715b7b6d0
Merge pull request #1493 from aluzzardi/test-disable-ssh
test: disable tests relying on SSH
2022-01-25 11:15:51 +00:00
Andrea Luzzardi
b242a2b9bc test: disable tests relying on SSH
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2022-01-24 17:21:05 -08: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
4576b24f24 engine/types: revert change based from @aluzzardi feedback
Signed-off-by: Sam Alba <samalba@users.noreply.github.com>
2022-01-19 11:19:09 -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
Richard Jones
842a9bf6bb
moved #TransformSecret to engine/secret.cue
Signed-off-by: Richard Jones <richard@dagger.io>
2022-01-14 13:29:37 -07: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
Andrea Luzzardi
6abe77729e europa: Code Embedding POC
WIP PoC for code embedding

Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2022-01-14 01:34:47 -08:00
Andrea Luzzardi
5d832a15e8 vendoring: .gitignore universe.dagger.io
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2022-01-13 15:53:25 -08:00
Richard Jones
e59ba48ec0
added dockerfile: field back to force evaluation of disjunction
Signed-off-by: Richard Jones <richard@dagger.io>
2022-01-13 15:53:55 -07:00
Richard Jones
2745e1ae2e
refactored
Signed-off-by: Richard Jones <richard@dagger.io>
2022-01-13 15:53:30 -07:00
Richard Jones
729013ae91
rename engine.#Build to engine.#Dockerfile
Signed-off-by: Richard Jones <richard@dagger.io>
2022-01-13 15:53:06 -07:00
Richard Jones
05820f3a67
supports map of secrets; errors redact plaintext
Signed-off-by: Richard Jones <richard@dagger.io>
2022-01-13 15:06:08 -07:00
Richard Jones
86bf3bad86
transform secret
Signed-off-by: Richard Jones <richard@dagger.io>
2022-01-13 15:04:35 -07: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
guillaume
db54a43a91 Port #Subdir to hidden fields
@jlongtine just implemented the possibility to use hidden fields.
This PR uses this new implementation

Pair: @jlongtine

Signed-off-by: guillaume <guillaume.derouville@gmail.com>
2022-01-13 00:42:22 +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
Andrea Luzzardi
fb16ac8b29 vendoring: support multiple modules
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2022-01-11 16:51:54 -08:00
Andrea Luzzardi
4e04bf9d22 update europa dagger import path to dagger.io/dagger
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2022-01-11 16:40:26 -08:00
Andrea Luzzardi
f1e0487df4 move alpha.dagger.io/europa to dagger.io
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2022-01-11 16:34:35 -08:00