- 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>
- Remove unnecessary Fill() in Export()
- Change `set()` and the way we store outputs so we don't fill
intermediaries as much
- WIP: Scan the tree only once. Changed LocalDirs to use cueflow rather than
doing our own Walk. In a follow up we should use the same flow
instance.
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
Now using the same pattern as Go's http package.
- the `compiler.Compiler` struct can be used directly (and tests to do
to avoid messing with the global version)
- `compiler.DefaultCompiler` contains a public default Compiler instance
- `compiler` exposes proxy functions (e.g. Compile) back to the
DefaultCompiler
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
This PR embeds the stdlib into the dagger binary itself for convenience.
Long term we will want to source the stdlib directly from git.
- Updated go to 1.16 to use the new built-in embedding functionality
- The `stdlib` go package now contains an embed of the stdlib
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
- Standard library is hosted at github.com/blocklayerhq/dagger-stdlib
- When dagger repo is made public, stdlib can be hosted from same repo
- Vendored cue.mod is merged with stdlib at file granularity
- When developing dagger, set DAGGER_DEV_STDLIB to a local stdlib
directory
Signed-off-by: Solomon Hykes <sh.github.6811@hykes.org>
- Temporarily disable export of base.cue as it causes merge errors at
the end of compute
- Fixes for JSON export for Scalar and Lists
- Add YAML export
- Removed BOOL and NUMBER support, using JSON for now
- Re-enabled all export tests
Fixes#36
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
due to using an old snapshot of cue.Value, components relying on
dependent tasks were failing because of non-concretness.
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
Exporting base/input/output separately causes merge errors.
For instance, `foo: string | *"default foo"` gets serialized as
`{"foo":"default foo"}`, which will fail to merge if output contains
a different definition of `foo`.
This change temporarily merges the 3 streams together before
serializing.
Fixes#51
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>