Commit Graph

250 Commits

Author SHA1 Message Date
Andrea Luzzardi
2b30580217 Support for partially running a DAG
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2022-01-13 15:52:13 -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
Richard Jones
b4bcbab311
passing struct to plan.Load
Signed-off-by: Richard Jones <richard@dagger.io>
2022-01-04 11:54:50 -07:00
Richard Jones
1d8834b9b1
implemented --with to fill inputs.params
Signed-off-by: Richard Jones <richard@dagger.io>
2022-01-04 10:23:21 -07:00
Sam Alba
f3caa342e8
Merge pull request #1279 from aluzzardi/europa-output
europa: up: support --output
2021-12-21 09:48:04 -08:00
Andrea Luzzardi
4feb2c7048 europa: up: support --output
Support `dagger up --output <file.json>` or `-` for stdout. This will
write the computed layer.

Can be used for tests, e.g.

```
run dagger up --output -
assert_output --partial foobar
```

Fixes #1220

Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-12-21 15:17:51 +01:00
Tom Chauveau
b1188960df
Add universe check version in europa up
Signed-off-by: Vasek - Tom C <tom.chauveau@epitech.eu>
2021-12-16 16:06:50 +01:00
Richard Jones
5c9965f10a passings args to cue loader to mimick cue eval
Signed-off-by: Richard Jones <richard@dagger.io>
2021-12-08 15:28:33 -07:00
Andrea Luzzardi
c881bc2dba plancontext: use helpers to determine if CUE value is secret/fs/service
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-12-07 14:16:14 -05:00
Andrea Luzzardi
201ac391b4 check for concreteness in specialized types
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-12-07 14:03:07 -05:00
Andrea Luzzardi
337ed0d1cc remove hardcoded stdlib path
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-12-01 17:33:35 -08:00
Andrea Luzzardi
5b7b1cab79 Migrate dagger.#Secret and dagger.#Stream to new format
- Refactored to keep every transformation of built-in types (e.g. FS,
  Secret, etc) to/from CUE in the same place (plancontext)
- dagger.#Service and dagger.#Secret are now following the new FS-like format
  (e.g. `_service: id: string`)
- Backward compatibility
- dagger.#Stream is now an alias for dagger.#Service

Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-12-01 17:33:35 -08:00
Andrea Luzzardi
0aea10d23e dagger.#FS support
- Implement dagger.#FS support
- Migrate `context.imports` to dagger.#FS
- Backward compat: dagger.#FS can be passed in lieu of a
  dagger.#Artifact
- For instance, an import (`dagger.#FS`) can be passed to the current
  `yarn.#Package` implementation

Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-11-30 12:58:50 -08:00
Andrea Luzzardi
6bedfb7c63
Merge pull request #1162 from aluzzardi/europa-context
europa: new execution engine and #Plan support
2021-11-29 16:14:14 -08:00
Andrea Luzzardi
81ec746d2c core: component -> task
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-11-24 16:58:24 -08:00
Andrea Luzzardi
2a4db167e4 runtime: new execution engine
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-11-24 16:51:52 -08:00
Andrea Luzzardi
cdcb09126b client: take localdirs as argument
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-11-24 16:13:30 -08:00
Andrea Luzzardi
b5e2ba63c6 runner: fix empty CUE value check
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-11-24 16:08:40 -08:00
guillaume
d9669216b6 Fix regression in error printing when Wrong Cue parsing
Signed-off-by: guillaume <guillaume.derouville@gmail.com>
2021-11-23 23:47:57 +01:00
Andrea Luzzardi
f7820b10e6
Merge pull request #1142 from aluzzardi/europa-plancontext
europa: prepare the transition to `#Plan.context`
2021-11-19 15:49:27 -08:00
Andrea Luzzardi
a61e8dcb62 prepare the transition to #Plan.context
This change helps the transition between `dagger input` and `#Plan.context`.

In summary, the codebase now relies on a *context* for execution with mapping to *IDs*.
In the future, *context* will come from a `#Plan.context`.
In the meantime, a bridge converts `dagger input` to a plan context. This allows both *old* and *new* style configurations to co-exist with the same underlying engine.

- Implement `plancontext`. Context holds the execution context for a plan. Currently this includes the platform, local directories, secrets and services (e.g. unix/npipe).
- Contextual data can be registered at any point. In the future, this will be done by `#Plan.context`
- Migrated the `dagger input` codebase to register inputs in a `plancontext`
- Migrated low-level types/operations to the *Context ID* pattern.
  - `dagger.#Stream` now only includes an `id` (instead of `unix` path)
  - `dagger.#Secret` still includes only an ID, but now it's based off `plancontext`
  - `op.#Local` now only includes an `id` (instead of `path`, `include`, `exclude`.

Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-11-19 11:29:38 -08:00
Tom Chauveau
9943085ef3
dagger mod get doesn't need an environment anymore to work.
Signed-off-by: Tom Chauveau <tom.chauveau@epitech.eu>
2021-11-19 14:30:53 +01:00
Andrea Luzzardi
d065a1f627 Revert "Improve version checking to also check universe"
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-11-09 18:58:09 -08:00
Sam Alba
a147f130ee cmd/input: added auto-detection for Windows named pipe
Signed-off-by: Sam Alba <samalba@users.noreply.github.com>
2021-11-08 17:17:33 -08:00
Sam Alba
6acc7e2c4d
Merge pull request #1085 from TomChv/feat/check-universe-version
Improve version checking to also check universe
2021-11-08 15:23:59 -08:00
Tom Chauveau
a63c4e989a
Change "arch" into "platform" because it's more accurate.
Signed-off-by: Tom Chauveau <tom.chauveau@epitech.eu>
2021-11-05 16:21:21 +01:00
Sam Alba
954192118e
Merge pull request #1074 from TomChv/feat/pipeline-platform-config
Handle running architecture configuration
2021-11-01 16:14:20 -07:00
Tom Chauveau
4a461a0021
Fix engine to don't write architecture in values.yaml if no one provided.
Signed-off-by: Tom Chauveau <tom.chauveau@epitech.eu>
2021-10-30 12:07:33 +02:00
Tom Chauveau
8eb01d850b
Fix context issue on dagger version
Signed-off-by: Tom Chauveau <tom.chauveau@epitech.eu>
2021-10-29 21:57:16 +02:00
Tom Chauveau
c808f4e828
Add tracking on dagger version
Signed-off-by: Tom Chauveau <tom.chauveau@epitech.eu>
2021-10-29 19:34:37 +02:00
Tom Chauveau
5f0a4202c9
Complete version checking with getUniverseCurrentVersion
Dagger now compare the remote universe version with the one written
in dagger.mod.

I've also added logs to easily debug code

Signed-off-by: Tom Chauveau <tom.chauveau@epitech.eu>
2021-10-29 19:31:59 +02:00
Tom Chauveau
927762481a
Fix dagger mod get to stop requiring environment
Signed-off-by: Tom Chauveau <tom.chauveau@epitech.eu>
2021-10-29 18:52:32 +02:00
Tom Chauveau
a3b6940d0b
Improve version checking to also check universe
In the future, universe will not be embedded anymore in dagger,
instead, it will be remotely vendor from `dagger/universe` repository.

To make sure that users always use the latest universe version, the
version checking now also verify that universe is not outdated.
If universe needs an update, a message is printed to standard output.

Signed-off-by: Tom Chauveau <tom.chauveau@epitech.eu>
2021-10-29 17:18:45 +02:00
Tom Chauveau
e9de597654
Update dagger new cmd to specify architecture when creating an environment
Signed-off-by: Tom Chauveau <tom.chauveau@epitech.eu>
2021-10-22 21:54:18 +02:00
Tom Chauveau
caa03a37cc
Update dagger engine to uses a given architecture instead of default one.
Check #1071 for more details

Signed-off-by: Tom Chauveau <tom.chauveau@epitech.eu>
2021-10-22 21:02:12 +02:00
Sam Alba
779dda1aca mod: added basic logging + context in sub libs
Signed-off-by: Sam Alba <samalba@users.noreply.github.com>
2021-10-22 11:02:34 -07:00
Sam Alba
e9ca8f38e6 Vendoring improved
* update dagger init with package manager downloading stdlib

Signed-off-by: Tihomir Jovicic <tihomir.jovicic.develop@gmail.com>

* split mod get and update functions

Signed-off-by: Tihomir Jovicic <tihomir.jovicic.develop@gmail.com>

* write to package checksum to dagger.sum when installing/updating

Signed-off-by: Tihomir Jovicic <tihomir.jovicic.develop@gmail.com>

* encure checksums are valid when compiling input

Signed-off-by: Tihomir Jovicic <tihomir.jovicic.develop@gmail.com>

* remove references to github.com/tjovicic in docs 1010 and 1011

Signed-off-by: Tihomir Jovicic <tihomir.jovicic.develop@gmail.com>

* refactor mod get command

Signed-off-by: Tihomir Jovicic <tihomir.jovicic.develop@gmail.com>

* update logic of moving dir when installing packages

Signed-off-by: Tihomir Jovicic <tihomir.jovicic.develop@gmail.com>

* fix linting errors

Signed-off-by: Tihomir Jovicic <tihomir.jovicic.develop@gmail.com>

* revert changes to 1010 docs

Signed-off-by: Tihomir Jovicic <tihomir.jovicic.develop@gmail.com>

* updating error log line in mod/get

Signed-off-by: Tihomir Jovicic <tihomir.jovicic.develop@gmail.com>

* fix ci tests when using vendoring

Signed-off-by: Tihomir Jovicic <tihomir.jovicic.develop@gmail.com>

* update alpha.dagger.io version to v0.1

Signed-off-by: Tihomir Jovicic <tihomir.jovicic.develop@gmail.com>

* fix mod repo test

Signed-off-by: Tihomir Jovicic <tihomir.jovicic.develop@gmail.com>

* return error if package already installed

Signed-off-by: Tihomir Jovicic <tihomir.jovicic.develop@gmail.com>

* remove already installed packages when installing

Signed-off-by: Tihomir Jovicic <tihomir.jovicic.develop@gmail.com>

* fix issue when vendoring stdlib

Signed-off-by: Tihomir Jovicic <tihomir.jovicic.develop@gmail.com>

* update mod command with filelock while installing

Signed-off-by: Tihomir Jovicic <tihomir.jovicic.develop@gmail.com>

* fix linting errors

Signed-off-by: Tihomir Jovicic <tihomir.jovicic.develop@gmail.com>

* fix path of mod lock file

Signed-off-by: Tihomir Jovicic <tihomir.jovicic.develop@gmail.com>

Co-authored-by: Tihomir Jovicic <tihomir.jovicic.develop@gmail.com>

Signed-off-by: Sam Alba <sam.alba@gmail.com>
2021-10-13 15:25:30 -07:00
Andrea Luzzardi
82fc36c76b tty logger: show multi-line messages
Support multi-line log messages rather than truncating and correctly
account terminal height.

Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-10-06 11:51:10 -07:00
Andrea Luzzardi
dd1bf18ec2 logger: TTY logs support (live update)
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-10-05 15:38:34 -07:00
Guillaume de Rouville
a7ca7e11ba Fix/dagger edit: wrong dir Path leads to infinite loop
Signed-off-by: Guillaume de Rouville <guillaume.derouville@gmail.com>
2021-09-26 20:56:22 +02:00
Richard Jones
7061ac816e
changed workspace to project
Signed-off-by: Richard Jones <richard@dagger.io>
2021-09-23 12:02:57 -06:00
Andrea Luzzardi
5480fb991d dagger.#Socket support
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-09-17 11:53:09 -07:00
Sam Alba
5de40f10bd
Merge pull request #969 from yamamoto-febc/flag-name-typo
Fix typos in flag names and error messages
2021-09-14 08:47:26 -07:00
Guillaume de Rouville
0273fead4d fix/bug: infinite loop non-existent input dir path
Signed-off-by: Guillaume de Rouville <guillaume.derouville@gmail.com>
2021-09-14 16:26:27 +02:00
Kazumichi Yamamoto
9dda32a6c6 Fix typos in flag names and error messages
Signed-off-by: Kazumichi Yamamoto <yamamoto.febc@gmail.com>
2021-09-14 20:34:16 +09:00
Sam Alba
47ef0a4c2a
Merge pull request #862 from tjovicic/package-manager
First version of package manager
2021-08-27 15:25:20 -07:00
Guillaume de Rouville
6fe0ec367a dagger input bool implementation
Signed-off-by: Guillaume de Rouville <guillaume.derouville@gmail.com>
2021-08-24 16:07:28 +02:00
Tihomir Jovicic
90d902fa77 fix mod get command tests
Signed-off-by: Tihomir Jovicic <tihomir.jovicic.develop@gmail.com>
2021-08-24 11:00:24 +02:00
Tihomir Jovicic
a6a6037d01 rename dagger.mod.cue to dagger.mod and remove the need for module name
Signed-off-by: Tihomir Jovicic <tihomir.jovicic.develop@gmail.com>
2021-08-24 10:16:29 +02:00
Tihomir Jovicic
8aaaacc9da Add package manager usage docs
Signed-off-by: Tihomir Jovicic <tihomir.jovicic.develop@gmail.com>
2021-08-23 12:30:19 +02:00