Commit Graph

286 Commits

Author SHA1 Message Date
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
Tihomir Jovicic
620a37715c create dagger.mod.cue file automatically
Signed-off-by: Tihomir Jovicic <tihomir.jovicic.develop@gmail.com>
2021-08-23 06:50:59 +02:00
Tihomir Jovicic
85e870f8dd Merge branch 'main' into package-manager 2021-08-23 06:37:47 +02:00
Tihomir Jovicic
a3d2f72ea3 create dagger.mod.cue file automatically
Signed-off-by: Tihomir Jovicic <tihomir.jovicic.develop@gmail.com>
2021-08-23 06:29:36 +02:00
Andrea Luzzardi
283a5f76a8
Merge pull request #901 from TomChv/fix/cli-global-flags
Fix env & log global flags are no longer hidden.
2021-08-20 17:16:53 +02:00
Tom Chauveau
8a7b5e1b63
Fix env & log global flags are no longer hidden.
There was a hack in `version.go` that was hiding unused flag from
that command.
The problem is that the effect has spread to all commands.

I've removed that trick to correctly display all flags because it's
important for users to know how select an environment and configure
log format.

Signed-off-by: Tom Chauveau <tom.chauveau@epitech.eu>
2021-08-20 17:06:22 +02:00
Andrea Luzzardi
b8dcc02bb8 performance: compile CUE client side
Restructured the compile logic to happen on the CLI instead of the
BuildKit frontend.

- Avoid uploading the entire workspace to BuildKit on every compilation
- Let the CUE loader scan the files instead of going through the
  BuildKit filesystem gRPC APIs.

Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-08-20 16:34:49 +02:00
Tom Chauveau
3c1c0f13f6
Improve dagger input UX (solve #874)
Add new argument `--show-optional` to `dagger input list`.
Now by default, `dagger input list` will only show required input.
To get all inputs (including those with default value), you can use
that new argument.

Test has been updated to support changes.

Signed-off-by: Tom Chauveau <tom.chauveau@epitech.eu>
2021-08-17 17:13:30 +02:00
Tihomir Jovicic
6a0b74416a support upgrading existing packages with empty mod get command
Signed-off-by: Tihomir Jovicic <tihomir.jovicic.develop@gmail.com>
2021-08-12 10:48:13 +02:00
Tihomir Jovicic
2102e78c1f test pulling private git repos using mod get command
Signed-off-by: Tihomir Jovicic <tihomir.jovicic.develop@gmail.com>
2021-08-12 09:59:28 +02:00
Tihomir Jovicic
050d1fcb3f add support for cloning private repos in mod get command
Signed-off-by: Tihomir Jovicic <tihomir.jovicic.develop@gmail.com>
2021-08-10 12:23:03 +02:00
Tihomir Jovicic
4f8128abcb fix installing packages using workspace dir
Signed-off-by: Tihomir Jovicic <tihomir.jovicic.develop@gmail.com>
2021-08-09 08:05:39 +02:00
Tihomir Jovicic
29ddcca32e fix mod command lint errors
Signed-off-by: Tihomir Jovicic <tihomir.jovicic.develop@gmail.com>
2021-08-09 07:48:45 +02:00
Tihomir Jovicic
c7653dc09c Update package manager dependency parsing
Signed-off-by: Tihomir Jovicic <tihomir.jovicic.develop@gmail.com>
2021-08-09 07:41:25 +02:00
Tihomir Jovicic
be913b0e90 update mod list tags tests
Signed-off-by: Tihomir Jovicic <tihomir.jovicic.develop@gmail.com>
2021-08-04 08:20:58 +02:00
Tihomir Jovicic
e5c8d6eee0 replace module.cue with dagger.mod.cue
Signed-off-by: Tihomir Jovicic <tihomir.jovicic.develop@gmail.com>
2021-08-02 11:17:42 +02:00
Tihomir Jovicic
92e6e693f5 fix linting issues
Signed-off-by: Tihomir Jovicic <tihomir.jovicic.develop@gmail.com>
2021-08-02 09:35:33 +02:00
Tihomir Jovicic
0010609f4d First version of package manager
Signed-off-by: Tihomir Jovicic <tihomir.jovicic.develop@gmail.com>
2021-08-01 21:22:48 +02:00
Andrea Luzzardi
67d5609aee support buildkit cache export/import
- Add support for buildkit cache export/import
- Enable GHA cache for universe test (using buildkit v0.9 GHA support)

Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-07-28 14:28:20 +02:00
Andrea Luzzardi
5bc0bff1b0 telemetry support
Fixes #832

Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-07-20 14:28:06 +02:00
Andrea Luzzardi
eb78661620 move versioning into the version package
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-07-19 17:43:45 +02:00
Sam Alba
f185088d85 cmd/up: fixed missing inputs error
Signed-off-by: Sam Alba <sam.alba@gmail.com>
2021-07-13 16:37:37 +02:00
Sam Alba
79d2e726a2 cmd: ported code to new client function signature, force one client per session
Signed-off-by: Sam Alba <sam.alba@gmail.com>
2021-07-13 16:16:17 +02:00
Sam Alba
ce7adc1fa4 cmd/up/compute: unify buildkit sessions to use only one
Signed-off-by: Sam Alba <sam.alba@gmail.com>
2021-07-13 14:55:49 +02:00
Andrea Luzzardi
b101e191b6
Merge pull request #778 from Alvise88/move-to-opentelemetry
Move to OpenTelemetry (#735)
2021-07-13 13:50:11 +02:00
Sam Alba
9473d54bfb cmd/common: restored no-cache behavior
Signed-off-by: Sam Alba <sam.alba@gmail.com>
2021-07-12 14:26:55 +02:00
Sam Alba
d1962b5bb6 cmd/input: validate cue code with new inputs before persisting to the workspace
Signed-off-by: Sam Alba <sam.alba@gmail.com>
2021-07-12 13:05:52 +02:00
Sam Alba
f726a4b84d cmd: added comment for input validation (per Andrea's pr comment)
Signed-off-by: Sam Alba <sam.alba@gmail.com>
2021-07-12 11:53:20 +02:00
Sam Alba
b37db8eedb cmd: implemented input validation when updating environment
Signed-off-by: Sam Alba <sam.alba@gmail.com>
2021-07-12 10:47:10 +02:00
Sam Alba
d4c8350c08 cmd: centralize code for buildkit client creation
Signed-off-by: Sam Alba <sam.alba@gmail.com>
2021-07-12 10:47:10 +02:00
Sam Alba
84acad8706 cmd: refacto client creation to use only one (fixes #798)
Signed-off-by: Sam Alba <sam.alba@gmail.com>
2021-07-12 10:47:10 +02:00
Alvise
99d2514aaa Move to OpenTelemetry
Signed-off-by: Alvise <vitalvise@gmail.com>
2021-07-09 09:47:36 +02:00
Andrea Luzzardi
41620e6383 list: use homedir rather than os/user
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-07-07 13:12:10 +02:00
Andrea Luzzardi
6e215b194e use the workspace as the plan module
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-07-07 13:12:10 +02:00
Andrea Luzzardi
919d5576d0 plan: default cue module to .
Fixes #699

Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-07-07 13:12:10 +02:00
Guillaume de Rouville
d5457d6d03 Skip Docker.#Local in bats tests (not working) + fix stdout redirection issue leading to warning loglevel and tests not failing on missing inputs
Signed-off-by: Guillaume de Rouville <guillaume.derouville@gmail.com>
2021-06-28 19:56:21 +02:00
Cornelius Toole
200a3d1a65 Hide unimplemented commands
Signed-off-by: Cornelius Toole <cornelius.toole@gmail.com>
2021-06-28 09:28:36 +02:00
Tom Chauveau
2fbb9e7744 Update import to alpha version
Signed-off-by: Tom Chauveau <tom.chauveau@epitech.eu>
2021-06-25 17:26:51 +02:00
Tom Chauveau
51fe199a39 Update doc generator to ignore tests directory
Signed-off-by: Tom Chauveau <tom.chauveau@epitech.eu>
2021-06-25 17:00:38 +02:00
Andrea Luzzardi
ecb53566e6 cmd doc: skip cue.mod
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-06-25 16:21:42 +02:00
Solomon Hykes
d7a805f42b stdlib: move all imports to alpha.dagger.io
Signed-off-by: Solomon Hykes <solomon@dagger.io>
2021-06-25 10:31:22 +00:00
Sam Alba
af82c2c910 docs: adds package description to the stdlib Index
Signed-off-by: Sam Alba <sam.alba@gmail.com>
2021-06-23 11:05:58 +02:00
Sam Alba
b03e695970 docs: stdlib index sorted alphabetically
Signed-off-by: Sam Alba <sam.alba@gmail.com>
2021-06-23 10:53:37 +02:00
Sam Alba
6ff2fed960 cmd/doc: add support for generating package index
Signed-off-by: Sam Alba <sam.alba@gmail.com>
2021-06-23 10:53:37 +02:00
Andrea Luzzardi
687c0e33a4 keychain: always ensure the default key is generated
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-06-17 17:23:11 +02:00
Andrea Luzzardi
b393ecc034 cleanup workspace interface
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-06-16 18:58:56 +02:00
Andrea Luzzardi
f39a88e644 cue native: environments can reference a module instead of embedding
one.

Fixes #631

Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-06-16 18:58:56 +02:00
Andrea Luzzardi
5f849bb13e cmd: dagger input edit -> dagger edit
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-06-16 18:58:56 +02:00
Sam Alba
776814910d cmd/doc: added import path + better titles for package fields
Signed-off-by: Sam Alba <sam.alba@gmail.com>
2021-06-16 12:14:26 +02:00
Andrea Luzzardi
12b712b741 docs generation: write package doc as README.md if there are sub-packages
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-06-09 18:42:23 -07:00
Andrea Luzzardi
ee8bcfafaa doc generation: refactor to allow multi-stage processing
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-06-09 18:42:10 -07:00
Andrea Luzzardi
fb3e5bbd43 input edit: allow renaming the environment
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-06-09 11:34:51 -07:00
Andrea Luzzardi
606398b69a docs: don't create docs file for empty packages
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-06-08 18:33:39 -07:00
Andrea Luzzardi
b53e2136b7 cmd docs: add frontmatter metadata
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-06-08 18:29:02 -07:00
Andrea Luzzardi
de3ffe0610 cmd docs: fix markdown linter
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2021-06-08 18:10:01 -07:00
Sam Alba
a7f4cd069f cmd/output: do not display cue code when value is a struct
Signed-off-by: Sam Alba <sam.alba@gmail.com>
2021-06-07 13:27:40 +02:00
Sam Alba
1bfb8d4369 cmd/doc: fixed outputs label
Signed-off-by: Sam Alba <sam.alba@gmail.com>
2021-06-07 11:53:03 +02:00
Sam Alba
669a47a159 cmd/doc: implemented stdlib walk
Signed-off-by: Sam Alba <sam.alba@gmail.com>
2021-06-04 16:33:02 +02:00
Sam Alba
3b92f70416 cmd/doc: added support for json
Signed-off-by: Sam Alba <sam.alba@gmail.com>
2021-06-04 09:01:32 +02:00
Sam Alba
dd8aae893c cmd/doc: added support for markdown
Signed-off-by: Sam Alba <sam.alba@gmail.com>
2021-06-04 09:01:32 +02:00
Sam Alba
92d993f434 cmd/doc: added support for text format
Signed-off-by: Sam Alba <sam.alba@gmail.com>
2021-06-04 09:01:32 +02:00
Sam Alba
8c3c934f3c doc: finished structure, supports title
Signed-off-by: Sam Alba <sam.alba@gmail.com>
2021-06-04 09:01:32 +02:00
Sam Alba
7b4421b9a0 cmd/doc: boiler plate and for inputs / outputs scanning
Signed-off-by: Sam Alba <sam.alba@gmail.com>
2021-06-04 09:01:32 +02:00
Sam Alba
66929f8a63 compiler.Value abstraction for docstring and incompletekind
Signed-off-by: Sam Alba <sam.alba@gmail.com>
2021-06-04 09:01:32 +02:00
Andrea Luzzardi
14a83a0680
Merge pull request #530 from samalba/env-outputs
Support Outputs list
2021-06-01 19:47:47 -07:00