Commit Graph

143 Commits

Author SHA1 Message Date
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
Guillaume de Rouville
1160362711
Fix netlify test (#1398)
Netlify test was breaking due to a regression in prettyjson library.
The Netlify team fixed the cli, upgrading it to version 8.6.21 solves the issue

@pairs: @jlongtine

Signed-off-by: guillaume <guillaume.derouville@gmail.com>
2022-01-11 16:01:33 -08:00
Andrea Luzzardi
282759c0e5 cue modules: move stdlib to pkg/alpha.dagger.io
In preparation for Europa, we will vendor multiple CUE modules:

- `pkg/alpha.dagger.io`: legacy non-europa packages
- `pkg/dagger.io`: core Europa packages
- `pkg/universe.dagger.io`: Europa universe

Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2022-01-11 13:16:37 -08:00
Andrea Luzzardi
af776b8abe cleanup: move packages to top level, change vanity URL
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-05-25 16:54:00 -07:00
Sam Alba
57a168e6b5 pkg: removed unused code
Signed-off-by: Sam Alba <sam.alba@gmail.com>
2021-05-21 16:10:07 -07:00
Sam Alba
54e8a6262d implemented @dagger(input) attributes to detect inputs
Signed-off-by: Sam Alba <sam.alba@gmail.com>
2021-05-21 16:04:02 -07:00
dependabot[bot]
e43532b6fc build(deps): bump github.com/moby/buildkit from 0.8.2 to 0.8.3
Bumps [github.com/moby/buildkit](https://github.com/moby/buildkit) from 0.8.2 to 0.8.3.
- [Release notes](https://github.com/moby/buildkit/releases)
- [Commits](https://github.com/moby/buildkit/compare/v0.8.2...v0.8.3)

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-05-04 12:46:29 -07:00
Andrea Luzzardi
1abae70ff6 Revert "build(deps): bump github.com/moby/buildkit from 0.8.2 to 0.8.3"
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-04-30 16:09:18 -07:00
dependabot[bot]
f8aee1f0cc build(deps): bump github.com/moby/buildkit from 0.8.2 to 0.8.3
Bumps [github.com/moby/buildkit](https://github.com/moby/buildkit) from 0.8.2 to 0.8.3.
- [Release notes](https://github.com/moby/buildkit/releases)
- [Commits](https://github.com/moby/buildkit/compare/v0.8.2...v0.8.3)

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-04-30 10:08:52 -07:00
Tony Worm
6488d41603 add cmd/input/list to scan a plan for inputs
Signed-off-by: Tony Worm <tony@hofstadter.io>
2021-04-22 17:39:36 -04:00
Tom Chauveau
32d523aa71 tests(stdlib/k8s/helm): test basic helm chart
tests(stdlib/k8s/helm): add verification
style(tests/): rename helper into verify to confirm that deployments works

Signed-off-by: Tom Chauveau <tom.chauveau@epitech.eu>
2021-04-15 14:24:42 +02:00
Tom Chauveau
592cc040ca feat(buildkit): run buildkit container in net host to reach local kubernetes cluster
Signed-off-by: Tom Chauveau <tom.chauveau@epitech.eu>
2021-04-15 12:37:32 +02:00
Andrea Luzzardi
3f9103c8aa buildkit: support concurrent starts
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-04-15 01:20:25 -07:00
Andrea Luzzardi
d7e9c91b01 buildkit: wait for buildkitd to be ready before connecting
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-03-17 14:54:51 -07:00
Andrea Luzzardi
8e9a432caf buildkitd: store state persistently in a volume
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-03-02 18:53:15 -08:00
Andrea Luzzardi
14ff14ea4f automatically start/upgrade buildkitd
- Automatically start a buildkit daemon if no BUILDKIT_HOST is
  provided (and if not already started)
- Customization of BUILDKIT_HOST is still possible, just like before
- Automatically upgrade the managed daemon to the version used by dagger
  if necessary
- Add CI test to make sure the managed buildkit and the vendored
  buildkit versions match

Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-03-02 18:37:30 -08:00
Andrea Luzzardi
a9443bc0d2 pkg/progressui: customization callbacks
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-02-23 15:34:41 -08:00
Andrea Luzzardi
e40983b7b7 import a copy of buildkit progressui
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-02-23 15:33:13 -08:00