Release highlights:
- We added support for private repos for
dagger mod
: #1186 - Much of work since alpha-31 has been focused on building the core engine for our next major design, codenamed Europa.
- Our intent with Europa:
- Dramatically improving the developer experience and ergonomics of using Dagger, and remove some of the patterns that caused issues in configurations in the past.
- The new
dagger.#Plan
configuration schema is intended to simplify and consolidate inputs and outputs, secrets, and the actions that plans should take to execute CI/CD pipelines. - The new implementation of our core types is here: https://github.com/dagger/dagger/tree/main/pkg/dagger.io
- This includes low-level primitives for defining a
#Plan
, filesystem states (#FS
), and a number of engine tasks: https://github.com/dagger/dagger/tree/main/pkg/dagger.io/dagger/engine, including running shell commands, getting source code from git, reading and writing files, pulling and pushing containers, and building from aDockerfile
.
- This includes low-level primitives for defining a
- We are working on a new set of universe packages that utilize these low-level types: https://github.com/dagger/dagger/tree/main/pkg/universe.dagger.io
- These are still in very active development, and some of them simply don't work yet
- You can see examples of how the Dagger team has used Europa in our tests
- We are also in the process of converting the changelog.com dagger config (found here: https://github.com/thechangelog/changelog.com/blob/master/2021/dagger/prod_image/main.cue) to Europa, you can find our current versions here: https://github.com/dagger/dagger/tree/main/pkg/universe.dagger.io/examples/changelog.com
Install and Upgrade instructions: https://docs.dagger.io/1001/install/
Changelog
- d1fb5bc - Clean up plancontext/fs.go code - remove
@dagger(notimplemented)
fromengine.#Scratch
- e7f1649 A new CUE standard library for the Europa release
- 4d4fbb2 Actually unify with
#FS
- 15fa9b0 Add #Mkdir to engine fs definition
- b24bdbb Add Scope of Pull Requests section to the contributing guide
- 3af9ba1 Add
#Platform
field to#Plan
- 513638a Add default value to permissions to
#WriteFile
- f47dd3e Add docs
- 7de7752 Add env vars inside http.#Wait package to enable env dependency hacks with the package until a cleaner solution is found
- e11cb1b Add mkdir docs
- 09c427f Add mkdir task
- d2580f4 Add mkdir task tests
- c08f262 Add platform configuration in
plan.go
to set platform in context. - 01414f8 Add tests on plan platform configuration
- b118896 Add universe check version in europa up
- a90ff8a Allow for nil buildkit References
- 0142be4 Bump amplitude-js from 8.13.0 to 8.15.0 in /website
- cf5ce85 Bump concurrently from 6.4.0 to 6.5.1 in /website
- 299dc78 Bump cypress from 9.2.0 to 9.2.1 in /website
- 86366b1 Change Europa Core types ids
- d7621e2 Change test names
- 45de510 Clean up old code
- a429e0c Clean up old code
- 8d8ec5c Clean up table
- 9f9168a Clean up test code
- ec427af Clean up tests
- a7864a4 Complete move to
$dagger: task: _name
- 6825309 Create graphql package
- 79f8622 Docs: rewrite intro and "vs" to match landing page
- a3db716 Ensure we can Marshall #Scratch as CUE
- bf022b3 Europa: add dagger.#Plan.input.params
- 25d1656 Europa: cleanup docker.#Build
- 458d048 Europa: docker: split in smaller files
- 83ed9c3 Europa: engine.#HTTPFetch
- 4b2f0f9 Europa: engine.#Mkdir
- 34ec27d Europa: examples/changelog: fix elixir/mix package
- 2e58828 Europa: examples/changelog: move original config to orig/
- c1c585b Europa: integrate core packages, separate universe
- fee1a09 Europa: make some definitions private
- e264d50 Europa: move TODOLIST to issues
- 9e859e6 Europa: reconcile engine.#Exec spec with implementation
- 087b36b Europa: remove dagger.#Stream
- 5933620 Europa: remove implemented engine definitions from spec mock
- eb86b07 Europa: use
$dagger
field to mark CUE types for engine recognition - 1f28ce5 Finalize switch to
dagger: task: _name
- 870410b First pass at private repos
- dc8d6b7 First pass through changelog.com Europa port Uses the low-level engine API.
- fb48144 Fix Kubernetes hello-world-example URL 404
- 1160362 Fix netlify test (#1398)
- e6bbc5b Fix nits + comments
- 83d6f52 Fix nits + cue.mod I let slip through
- 5e03930 Fix quote & remove second quote - it's not a quote
- 7c137e7 Fix trivy termcaps loop on error
- 3cf443a Fix: #Subdir
- e37f4c3 Fix: update github PAT key as last one was outdated
- 6e28c05 Force another solve, so that the LLB created by the dockerfile.v0 frontend actually runs, as we expect it to.
- 19e701e Implement tests for #Subdir
- aaa893c Improve doc's main image loading time
- 75d5ab8 Initial pass at
engine.#Scratch
- failing - 3003b31 Make engine.#Scratch a specialization of #FS, rather than a task
- 25e4e1d Make the first line shorter & link better
- 7322359 MakePath rather than ParsePath
- 5b7b1ca Migrate dagger.#Secret and dagger.#Stream to new format
- 35498c4 Move dockerhub envvar to sops store
- 80a21cd Move pined packages to latest distro: core tests
- 7a398dc Port alpine version to 3.15.0
- bd49168 Port packages to latest versions + update netlify to latest CLI version + update aws to latest version
- 6427c9b Pull #CopyInfo back into #Copy
- 6f19d20 README: fix linter errors
- 9927b8d Refactor platform type to
string
to support any kind of platform - 522a70b Refresh README
- 8819a85 Remove
output
from#Readfile
- be3628d Remove
tests/cue.mod
- 31925af Remove comment
- fd6d1b5 Rename
mode
topermissions
infs.cue
- 7b7ee54 Resolve spec merge conflicts
- 6f2066f Reworded shell specific instructions.
- a184fe6 Smaller, cleaner test
- bd54621 Temporary disable eks test
- 8041714 Temporary skip netlify test
- 80a42be Update low-level changelog.com config README
- 12be9a7 WIP: engine.#Exec
- 8b4d025 We need to use the State() function, rather than Result().ToState()
- 8b5a801 Work in progress: re-write changelog.com example for Europa
- 348765b
dagger
->"$DAGGER"
- 64e9027 add git + argocd docs
- 7a4ed58 added back comments to satisfy docs
- eebbfcb added debug message
- 044c464 added debug message
- 6848755 added gitdir test
- 73e1229 added new test for input directories
- a49d794 added private repo test
- 0295dc6 added support for username:password
- 28cebb1 added test
- 2561f94 added trimSpace to inputs secrets
- 8ce33f6 adding #Address back to the engine schema
- c61d477 allowing --with to fill root object
- 94f59a7 alpha.dagger.io/dagger/engine -> alpha.dagger.io/europa/dagger/engine
- 6d4d10a changelog.com europa experiment
- 201ac39 check for concreteness in specialized types
- d03e345 ci: disabled several tests to debug CI issues in Docs tests
- 01d4706 ci: fix bats tests
- 200aca9 ci: handle non-release CUE versions
- 2601bc7 ci: moved website deploy in its own workflow to filter out paths
- 40e1b28 ci: reduced docs test suite timeout + disabled parallelization within a suite
- e81feba ci: upgrade localstack to latest release
- 94ed741 cleanup container after test
- 0768ac9 compiler: FillFields helper, cleaned up repeated code
- ee93811 conforming to llb api
- d43bc7d context -> input
- 009a44a context to inputs
- 7601433 cue fmt
- 6a7b5f3 cue fmt
- 0786271 cue fmt
- 3c0d9c5 cue fmt
- 69ee375 cue fmt
- f0978c1 cue fmt
- ceb1827 cue fmt
- 62b58f7 cue fmt
- 3224a0a cue fmt
- a7e285e cue fmt and package name fix
- 282759c cue modules: move stdlib to pkg/alpha.dagger.io
- 1b8ec6a cue: switch to dagger/cue fork
- cd9178f docs
- b311862 docs
- 89daebb engine spec: move core types to types.cue
- 2467fb1 engine.#Build support
- c86fd92 engine.#Build: fix optional fields in spec
- 7d40e79 engine.#Build: support auth
- 1ea035f engine.#Copy
- ffd7065 engine.#Exec: fix mount cache flaky test
- 6a70271 engine.#LoadSecret support
- ff6c7d1 engine.#Pull implementation
- bb93b9d engine.#Pull: don't apply image config
- dd2fef8 engine.#ReadFile
- 380c15f engine.#WriteFile
- 5f84072 engine: LoadSecret->NewSecret
- 9c81a15 engine: Make paths relative to the CUE file they're defined in
- 85a4825 engine: Pull: fix vertex name in logs
- 2f1f055 engine: Support plan outputs
- 2982a0d engine: Task PreRun Hook
- 8511402 engine: exec: add mount service tests
- e5de27f engine: exec: support mount concurrency
- 82cbea8 engine: exec: support uid/gid/mask for secret mounts
- 1d71f77 engine: fix hidden field path
- a61291a engine: redact dynamic secrets (e.g. #NewSecret)
- d82baa4 engine: task naming consistency
- 4feb2c7 europa: up: support --output
- e7d8f17 exec: mount: fs: support readonly mounts
- 1b49a47 fixed docs
- 3ca5bbe fixed docs
- e6207b4 fixed gosec issue
- c3d3ca4 fixed indentation
- feb685c fixed issue with disjunction that wouldnt resolve
- 146971c fixed linting errors
- a556877 fixed linting issue
- 9426e6c fixed pull_auth test
- 72708f9 fixed test by CD
- 96e9c04 fixed test files linting issues
- c422512 fixed test, and added more failure modes
- aa26856 fixes issue where dagger hands when input directory does not exist
- 40e1c9d fmt.Sprint
- c3e9883 image spec: fix linter
- 1d8834b implemented --with to fill inputs.params
- b082b1e implemented integration tests for engine.#Pull + moved auth code separately for sharing code with other tasks later
- 2569e76 implemented services unix and npipe complete with test
- bd005ae improved test case
- a25e6bb include hidden fields in concreteness check
- 6f4a5a7 initial test
- 03a740f input to inputs
- 7292d62 more tests
- 1384b02 more tests
- f1e0487 move alpha.dagger.io/europa to dagger.io
- ba91f15 moved to spec because engine.#Copy is currently unimplemented
- 140d753 moving some things back to package dagger
- b4bcbab passing struct to plan.Load
- 5c9965f passings args to cue loader to mimick cue eval
- 0be6a40 plan: added auth support to engine.#Pull
- 2b22d1c plan: improve log messages
- a58ca16 plancontext cleanup
- c881bc2 plancontext: use helpers to determine if CUE value is secret/fs/service
- 643d93c ported FetchHTTP to HTTPFetch
- 7ca8428 ported op.#FetchGit to engine.#GitPull
- 518d76c previous cd fixed cue loading but broke reference to dagger binary
- 1f99e42 reconciling command formats
- 83b10d4 refactored finding of cue.mod parent
- 6ca81da refactored log handling
- f50311d refactored test to use #ReadFile
- 026c764 refactored test to use CUE validations rather than container stdout
- 4e27937 refactored tests and added more
- 0ed6327 refactored tests to account for lib reorg
- a78b844 refactored to follow the original stream test
- e65b3cf refactored to handle errors better
- 6c5d7e5 remove empty lines
- 337ed0d remove hardcoded stdlib path
- a80c48f removed --no-cache
- 455ccc4 removed URL from docs
- b5b73a3 removed unnecessary leading new lines
- 4768425 renamed Import to LocalDirectory
- 2b95bf1 renamed files to avoid camelCase; moved token to common secrets file
- 498b204 reorganized files
- c15a7c6 reorganized spec vs implemented, reconciled gap
- 5ef138f secret exec
- 6aa4f6b secretfile: data -> plaintext
- 25ee708 semi-atomic vendoring to improve concurrency
- 2164875 solver: return digest when resolving images
- fdb4b94 state: moved stdlib lock to upper function to fix race condition
- c310a1b stdlib/bats: implemented integration tests
- 56dab10 stdlib/os/container: added ability to mount sockets (dagger.#Stream)
- e809e2b stdlib: implemented bats package for running bats script from dagger
- 9d3cd18 stdlib: implemented engine.#Push
- 4b7a143 stdlib: move core definitions to engine package
- c7759cb universe: skip sanity check (done twice)
- 4e04bf9 update europa dagger import path to dagger.io/dagger
- da05423 updated imports to europa/dagger
- a21bc46 use new dagger task name
- 33db6ab using "$DAGGER"
- fb16ac8 vendoring: support multiple modules