#github-feed

1 messages · Page 24 of 1

vivid lintelBOT
#

Bumps sass from 1.42.1 to 1.43.2.

Release notes
Sourced from sass's releases.

Dart Sass 1.43.2
To install Sass 1.43.2, download one of the packages below and add it to your PATH, or see the Sass website for full installation instructions.
Changes

Improve the error message when the default namespace of a @use rule is not a valid identifier.

See the full changelog for changes in earlier releases.
Dart Sass 1.43.1
To install Sass 1.43.1, download one of...

vivid lintelBOT
#

Bumps golang.org/x/mod from 0.4.2 to 0.5.1.

Commits

49f84bc [release-branch.go1.17] modfile: in SetRequireSeparateIndirect, convert lines...
57376c6 [release-branch.go1.17] modfile: in SetRequireSeparateIndirect, arrange requi...
0f08993 modfile: add SetRequireSeparateIndirect
22458ad modfile: factor out methods for changing Require properties
9eb10b1 modfile: make marking for removal a method on Line instead of FileSyntax
6e4e729 modfile: clean up SetRequir...

vivid lintelBOT
vivid lintelBOT
#

Bumps @docusaurus/core from 2.0.0-beta.6 to 2.0.0-beta.7.

Release notes
Sourced from @​docusaurus/core's releases.

2.0.0-beta.7 (2021-10-15)
:rocket: New Feature

docusaurus-module-type-aliases, docusaurus

#5683 feat: make Translate children optional (@​lex111)

docusaurus-theme-classic, docusaurus-theme-common

#5674 polish(theme-classic): guard against potential definition mistakes in Tabs (@​Josh-Cena)
#5618 feat: ...

vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

Issue

To support the multi-architecture with Dagger and solve #106, it's necessary to improve the engine to handle other architecture than the remote one.

Here's a repro case to understand the problem

My computer supports amd64 so we got the following output :

package main

import (
	"alpha.dagger.io/dagger/op"
)

// Alpîne amd64
amd64: #up: [
	op.#FetchContainer & {
		ref: "docker.io/library/alpine:latest@sha256:69...
vivid lintelBOT
#

Bumps @docusaurus/core from 2.0.0-beta.6 to 2.0.0-beta.8.

Release notes
Sourced from @​docusaurus/core's releases.

2.0.0-beta.8 (2021-10-21)
:rocket: New Feature

docusaurus-plugin-content-blog

#5702 feat(content-blog): new readingTime plugin option (@​Josh-Cena)

docusaurus

#5740 feat(core): write-heading-ids options maintainCasing, overwrite (@​Josh-Cena)

docusaurus-plugin-content-docs

#5705 feat(content-docs): ...

vivid lintelBOT
vivid lintelBOT
#

Bumps sass from 1.42.1 to 1.43.3.

Release notes
Sourced from sass's releases.

Dart Sass 1.43.3
To install Sass 1.43.3, download one of the packages below and add it to your PATH, or see the Sass website for full installation instructions.
Changes

Improve performance.

See the full changelog for changes in earlier releases.
Dart Sass 1.43.2
To install Sass 1.43.2, download one of the packages below and add it to your PATH, or see the Sass website for ful...

vivid lintelBOT
#
  • Implemented proper logging in git transfer code
  • Implemented version selection for mods install and updates (add version constraints to a package)
  • Lock version of alpha.dagger.io to the latest 0.1.x version (will not break current dagger installs when upgrading stdlib to "> 0.1")
  • Required unit tests

Remote universe vendoring is still disabled but enabling it will be one-liner. This PR does not impact the user.

ornate vigilBOT
#

Separate CUE scopes for executable (“what”) and invocation (“how”)

Context

This is a written follow-up to a live conversation with @talentedmrjones. In that conversation we agreed on the following:

  1. Under the hood, dagger up involves two distinct components: the dagger client which compiles a CUE plan to LLB code and invokes its execution by builtkid; and the buildkitd daemon which actually executes the code.
  2. The defining feature of Dagger (at least according t...
ornate vigilBOT
#

I noticed in the Dagger documentation it explains that input values need to be provided at runtime because the "package system could be a source of attacks."
https://docs.dagger.io/1003/get-started/#define-input-values-per-environment

Could I get a bit more detail on how/why the package system is an attack vector, perhaps with some examples? Is it, for instance, dangerous to have a specially designated 'secrets.cue' file that is evaluated along with the rest of the package at runtime, and...

ornate vigilBOT
#

Dagger currently supports a secure implementation for secrets but we are working on a new interface for all inputs. As for packages being an attack vector imagine if I write a series of components that claim to do something, and perhaps they actually do, but they also siphon arbitrary (potentially sensitive files) from your Dagger host and send them back to me without you realizing. I could write a component that connects to your local docker daemon and uses it to launch crypto mining sof...

vivid lintelBOT
#

Bumps cypress from 8.6.0 to 8.7.0.

Release notes
Sourced from cypress's releases.

8.7.0
Released 10/25/2021
Features:

There are changes to how "slow" tests are determined and displayed in Cypress.
Addresses #18496.

Added a slowTestThreshold
configuration option to customize when tests are considered "slow" during
cypress run. A test that runs slower than the given threshold will display
in orange text in the default 'spec' repor...

vivid lintelBOT
#

Bumps sass from 1.43.3 to 1.43.4.

Release notes
Sourced from sass's releases.

Dart Sass 1.43.4
To install Sass 1.43.4, download one of the packages below and add it to your PATH, or see the Sass website for full installation instructions.
Changes
JS API

Fix a bug where the logger option was ignored for the render() function.

See the full changelog for changes in earlier releases.

Changelog
Sourced from sass's changelog.

1.43.4
JS API

Fix a bug whe...

ornate vigilBOT
#

In an effort to very clearly define and enforce a separation of concerns between code and data, between what is to be executed and how to execute I propose the following. In come cases a user may have predefined data that is always used for a particular plan and they want to include that in the same repo and track changes. In other cases different machines may pull the same data from different sources (env var vs remote stores, aws config vs aws-vault, etc). In other cases the data may be...

ornate vigilBOT
#

Overall this feels like the right direction just want to weigh in on some finer details such as Plan keys, their names and usage:

  • arch glad to see this come back :) it makes sense here
  • params remind me how is this used? how is it filled?
  • source why?
  • environment should be required. Partly for unambiguous log messages, partly for the relationship to state management, and because directory and file names aren't reliable sources for this value
  • runtime is to be filled b...
#

Also, so we don't lose this particular point: we should force a package name for the project. It will make loading files simpler, make it clear to the user that their CUE files are meant to be used by Dagger, and allow them to colocate other packages. Either way we are forcing something on the user:

  • If we allow arbitrary package names, we force them to put other packages in other directories
  • If we allow colocation of non-Dagger packages (stax, grafana, etc) we either
    • force a pack...
ornate vigilBOT
vivid lintelBOT
#

Bumps amplitude-js from 8.8.0 to 8.9.0.

Release notes
Sourced from amplitude-js's releases.

v8.9.0
8.9.0 (2021-10-28)
Features

eu dynamic configuration support (#439) (0618a90)

Changelog
Sourced from amplitude-js's changelog.

8.9.0 (2021-10-28)
Features

eu dynamic configuration support (#439) (0618a90)

Commits

57a47ca chore(release): 8.9.0 [skip ci]
0618a90 feat: eu dynamic configuration support (#439)
87e3a64 chore: switched ...

vivid lintelBOT
#

Bumps go.opentelemetry.io/otel/sdk from 1.0.1 to 1.1.0.

Release notes
Sourced from go.opentelemetry.io/otel/sdk's releases.

Release v1.1.0
Added

Add the "go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc".WithGRPCConn option so the exporter can reuse an existing gRPC connection. (#2002)
Add the go.opentelemetry.io/otel/semconv/v1.7.0 package.
The package contains semantic conventions from the v1.7.0 version of th...

#

Bumps go.opentelemetry.io/otel from 1.0.1 to 1.1.0.

Release notes
Sourced from go.opentelemetry.io/otel's releases.

Release v1.1.0
Added

Add the "go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc".WithGRPCConn option so the exporter can reuse an existing gRPC connection. (#2002)
Add the go.opentelemetry.io/otel/semconv/v1.7.0 package.
The package contains semantic conventions from the v1.7.0 version of the OpenTe...

#

Bumps go.opentelemetry.io/otel/trace from 1.0.1 to 1.1.0.

Release notes
Sourced from go.opentelemetry.io/otel/trace's releases.

Release v1.1.0
Added

Add the "go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc".WithGRPCConn option so the exporter can reuse an existing gRPC connection. (#2002)
Add the go.opentelemetry.io/otel/semconv/v1.7.0 package.
The package contains semantic conventions from the v1.7.0 version o...

#

Bumps go.opentelemetry.io/otel/exporters/jaeger from 1.0.1 to 1.1.0.

Release notes
Sourced from go.opentelemetry.io/otel/exporters/jaeger's releases.

Release v1.1.0
Added

Add the "go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc".WithGRPCConn option so the exporter can reuse an existing gRPC connection. (#2002)
Add the go.opentelemetry.io/otel/semconv/v1.7.0 package.
The package contains semantic conventions fro...

vivid lintelBOT
#

TL;DR

  • Update checkVersion to also check universe.

Changes

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 verifies that universe is not outdated.
If universe needs an update, a message is printed to standard output.

Signed-off-by: Tom Chauveau

ornate vigilBOT
ornate vigilBOT
#

We are getting closer :)

Here is my list of outstanding questions and comments, and an example to wrap it all it up.

Outsdanding questions and comments

Convention for Cue package name

Dagger should define the following convention for use of the package clause in Cue files:

  • All cue files in your Dagger project should define a package with the package clause
  • The convention is to use main as the package name
  • Expert Cue developers may break from this convention...
ornate vigilBOT
#

Environment field

By default, a plan is single-tenant: there is no need to think about environments since there is only one implicit environment.
A project may have many distinct plans, (dev, stage, prod, uat, pre-prod, etc) and even though they may share common config, it makes sense to require that they each be uniquely identified. The path and filename is not enough since they could change, multiple files could be involved, or they could be named in a way that does not directl...

mental terrace
#

more later, I need to go for a walk

ornate vigilBOT
#

Feeback

Buildkit host configuration

I am not strongly opposed to adding the buildkit configuration, but wondering if it really belongs there.

I think we shouldn't add buildkit configuration directly in plan's files. A plan defines a pipeline that will be processed by dagger engine working with buildkitd.
IMO if a user wants to add some configuration on buildkit, that should be done with the CLI or through a file external to the plan.

That has no sense to mix th...

ornate vigilBOT
#

@samalba can you weigh in on buildkit config? I recall you seemed to think it makes sense in the plan for various reasons.

My take is that if the setting is external, then 1) you add complexity in loading that separate config, and 2) its global meaning that all plans use the same buildkit config, but that is not flexible. In cases where a user has multiple plans, say local and prod I can easily imagine wanting to config my local plan to use a Dagger-installed buildkit daemon on my lo...

ornate vigilBOT
#

Taking a step back. At this point there are various minor / cosmetic points to discuss (see my other comment for a non-exhaustive list). But there is a more pressing issue we should address first: what does a complete working plan look like? In particular when developing an action, say “deploy to netlify”, what does the package code look like, and how does it change the DX compared to today?

I would prefer that we prioritize getting a clear answer on the DX, rather than debating minor poin...

vivid lintelBOT
#

Bumps cypress-localstorage-commands from 1.5.0 to 1.6.0.

Release notes
Sourced from cypress-localstorage-commands's releases.

Support NodeJS v17
Changed

chore(deps): Update devDependencies
chore(deps): Support any NodeJs version greater than 10.x

Changelog
Sourced from cypress-localstorage-commands's changelog.

[1.6.0] - 2021-11-01
Changed

chore(deps): Update devDependencies
chore(deps): Support any NodeJs version greater...

ornate vigilBOT
#
  1. you add complexity in loading that separate config

I'm not sure is that complex, it's just an optional file like you can have a .prettierc for javascript or .XXXX for any framework that requires a config file.

We will win in clarity and that embrace the Single Responsibility Principle.

  1. its global meaning that all plans use the same buildkit config, but that is not flexible. In cases where a user has multiple plans, say local and prod I can easily imagine wanting to conf...
vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

Bumps amplitude-js from 8.8.0 to 8.9.1.

Release notes
Sourced from amplitude-js's releases.

v8.9.1
8.9.1 (2021-11-02)
Bug Fixes

allow amplitude to be imported/required during SSR (#436) (ff7d8ef)

v8.9.0
8.9.0 (2021-10-28)
Features

eu dynamic configuration support (#439) (0618a90)

Changelog
Sourced from amplitude-js's changelog.

8.9.1 (2021-11-02)
Bug Fixes

allow amplitude to be imported/required during SSR (#436) (ff7d8ef)

8.9.0...

#

Bumps google.golang.org/grpc from 1.41.0 to 1.42.0.

Release notes
Sourced from google.golang.org/grpc's releases.

Release 1.42.0
Behavior Changes

grpc: Dial("unix://relative-path") no longer works (#4817)

use "unix://absolute-path" or "unix:relative-path" instead in accordance with our documentation

xds/csds: use new field GenericXdsConfig instead of PerXdsConfig (#4898)

New Features

grpc: support grpc.WithAuthority when...

#

Bumps @docusaurus/core from 2.0.0-beta.6 to 2.0.0-beta.9.

Release notes
Sourced from @​docusaurus/core's releases.

2.0.0-beta.9 (2021-11-02)
:rocket: New Feature

docusaurus-theme-classic, docusaurus-theme-common

#5770 feat(theme-classic): allow specifying width/height in logo (@​cerkiewny)

docusaurus-types, docusaurus

#5841 feat: allow user to specify deploymentBranch property in docusaurus.config.js (@​wpyoga)

d...

ornate vigilBOT
#

Intro

In its current state, this is more of a brain dump with a straw man proposal rather than a full fledged proposal. Just enough to get some ideas bouncing.

Background

Currently, the concept of computation (e.g. a set of compute operations) and data (e.g. the resulting filesystem from the computation) are mixed together as a single concept, dagger.#Artifact with an open definition:

// An artifact such as source code checkout, container image, binary arch...
vivid lintelBOT
#

Bumps github.com/containerd/containerd from 1.5.4 to 1.5.7.

Release notes
Sourced from github.com/containerd/containerd's releases.

containerd 1.5.7
Welcome to the v1.5.7 release of containerd!
The seventh patch release for containerd 1.5 is a security release to fix CVE-2021-41103.
Notable Updates

Fix insufficiently restricted permissions on container root and plugin directories GHSA-c2h3-6mxw-7mvq

See the changelog for complete list of changes...

ornate vigilBOT
#

Overall I like it, it's more explicit (for instance: referencing the .fs key instead of the bare component key).

However we should be careful with root definitions:

For example, instead of:

#Directory: {
	@dagger(directory)
	id: string
}

I would do:

#Directory: {
	@dagger(directory)
	directoryID: string
}

Without it, #Secret and #Directory are likely to have the same definition keys and it won't be possible to use indections such as `myKey: #S...

ornate vigilBOT
#

@samalba can you weigh in on buildkit config? I recall you seemed to think it makes sense in the plan for various reasons.

Sorry for the delay, I was digesting the whole thread. Thinking about the buildkit config in the plan or not. Overall we only need info that we can act upon (i.e. Architectures supported and OS are useful and needed in the plan). The buildkit host needs to be configurable by the Ops (who setup the CI infra), but not necessarily the developer of a Plan (note that it c...

vivid lintelBOT
ornate vigilBOT
vivid lintelBOT
#

Intro

With #1087, it's now possible to config one architecture when you run a pipeline.
The aim is to improve that to :

  • Add another layer of configuration that targets one pipeline and not the whole plan.
  • Specify architecture directly in cue
  • Manage multiple architectures in a single plan.

This way, we will be able to :

  • Build & push multi-architecture images and then resolve dubo-dubon-duponey/docker-images#11
  • Create multi-arch CI/CD for multi-platform applicatio...
ornate vigilBOT
#

That looks smooth, the more we type our cue and pipeline, the more it's safe and easy to use.

There are a couple alternative DX here:

  • Merging
  • Wrapping (disclaimer: my favorite so far)
  • Embedding (is it possible?)

I think wrapping or embedding is the best solution, it feels more natural and we can understand what happens in a single reading.

Given dagger.#Pipeline is now closed, do we still need #up to be a def? I guess not, we could simply rename it to up....

vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
ornate vigilBOT
#

@shykes as far as I'm aware things should be working with hidden fields. e.g.

go mod tidy
go run main.go
cmp stdout stdout.golden

-- cue.mod/module.cue --
module: "mod.com"
-- go.mod --
module mod.com

go 1.16

require cuelang.org/go v0.4.0
-- main.go --
package main

import (
	"fmt"

	"cuelang.org/go/cue"
	"cuelang.org/go/cue/cuecontext"
	"cuelang.org/go/cue/load"
)

func main() {
	ctx := cuecontext.New()
	bps := load.Instances([]string{"."}, nil)
	v := ctx...
ornate vigilBOT
ornate vigilBOT
#

Regarding a live conversation with @shykes @samalba @aluzzardi and @jlongtine as it relates specifically to context: env, context: settings, as well as context in general.

@shykes raised a good point that context: env: is inherently opinionated in that it assumes that values even come from environment variables to begin with and proposed an alternative with context: settings: (or context: params:) with the values being filled by command line flags. While this technically works ...

vivid lintelBOT
vivid lintelBOT
#

It appears that when I connect to my private registry for a build, I get an unauthorized response unless the target includes a repo (even if it doesn't exist).

package main

import (
    "alpha.dagger.io/dagger"
    "alpha.dagger.io/dagger/op"
)

#Auth: {
    target: dagger.#Input & {string}
    username: dagger.#Input & {string}
    secret: dagger.#Input & {dagger.#Secret | string}
}

// Add `auths` to `docker.#Build`
#Build: {
    source: dagger.#Input & {dagger.#A...
ornate vigilBOT
vivid lintelBOT
#

When trying to implement the #graphQL package with @slumbering, and using the docker.#Run package with a local registry, we encountered dependency issues related to the fact that docker.#Run cannot expose an URL on which a dependency could be created:

// run our local registry
registry: docker.#Run & {
    ref:  "registry:2"
    name: "registry-local"
    ports: ["5042:5000"]
    socket: dockerSocket
    url: "localhost:5042/graphql"
}

push: docker.#Push & {
    target:...
vivid lintelBOT
#

A checklist of things we should consider as we progress towards #1058 & #1095 ([as discussed on Discord here](#dev message))

cue performance, faulty dependency detection, broken cue type checking, broken buildkit caching, cue cycles

  • [ ] CUE performance
  • [ ] faulty dependency detection/Loss of dependencies in cue/flow?
  • [ ] "Death by recursion" - @aluzzardi
    • [ ] Recursive CUE Definitions
    • [ ] Some...
vivid lintelBOT
#

Bumps github.com/moby/buildkit from 0.9.1 to 0.9.2.

Release notes
Sourced from github.com/moby/buildkit's releases.

v0.9.2
https://hub.docker.com/r/moby/buildkit
Notable changes

Fix handling authentication requests with multiple scopes #2431
Fix a possible deadlock when pushing items from one registry to another #2403
Fix issues with concurrent cache export requests #2410
Fix handling external blob deletions when reexporting cache with Github Actions bac...

#

Bumps github.com/rs/zerolog from 1.23.0 to 1.26.0.

Commits

6973188 Add support for dicts in array (#375)
78448ee New TestWriter for logging to testing.TB (#369)
197adb4 Bump golang.org/x/tools from 0.1.5 to 0.1.7 (#370)
07d347e Update zerologr url (#364)
6f8a5f9 Add Stringers support (#360)
9b9fc5c Update zerologr url (#359)
65adfd8 Make Fields method accept both map and slice (#352)
cdd7417 Allow arbitrary negative levels (#350)
fe93100 Make RemoteAddrHandl...

vivid lintelBOT
#

Currently, most examples work out of the box on Windows, unless the config requires access to the local docker socket (eg. "Getting started" from the docs).

We need to implement npipe support for Windows so the client can proxy \\.\pipe\docker_engine (host) to /var/run/docker.sock (WSL).

This last change should unblock all windows users with a decent support as soon as it's released.

Assigning to myself.

vivid lintelBOT
vivid lintelBOT
#

In preparation of validating the improved Core Type System https://github.com/dagger/dagger/pull/1102, here's a recollection of problems we've had with the current runtime due to nesting.

What is nesting?

Nesting is the practice of passing data from a pipeline to another by referencing the pipeline itself.

For instance, an #Artifact (a compute pipeline, e.g. something with #up) can mount another #Artifact by passing a reference to it:

a: #up: [
  op.#FetchContai...
vivid lintelBOT
#

llb2 is a low-level API to assemble and run buildkit DAGs in Cue.

It aspires to replace the low-level API currently used by Dagger, which we refer to as “llb1”.

What is llb1?

Wewill refer to the current low-level API as “llb1” even though there is no actual package with that name. “llb1” is an implicit API which includes:

  • Low-level operations defined in alpha.dagger.io/dagger/op
  • Imperative DSL to assemble Dockerfile-like arrays as Cu...
vivid lintelBOT
#

This is multiple problems, very possibly related, found by @kzap while following the getting started tutorial.

Problem #1: no secret keys

For some reason, the keys.txt file was corrupted (missing the key information):

$ dagger new local -p ./plans/local
9:16PM FTL system | failed to create environment: failed to parse input: no secret keys found

$ cat ~/.config/dagger/keys.txt
# created: 2021-11-09T21:03:15-05:00

Problem #2: Panic on dagger init

...
vivid lintelBOT
#

Bumps github.com/docker/buildx from 0.6.2 to 0.7.0.

Release notes
Sourced from github.com/docker/buildx's releases.

v0.7.0-rc1
Welcome to the 0.7.0-rc1 release of buildx!
This is a pre-release of buildx
Please try out the release binaries and report any issues at
https://github.com/docker/buildx/issues.
Notable Changes

TLS certificates from BuildKit configuration are now transferred to build container in container and kubernetes drivers #787
Allow using ...

vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

I don't really think there is an issue with dagger, it could be my understanding of CUE.

I know the following example looks silly, but I'm trying to use the basis of this structure in a definition for a more complex scenario and this is where it's failing:

package main

import (
    "alpha.dagger.io/os"
)

one: os.#Container & {
    image: os.#Container  // `os.#DefaultImage` works
    command: "touch /one"
}

two: os.#Container & {
    image: one  // is this empty?
...
vivid lintelBOT
#

Bumps cypress-localstorage-commands from 1.6.0 to 1.6.1.

Release notes
Sourced from cypress-localstorage-commands's releases.

Support Cypress >=2.1.0
Changed

chore(#382): Use Cypress v9 in E2E tests
chore(#382): Support any Cypress version greater than 2.1.0
chore(deps): Update devDependencies

Changelog
Sourced from cypress-localstorage-commands's changelog.

[1.6.1] - 2021-11-11
Changed

chore(#382): Use Cypress v9 in E...

vivid lintelBOT
#

I'm not being able to run a local registry.

// dagger.cue
package main

import (
    "alpha.dagger.io/docker"
    "alpha.dagger.io/dagger"
)

dockerSocket: dagger.#Stream & dagger.#Input

registry: docker.#Run & {
    ref: "registry:2"
    name: "registry-local"
    ports: ["5042:5000"]
    socket: dockerSocket
}
$ dagger input socket dockerSocket /var/run/docker.sock
$ drupal dagger up

[✗] registry.run                                                    ...
vivid lintelBOT
#

Changes

Resolves #1099.

Todo

  • [x] Improve op.#DockerBuild to correctly handle platform
  • [x] Improve op.#FetchContainer to support fetch from selected platform
  • [ ] Improve op.#PushContainer to push multi-platform images
  • [ ] Update docker package to supports new features
  • [ ] Write a working example to test it

Issues

I currently have an issue when using op.#Load on something built in a platform different than the one configured in values.yaml.

...

vivid lintelBOT
#

Bumps cypress from 8.7.0 to 9.0.0.

Release notes
Sourced from cypress's releases.

9.0.0
Released 11/10/2021
Breaking Changes:

The nodeVersion configuration option now defaults to system. The behavior
of the system option has changed to always use the Node.js binary/version
that launched Cypress. If Cypress was not launched via the terminal, Cypress
will use the bundled Node.js version. This could change the behavior of code
within your pluginsFile s...

#

Bumps go.opentelemetry.io/otel/trace from 1.1.0 to 1.2.0.

Changelog
Sourced from go.opentelemetry.io/otel/trace's changelog.

[1.2.0] - 2021-11-12
Changed

Metric SDK export.ExportKind, export.ExportKindSelector types have been renamed to aggregation.Temporality and aggregation.TemporalitySelector respectively to keep in line with current specification and protocol along with built-in selectors (e.g., aggregation.CumulativeTemporalitySele...

#

Bumps go.opentelemetry.io/otel/exporters/jaeger from 1.1.0 to 1.2.0.

Changelog
Sourced from go.opentelemetry.io/otel/exporters/jaeger's changelog.

[1.2.0] - 2021-11-12
Changed

Metric SDK export.ExportKind, export.ExportKindSelector types have been renamed to aggregation.Temporality and aggregation.TemporalitySelector respectively to keep in line with current specification and protocol along with built-in selectors (e.g., aggregation.Cum...

#

Bumps go.opentelemetry.io/otel from 1.1.0 to 1.2.0.

Changelog
Sourced from go.opentelemetry.io/otel's changelog.

[1.2.0] - 2021-11-12
Changed

Metric SDK export.ExportKind, export.ExportKindSelector types have been renamed to aggregation.Temporality and aggregation.TemporalitySelector respectively to keep in line with current specification and protocol along with built-in selectors (e.g., aggregation.CumulativeTemporalitySelector, ...). ...

#

Bumps go.opentelemetry.io/otel/sdk from 1.1.0 to 1.2.0.

Changelog
Sourced from go.opentelemetry.io/otel/sdk's changelog.

[1.2.0] - 2021-11-12
Changed

Metric SDK export.ExportKind, export.ExportKindSelector types have been renamed to aggregation.Temporality and aggregation.TemporalitySelector respectively to keep in line with current specification and protocol along with built-in selectors (e.g., aggregation.CumulativeTemporalitySelector...

vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

One of the main dagger attractions for us is the ability to reuse company conventions across a multitude of projects via installable packages.

Please add support for installing cue files from private git repositories. We are using a self-hosted Bitbucket instance, but will migrate to self-hosted Gitlab in the future, so if both are supported, that would be great.

The Bitbucket clone urls look like this:

  • ssh://git@git.example.net:7999//.git (notice non-standard port)
  • `https://...
vivid lintelBOT
vivid lintelBOT
#

Bumps concurrently from 6.3.0 to 6.4.0.

Release notes
Sourced from concurrently's releases.

v6.4.0

Add --hide flag to hide the output of specified commands (#138, #173)

Commits

0da5d93 6.4.0
66ed4bf Simplify .gitignore
475fb53 Optimise .editorconfig
88b8d19 Add option and CLI flag to hide command output (#173)
See full diff in compare view

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibil...

#

Bumps amplitude-js from 8.9.1 to 8.10.0.

Release notes
Sourced from amplitude-js's releases.

v8.10.0
8.10.0 (2021-11-12)
Features

custom library options and setter (#443) (dce0eac)

Changelog
Sourced from amplitude-js's changelog.

8.10.0 (2021-11-12)
Features

custom library options and setter (#443) (dce0eac)

Commits

f465bfa chore(release): 8.10.0 [skip ci]
dce0eac feat: custom library options and setter (#443)
See full diff in...

ornate vigilBOT
vivid lintelBOT
vivid lintelBOT
#

Bumps amplitude-js from 8.10.0 to 8.11.0.

Changelog
Sourced from amplitude-js's changelog.

8.11.0 (2021-11-16)
Bug Fixes

add missing setLibrary API to snippet distribution (#445) (ff44909)

Features

add esm entry point (#440) (3e98d50)

Commits

6d115b1 chore(release): 8.11.0 [skip ci]
ff44909 fix: add missing setLibrary API to snippet distribution (#445)
3e98d50 feat: add esm entry point (#440)
See full diff in compare view

[![...

vivid lintelBOT
#

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 ...
vivid lintelBOT
#

Bumps amplitude-js from 8.11.0 to 8.11.1.

Changelog
Sourced from amplitude-js's changelog.

8.11.1 (2021-11-16)
Bug Fixes

Add missing setTransport API to snippet (#446) (355a05b)

Commits

4659419 chore(release): 8.11.1 [skip ci]
355a05b fix: Add missing setTransport API to snippet (#446)
See full diff in compare view

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-n...

vivid lintelBOT
#

Bumps github.com/opencontainers/image-spec from 1.0.1 to 1.0.2.

Release notes
Sourced from github.com/opencontainers/image-spec's releases.

v1.0.2
This release was voted on by the maintainers and PASSED (+5 -0 #2), to mitigate the CVE-2021-41190 advisory.
This release is rebased directly on the prior tagged release (not including the commits that have occurred on main). Corresponding commits have been added to main, such that main is ready for...

vivid lintelBOT
#

As reported by @helderco:

The universe docker package and the low level op have different Auth APIs:

  • #Build and #Pull lack auth altogether
  • #Push has auth field but with one less field (makes it impossible to pass the same auth to multiple targets as the definitions don't match)
  • #Run has its own definition in a registry field
vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

Changes

dagger mod get doesn't need an environment anymore to work.

Previously, it was not possible to execute dagger mod get if no environment was set.

# Init dagger
dagger init

# Download universe
dagger mod get alpha.dagger.io
4:08PM FTL system | no environments

With this PR, it doesn't required an environment anymore

# Init
dagger init

# Download universe
dagger mod get alpha.dagger.io
4:10PM INF system | installing specified package...
vivid lintelBOT
#

Signed-off-by: sw360cab

Actually it is not possible to set a custom command for Docker.#Run, in the same way it is possible with the docker run command in the form docker run ... IMAGE CMD, in order to override the entrypoint of a pulled image.

In a CI/CD scenario this is particularly useful when building an image which afterward will be reused in different steps (eg. build, test-suite, doc building).

In Dagger a similar behaviour is possible using Os.#Container

...
vivid lintelBOT
#

Bumps github.com/containerd/containerd from 1.5.7 to 1.5.8.

Release notes
Sourced from github.com/containerd/containerd's releases.

containerd 1.5.8
Welcome to the v1.5.8 release of containerd!
The eighth patch release for containerd 1.5 contains a mitigation for CVE-2021-41190
as well as several fixes and updates.
Notable Updates

Handle ambiguous OCI manifest parsing (GHSA-5j5w-g665-5m35)
Filter selinux xattr for image volumes in CRI plugin (#51...

vivid lintelBOT
#

Bumps github.com/moby/buildkit from 0.9.2 to 0.9.3.

Release notes
Sourced from github.com/moby/buildkit's releases.

v0.9.3
Notable changes

Workaround for deadlock in containerd pusher #2461
Update containerd to 1.5.8 . Contains patch for CVE-2021-41190 #2470 #2462

Commits

8d26254 Merge pull request #2470 from tonistiigi/v0.9.3-picks
6d53896 imageutil: make mediatype detection more stricter
b145a2f vendor: update containerd to 1.5.8
29db1fe push: wor...

vivid lintelBOT
#

Bumps amplitude-js from 8.11.0 to 8.12.0.

Release notes
Sourced from amplitude-js's releases.

v8.12.0
8.12.0 (2021-11-18)
Features

add more interfaces for flutter web support (#444) (69c18f7)
update setLibrary api make it ignore the null value of name or version (#449) (8e0971e)

v8.11.1
8.11.1 (2021-11-16)
Bug Fixes

Add missing setTransport API to snippet (#446) (355a05b)

Changelog
Sourced from amplitude-js's changelog.

8.12.0 (2...

tepid raptor
vivid lintelBOT
#

The Docker daemon that I am using is running remotely, and I connect to it via Tailscale tunnel, which means that my DOCKER_HOST is set to tcp://100.113.182.91:2375.

This change makes Dagger work with my setup. It's been running well for me for a few weeks now, this started as https://github.com/thechangelog/changelog.com/pull/395

I think there is an opportunity to add support for ssh:// & file://, but I am keeping this first addition small on purpose.

vivid lintelBOT
#

Bumps cypress from 8.5.0 to 9.1.0.

Release notes
Sourced from cypress's releases.

9.1.0
Released 11/22/2021
Features:

A CYPRESS environment variable will be set to true in child processes where
Cypress runs user code in Node.js. You can now detect that you're running in
Cypress by looking for process.env.CYPRESS. Addresses
#18805.

Bugfixes:

Specs with % in the filename will no longer fail to load and now behave as any
other spec. Fixes
#18871.
Whe...

vivid lintelBOT
#

The current design of Dagger makes the implementation of a backward compatible control flows pretty hard.

This package is an equivalent of an healthcheck. It waits until a given url is ready.
We use that feature to reintroduce a dependency in the Cue Tree on that given url.

For example, when deploying a local container in docker, 90% of the time where want a dependency on that given container, it's because a server is present, and we want to query it.

This PR consists in 3 parts:
...

vivid lintelBOT
#

Bumps algoliasearch-helper from 3.4.4 to 3.6.2.

Changelog
Sourced from algoliasearch-helper's changelog.

3.6.2 - 2021-10-19

fix(SearchParameters): ignore invalid parameters (#880) https://github.com/algolia/algoliasearch-helper-js/commit/4ff542b70b92a6b81cce8b9255700b0bc0817edd

3.6.1 - 2021-10-15

fix(facetOrdering): make sure ordered facets is a dense array (#879) https://github.com/algolia/algoliasearch-helper-js/commit/990f8bc133dd3...

vivid lintelBOT
#

We are facing a small regression on Dagger lately: any package importing an unknown definition cannot be edited, listed...

package main

#test

would lead to:

dagger input list
11:57PM FTL system | unable to create environment

This is very blocking, as we don't know anything about the issue.

This PR fixes it:

dagger input list
11:58PM FTL system | unable to create environment: reference "#test" not found:
    /tmp/test/main.cue:4:1

Si...

vivid lintelBOT
vivid lintelBOT
#

Bumps sass from 1.43.4 to 1.43.5.

Release notes
Sourced from sass's releases.

Dart Sass 1.43.5
To install Sass 1.43.5, download one of the packages below and add it to your PATH, or see the Sass website for full installation instructions.
Changes

Fix a bug where calculations with different operators were incorrectly considered equal.

Properly parse attribute selectors with empty namespaces.

JS API

Print more detailed JS stack traces. This is mos...

vivid lintelBOT
#

Bumps @svgr/webpack from 5.5.0 to 6.0.0.

Release notes
Sourced from @​svgr/webpack's releases.

v6.0.0
SVGR v6 uses SVGO v2 under the hood and includes tons of improvement. It also contains small breaking changes. In most cases you will have nothing to change. But be sure to check the migration guide.
Bug Fixes

fix XML entities in generated JavaScript (#553) (b3998eb)
formatExportName for single names (#548) (5decc94)
template: make it possible to use ty...

vivid lintelBOT
vivid lintelBOT
#

Bumps sass from 1.43.5 to 1.44.0.

Release notes
Sourced from sass's releases.

Dart Sass 1.44.0
To install Sass 1.44.0, download one of the packages below and add it to your PATH, or see the Sass website for full installation instructions.
Changes

Suggest calc() as an alternative in /-as-division deprecation messages.

Dart API

Add SassNumber.convert() and SassNumber.convertValue(). These work like SassNumber.coerce() and SassNumber.coerceValue(), ex...

vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

When pushing a PR, the checks performed via Github Actions are failing for random reasons (eg. timeout), even if apparently the PR commit as nothing to due with that.
IMHO this requires extra effort for code reviewers, because they actually see that the PR is probably breaking the codebase, which in truth is not.
There is no way for the committer to run checks again in a clean way. One tricky workaround could be amending the commit related to PR and forcing a commit in order to run tasks ag...

vivid lintelBOT
#

Bumps amplitude-js from 8.12.0 to 8.13.0.

Release notes
Sourced from amplitude-js's releases.

v8.13.0
8.13.0 (2021-11-30)
Bug Fixes

add public method onNewSessionStart to snippet (#459) (07446fc)
upgrade to @​amplitude/ua-parser-js@​0.7.26 (#456) (8962604)

Features

add support for on new session start callback (#455) (acf596a)

Changelog
Sourced from amplitude-js's changelog.

8.13.0 (2021-11-30)
Bug Fixes

add public method onNewSe...

vivid lintelBOT
#

Bumps @svgr/webpack from 5.5.0 to 6.1.0.

Release notes
Sourced from @​svgr/webpack's releases.

v6.1.0
Bug Fixes

fix previous export system (1872829), closes #635

Features

native: automatically convert inline style in native (138c493), closes #588

Performance Improvements

remove useless loader-utils package (387bc72), closes #631

v6.0.0
SVGR v6 uses SVGO v2 under the hood and includes tons of improvement. It also contains small breaking changes. In ...

vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

Adding secrets in docker.#Command is broken:

// pipeline was partially executed because of missing inputs    op=0s original_cue_error=prod_image_info.ref.#up.0.from.#up.5.mount."/run/secrets/dockerhub_password": incomplete value {secret:{…
// executing operation    do=export pipeline=prod_image_info.ref

This PR fixes the issue by differentiating the secrets and generic mounts. @gerhard

Signed-off-by: guillaume

vivid lintelBOT
vivid lintelBOT
#

Bumps amplitude-js from 8.13.0 to 8.13.1.

Release notes
Sourced from amplitude-js's releases.

v8.13.1
8.13.1 (2021-12-03)
Bug Fixes

make @​babel/runtime production dependencies (#461) (c03632c)

Changelog
Sourced from amplitude-js's changelog.

8.13.1 (2021-12-03)
Bug Fixes

make @​babel/runtime production dependencies (#461) (c03632c)

Commits

cbaf6c2 chore(release): 8.13.1 [skip ci]
c03632c fix: make @​babel/runtime production d...

#

Bumps @svgr/webpack from 5.5.0 to 6.1.1.

Release notes
Sourced from @​svgr/webpack's releases.

v6.1.1
Bug Fixes

webpack: fix double export (#648) (7595d37), closes #645

v6.1.0
Bug Fixes

fix previous export system (1872829), closes #635

Features

native: automatically convert inline style in native (138c493), closes #588

Performance Improvements

remove useless loader-utils package (387bc72), closes #631

v6.0.0
SVGR v6 uses SVGO v2 under the hood an...

#

Bumps cypress from 9.1.0 to 9.1.1.

Release notes
Sourced from cypress's releases.

9.1.1
Released 12/03/2021
Bugfixes:

Fixed a regression in 9.1.0 where our
built binary didn't contain patches to some dependencies. Addressed in
#19239. This fixed some
issues including:

Requests containing ~ will no longer be improperly encoded. Fixes
#19083,
#19084,
#19115,
#19096,
#19178.
A TypeError displaying data.hasOwnProperty is not a function will no
longer t...

vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

Bumps @docusaurus/core from 2.0.0-beta.6 to 2.0.0-beta.10.

Release notes
Sourced from @​docusaurus/core's releases.

2.0.0-beta.10 (2021-12-09)
:rocket: New Feature

create-docusaurus, docusaurus-types, docusaurus

#5930 feat: shorthands for themes/plugins/presets configuration (@​fsmaia)

docusaurus-mdx-loader, docusaurus-plugin-content-docs, docusaurus-theme-classic, docusaurus-theme-common, docusaurus-theme-translati...

vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

Dagger up used to only base his execution on libraries present in cue.mod/pkg/alpha.dagger.io.

I have two repro cases showing that this is not entirely true anymore. It works on any config, but conflicts in our universe directory.

I. Execute a test that includes an unknown field

  1. Compile the latest up-to-date dagger, from main branch
  2. Go to the yarn test: ./cue.mod/pkg/alpha.dagger.io/js/yarn/yarn.cue, and extend it :
import(
  "alpha.dagger.io/http"
)

ok: h...
vivid lintelBOT
vivid lintelBOT
#

Bumps @docusaurus/core from 2.0.0-beta.9 to 2.0.0-beta.13.

Release notes
Sourced from @​docusaurus/core's releases.

2.0.0-beta.13 (2021-12-10)
Release to fix a bad npm publish in beta.12 and mitigate today's npm issues (https://status.npmjs.org/incidents/n4s34mwsdsp2)
Same code as beta.11, please refer to beta.11 changelog and release:
https://github.com/facebook/docusaurus/releases/tag/v2.0.0-beta.11
2.0.0-beta.12 (202...

vivid lintelBOT
vivid lintelBOT
#

Currently dagger sends basic analytics on long-running commands (this can be disabled with the semi-standard DO_NOT_TRACK environment variable). But not all commands are included in the analytics: commands run in a CI environment (according to best-effort heuristics) are entirely skipped. This results in an analytics blind spot: basically we don’t know anything about real-world usage of Dagger in CI. This is a major problem because we are positioning Dagger as a portable development kit for...

vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

Bumps sass from 1.43.5 to 1.45.0.

Release notes
Sourced from sass's releases.

Dart Sass 1.45.0
To install Sass 1.45.0, download one of the packages below and add it to your PATH, or see the Sass website for full installation instructions.
Changes
JS API
This release includes an entirely new JavaScript API, designed to be more idiomatic, performant, and usable. The old API will continue to be supported until Dart Sass 2.0.0, but it is now considered depre...

#

Bumps @svgr/webpack from 5.5.0 to 6.1.2.

Release notes
Sourced from @​svgr/webpack's releases.

v6.1.2
Bug Fixes

specify valid peer deps (45a76ed)
rollup: missing dep & missing map return (#652) (12627fc)

v6.1.1
Bug Fixes

webpack: fix double export (#648) (7595d37), closes #645

v6.1.0
Bug Fixes

fix previous export system (1872829), closes #635

Features

native: automatically convert inline style in native (138c493), closes #588

Performance Impr...

vivid lintelBOT
#

Feedback from @aluzzardi :

Just started implementing this. A few questions when comparing to op.#Exec:

Missing:

  • user
  • always
  • hosts

Extra features, not doable without exec helper:

  • stdout
  • stdin
  • stderr
  • exit

Changes:

  • env used to be a map, now it's an array of strings named environ --> why?
  • args is either an array or a string --> is the runtime supposed to shlex args?
  • mounts used to be a ma...
vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

This branch leverages 1 disjunction in particular: contents: #Secret | {[string]: #Secret} to enable contents to be a Secret or a map of Secrets.

JSON and YAML formats will unmarshal to map[string]interface{} then iterate over key:value pairs, creating a map of secrets (marshaled to cue) which is then filled into "contents"

The text format will simply create a secret very much like the current SecretEnv and SecretFile tasks do.

Still need to implement:
YAML unmarshaling...

vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

In Europa we're missing a way to retrieve state (e.g. dagger query).

I don't know what the long term solution would look like, and maybe we don't need to figure that out for the Europa release.

However, in the meantime, we do need some way to programmatically get the computed state back, at the very least for our integration tests.

I propose this straw-man: dagger up --output [path]. The output file content would be the equivalent of state/computed.json in mainstream Europ...

vivid lintelBOT
vivid lintelBOT
#

Expand the Engine API to give developers control over the standard streams (stdin, stdout, stderr) of the commands they’re executing.

This was part in the original Europa spec, but was temporarily removed to resolve outstanding design issues:

  • How to handle multiple writers? Are they forbidden? Do they randomly share the stream? Undefined behavior? Is the full stream multiplexed to each reader?
  • How to avoid deadlocks? Unix-style pipes require concurrent execution. But the original s...
vivid lintelBOT
ornate vigilBOT
#

PROPOSAL: New CI structure for building, testing and releasing

Intro

Our current CICD code relies on the following components:

  • Several Github action YAML workflows, used to call make or directly call goreleaser for official releases
  • A Makefile at the root of the repo which runs commands on everyone local machine (not containerized), like for instance: launch unit tests, run the linter or build the dagger binary used for development
  • Yarn to install and spin-up ...
vivid lintelBOT
vivid lintelBOT
#

This is our plan B, in case it is confirmed that we can’t rely on hidden fields for matching internal types in disjunctions, the way we hoped to.

Context from Discord:

Quick summary of next steps:

  1. [Joel] is going to check with CUE devs whether this is a bug or feature. If we’re lucky, it’s a bug, they fix it next week, and we can pretend this conversation never happened.

  2. We discussed plan B. There are some variations & bikeshedding opportunities, but basically it r...

vivid lintelBOT
#

This is just a start, still WIP.

I did not find a way yet to scope the auth to the engine call (everytime an auth field is process anywhere, it adds creds for a given target for the whole buildkit solver).

@aluzzardi I've setup a private alpine image for integration tests, but not sure how to pass the secret? Can I rely on the current dagger.#Secret implementation?

vivid lintelBOT
#

Plan spec currently contains a mix of singular and plural:

#Plan: {
	// Receive inputs from the client
	input: {
		// Receive directories
		directories: [string]: _#inputDirectory
		// Securely receive secrets
		secrets: [string]: _#inputSecret
	}

	// Forward network services to and from the client
	proxy: [string]: _#proxyEndpoint

	// Execute actions in containers
	actions: {
		...
	}
}

Notice that input is singular while directories is plural and `pr...

vivid lintelBOT
vivid lintelBOT
#

Closes #1229

Before this change we had spec files mostly in stdlib/europa/dagger/engine/spec/engine but also had some spec files in stdlib/europa/dagger. This caused confusion around what is spec vs what is implemented.

This PR reorganizes file so that:

  • all spec file are now in stdlib/europa/dagger/engine/spec/engine
  • files currently implemented are in stdlib/europa/dagger/engine
  • files in stdlib/europa/dagger are simple aliases to stdlib/europa/dagger/engine

We...

vivid lintelBOT
#

(This is a placeholder issue, to be filled out later in more detail).

The current Europa design relies on hidden fields attached to core types like dagger.#FS, dagger.#Secret etc. These hidden fields include an ID, to be filled by the engine at runtime.

Hiding these IDs has DX benefits: don’t confuse developers with a field they’re not supposed to worry about anyway, or risk incorrectly filling it.

But hiding IDs may have downsides also:

  • it makes it hard to share the computed ...
vivid lintelBOT
vivid lintelBOT
#

Overview

I propose setting the following design principle for our CUE APIs:

Dagger CUE APIs should define default values explicitly, rather than relying on implied default values from other APIs they depend on.
For example, our CUE bindings to Buildkit calls should explicitly define default values in CUE, rather than rely on Buildkit’s own defaults.
This CUE-first approach to default values improves the developer experience in several ways:

  1. It makes our CUE APIs mor...
#

We want Europa APIs to support Windows. Does the current default value engine.#Exec.user: string | *”root” allow this? If not, how do we resolve?

  • Change to a better default value?
  • Make the field mandatory?
  • Implement more advanced default behavior, perhaps inspired by buildkit?
  • Make the field optional and defer to the default behavior of buildkit? NOTE: I advise against this, see https://github.com/dagger/dagger/issues/1243
vivid lintelBOT
#

Currently, engine.#Exec will interrupt DAG execution entirely if the command returns a non-zero exit code, aka an error. This makes it very difficult to write a Dagger configuration with custom behavior on command failure. The only way is to execute a wrapper command, for example a shell script, that will implement the exit code capture, and communicate back to the CUE config. This is repetitive and a bad DX.

Ideally, engine.#Exec would allow 1) configuring whether or not to abort DAG ...

#

Prior to Europa, Dagger relies on Buildkit to manage exec defaults. For example op.#Workdir would translate to llb.Workdir in Buildkit, and all future calls to Exec would automatically use that default value for workdir.

In Europa, Dagger must not use this feature of buildkit, and it must not implement this feature in its own implementation either. Rather, it is the CUE caller’s responsibility to manage defaults if they so choose. In other words, engine.#Exec is stateless.

I...

vivid lintelBOT
#

Problem

Most of the time, dependencies between Dagger tasks are implicit, thanks to the magic of CUE references. If a config value for task foo is referenced by a config value for task bar, Dagger implicitely knows that foo must run before bar.

But sometimes, foo must run before bar even though there is no dependency between their configurations. For example, foo might upload an artifact at a known URL, which bar must later download. In this case, developers need a...

vivid lintelBOT
#

Problem

Dagger has the ability to run commands in containers (engine.#Exec). These commands can be long-running (for example a test database). But there is no reliable way to terminate this command later. This effectively makes it impossible to execute long-running commands without hanging DAG execution.

A typical example (from real-world use case #1227):

  • Start a test database (engine.#Exec)
  • Execute tests against test database (engine.Exec)
  • After the tests aere complet...
vivid lintelBOT
#

Problem

Most engine tasks require an input: #FS field. Starting from an empty FS requires an explicit call to #Scratch. Because we don’t support inlined tasks, this is quite cumbersome:

dir: engine.#Mkdir & {
  _scratch: engine.#Scratch
  input: _scratch.output
  path: “/foo”
}

Solution

With support for null input, the same configuration would be much simpler:

dir: engine.#Mkdir & {
  input: null
  path: “/foo”
}

Assuming we make null t...

snow kayak
#

I was implementing scratch earlier today and stopped because of this

vivid lintelBOT
#

Bumps concurrently from 6.4.0 to 6.5.0.

Release notes
Sourced from concurrently's releases.

v6.5.0

Add support for configuring via environment variables that start with CONCURRENTLY_ prefix (#289)
Add --timings flag to show when each process started and stopped, and how long they ran for (#291, #295)

Commits

ecc5fa0 6.5.0
ce799d6 npm audit fix
f8119bf docs: replace $0 placeholder with concurrently
7578774 Add support for options in env...

snow kayak
# vivid lintel

@quaint umbra I think it maps cleanly in Go — nil is scratch already in LLB

One thing to watch out: forgetting to set input shouldn’t default to scratch (harder to debug for the user)

#

(On my phone, can’t comment on the PR)

vivid lintelBOT
#

Dagger supports pushing and pulling Docker container images. Sometimes Docker registries require authentication, so Dagger defines an API for passing authentication credentials. In the Europa release, each call to #Push, #Pull and #Build (for nested pulls) accepts an auth field.

According to the Dagger API, each individual call to #Push, #Pull and #Build has its own authentication scope: credentials passed to one call are not available to the others.

In the current impleme...

vivid lintelBOT
#

Problem

Dagger does not detect actions configured in an inline CUE expression. This makes a useful feature of CUE unavailable to Dagger developers, causing configurations to be more complex than necessary. This becomes more problematic as the size of a configuration grows.

Details

Most of the time, actions are assigned to a field in the CUE configuration, for example:

To execute an action in their DAG, a developer must write the action’s configuration as a CUE value, and ass...

#

Dagger should support conditional execution of actions, using the standard if statement in CUE. Importantly, it should be possible to reference the output of other tasks in the if statement, and have task dependency be respected.

For example:

arch: docker.#Run & {
  script: “uname -m > /arch”
  output: files: “/arch”: _
}

if arch.output.files.”/arch”.contents == “x86_64\n” {
  ftw: docker.#Run & {
    script: “echo x86 FTW!”
  }
}

Note that the ftw action it...

#

Problem

There may or may not be a problem, depending on whether the desired behavior is already supported.

Desired behavior

Dagger should support configuring actions in hidden fields. For example:

// Action configured in a regular field
foo: docker.#Run & {
  script: “echo hello foo!”
}

// Action configured in a hidden field
_bar: docker.#Run & {
  script: echo hello bar!”
}

In this example, BOTH actions should be detected and executed.

vivid lintelBOT
#

Currently Dagger can proxy OUTBOUND network connections, from the DAG to the client. For example a container executed inside the DAG can connect to a unix socket that is proxied to a unix socket on the client.

It would be amazing if Dagger also supported the reverse: proxy INBOUND network connections from the client to the DAG. For example, a container listening for tcp connections inside the DAG could receive connections proxied from a TCP port on the client. This expands considerably w...

vivid lintelBOT
ornate vigilBOT
#

I agree with you! It's necessary to use dagger as our CI, if we don't do it, who will?

Indeed, I have some questions :

The Github action worklow will simply run the whole plan, it won't have any logic

  • How will we then setup localstack or kind for kube and aws tests?
  • What about CI keys and co, we will have a global context that keep those information?
  • How we will handle release? It's possible with just Dagger or is it a better idea to keep it as a GitHub action?

...

vivid lintelBOT
#

Context

Developers can request access to resources on the invoking client: directories to read or write, commands to execute, files to read or write, unix sockets to connect to.

It seems logical that developers could also request access to environment variables on the client. In fact, this is already partially possible, with inputs: secrets: [string]: envvar. However this exposes the contents of the environment variable as a #Secret which is a reference to be mounted in a conta...

vivid lintelBOT
#

Overview

It might be useful to allow a DAG to know the platform of the client invoking it. For example, this information could be used to configure certain inputs differently between Windows, Mac and Linux clients.

Example:

client: _

proxy: endpoints: docker: {
  if client.platform == “windows” {
    connect: “npipe://…”
  }
  if client.platform != “windows” {
    connect: “unix:///var/run/docker.sock”
  }
}

Challenges

Perhaps this is overkill, and can...

#

Problem

The current Dagger API does not give the developer control over which platform (architecture + OS) to execute containers on. This limits possible applications of Dagger.

Solution

There many possible designs. Here is a (naive) suggestion to get us started.

package engine

#Exec: {
  platform: {
    // Host operating system
    os: “windows” | *”linux”
    // Host hardware architecture
    arch: *”x86_64” | “arm64” // etc.
  }
}
vivid lintelBOT
#

Problem

The drift between our two parallel engine packages (let’s call them engineA and engineB) has gotten out of control. The only way to get a useful diff is to manually verify each individual field. I have been doing this, but it’s a waste of my time and I don’t want to do it anymore.

Solution

I’m merging engineA and engineB into a single engine package, which we can then all modify together collaboratively, like proper developers.

Details on drift

EngineA and ...

vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

Bumps concurrently from 6.4.0 to 6.5.1.

Release notes
Sourced from concurrently's releases.

v6.5.1

Fix command names when using npm wildcard (#148, #165, #211, #212)

v6.5.0

Add support for configuring via environment variables that start with CONCURRENTLY_ prefix (#289)
Add --timings flag to show when each process started and stopped, and how long they ran for (#291, #295)

Commits

041e090 6.5.1
dd54b9f Fix wildcard naming to match do...

vivid lintelBOT
#

We had to disable this test which was failing 80% of the time: https://github.com/dagger/dagger/blob/7c46e62f49b61f63a707bc2253b5cb93044d1257/tests/tasks.bats#L40

Given this is happening on 1 test and the test code seems ok, it hints that the feature is not working properly.

Error:

 ok 47 task: #WriteFile failure: different contents
not ok 48 task: #Exec
# (in test file ./tasks.bats, line 39)
#   `"$DAGGER" --europa up ./mount_cache.cue' failed
# 11:59PM INF actions.image | ...
vivid lintelBOT
vivid lintelBOT
#

A bunch of fields were lost in translation from op.#DockerBuild. I added them to the implementation and flagging as needs review:

  • auth: This was not in #DockerBuild but is needed because of the lack of #DockerLogin
  • platforms / target: These we need to review generally speaking for multi-platform support, I don't believe they're right (/cc @TomChv)
  • buildArg / label / hosts: These are generic dockerfile frontend options
vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

Bumps cypress from 9.1.0 to 9.2.0.

Release notes
Sourced from cypress's releases.

9.2.0
Released 12/20/2021
Features:

Cypress will throw an error when a user attempts to update a configuration
value at run-time using either the Test Configuration or using
Cypress.config() that is a
readonly option.
Addresses #6407 and
#19001.
A timeout option has been added to the cy.writeFile() command, with a
default value of defaultCommandTimeout. Addresses
#3350...

#

Bumps @docusaurus/core from 2.0.0-beta.9 to 2.0.0-beta.14.

Release notes
Sourced from @​docusaurus/core's releases.

2.0.0-beta.14 (2021-12-21)
:rocket: New Feature

docusaurus-theme-classic, docusaurus-theme-common

#6132 feat(theme-classic): new configuration syntax for a simple footer (@​christopherklint97)
#6125 feat(theme-common): stable classname for code blocks (@​Josh-Cena)

docusaurus-theme-classic

#5848 feat(...

#

Bumps sass from 1.43.5 to 1.45.1.

Release notes
Sourced from sass's releases.

Dart Sass 1.45.1
To install Sass 1.45.1, download one of the packages below and add it to your PATH, or see the Sass website for full installation instructions.
Changes

Potentially breaking bug fix: Properly parse custom properties in @supports conditions. Note that this means that SassScript expressions on the right-hand side of custom property @supports queries now need...

vivid lintelBOT
vivid lintelBOT
#

One of the install steps here shows how to use 'sudo' to install it: https://docs.dagger.io/1001/install/
That shouldn't be needed, lately I use containers that run in rootless mode (e.g. podman instead of docker and a wrapper that calls podman instead of docker for backwards compat, or runc, etc.), and a rootful docker may simply not be available in certain environments as a matter of security policy.

Therefore it'd be very useful if the sudo installation mode would be option...

vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
frosty smelt
vivid lintelBOT
ornate vigilBOT
#
  • How will we then setup localstack or kind for kube and aws tests?

I don't think it's an issue atm. With the http.#Wait package, we can wait for a running container to be up. So we just put it at the top level of the plan, and we can reintegrate it in the execution tree with that package, once the ports exposed run

That would be great but actually, if one action fail, all others will be canceled (correct me if I'm wrong).

You're right

How should we handle this...

vivid lintelBOT
#

Bumps amplitude-js from 8.13.0 to 8.14.0.

Release notes
Sourced from amplitude-js's releases.

v8.14.0
8.14.0 (2021-12-21)
Features

add runNewSessionStartCallback on new sessionId on log event (#469) (bb8b26b)
support web worker env (#467) (52abaf0)

v8.13.1
8.13.1 (2021-12-03)
Bug Fixes

make @​babel/runtime production dependencies (#461) (c03632c)

Changelog
Sourced from amplitude-js's changelog.

8.14.0 (2021-12-21)
Features

add ru...

vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

Some of our tasks require the DOCKERHUB_TOKEN env var.
This PR ports it to a sops secret

Currently, a weird behavior is happening on the push test. When secret is imported as an envvar, it works. Whereas, in sops format, it seems to break:

3:12AM FTL system | failed to up environment: task failed: failed to authorize: failed to fetch oauth token: unexpected status: 401 Unauthorized

Signed-off-by: guillaume

vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

Based of @samalba's proposal for CI https://github.com/dagger/dagger/discussions/1230

  • This adds a -t / --target (placeholder name) flag to dagger up
  • Only that part of the DAG will execute
  • All the necessary dependencies will be executed as well

Example:

engine.#Plan & {
	actions: {
		image: engine.#Pull & {
			source: "alpine:3.15.0@sha256:e7d88de73db3d3fd9b2d63aa7f447a10fd0220b7cbf39803c803f2af9ba256b3"
		}

		exec: engine.#Exec & {
			input: image.output
			args: ["sh",...
vivid lintelBOT
#

This issue has affected several tests as well as a real user (@helderco ). In some cases #SecretExec may fix this with echo -n. In other cases like gitpull.go we had to use strings.TrimSpace before using the secret plain text value. In some cases it seems the presence of trailing space characters (including \n) doesn't matter but on other cases it does.

A quick test of these scenarios proved that adding strings.TrimSpace to plancontext.New() solved the issue across the boar...

vivid lintelBOT
#

It's currently not possible to load new secrets from a plan -- secrets can only be passed as inputs.

This led to secrets-generating packages to output strings instead, and have other packages arbitrarily support either strings or secrets which is messy.

Placeholder proposal: engine.#LoadSecret task with pretty much the same interface as engine.#ReadFile:

#LoadSecret: {
	$dagger: task: _name: "LoadSecret"

	// Filesystem tree holding the secret
	input: #FS
	// Path of ...
vivid lintelBOT
vivid lintelBOT
#

Example:

engine.#Plan & {
	inputs: directories: test: path: "./test"
}

The behavior of the plan will be different based on where dagger up is executed.

We can't simply take the path of the argument because it's more complex than that:

$ cat base.cue
engine.#Plan & {
	inputs: directories: testA: path: "./testA"
}

$ cat staging/staging.cue
engine.#Plan & {
	inputs: directories: testB: path: "./testB"
}

$ dagger up ./staging/staging.cue

-> inp...
vivid lintelBOT
#

Bumps amplitude-js from 8.13.0 to 8.14.1.

Release notes
Sourced from amplitude-js's releases.

v8.14.1
8.14.1 (2021-12-23)
Bug Fixes

global-scope reference error in nodejs (#474) (bdce39d)

v8.14.0
8.14.0 (2021-12-21)
Features

add runNewSessionStartCallback on new sessionId on log event (#469) (bb8b26b)
support web worker env (#467) (52abaf0)

v8.13.1
8.13.1 (2021-12-03)
Bug Fixes

make @​babel/runtime production dependencies (#461) (c03...

ornate vigilBOT
#
  • How will we then setup localstack or kind for kube and aws tests?

Like anything else, we'll manage it from a dagger action in the plan, it's much better than relying on Github action for it. Right now, tests relying on the infra are auto-skipped if the infra is not there. So nobody runs them locally, which is a problem.

What about CI keys and co, we will have a global context that keep those information?

sops file at the root, no need to rely on Github secrets, again: por...

vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

How should I break a big plan into multiple files? I've run into something that was unexpected to me and took a really long time to figure out.

#Configs: [name=string]: {
    {
        file: string | *"./\(name).conf"
        contents?: string
    } | {
        external: true
        "name"?: string
    }
}

#App: {
    project: string
    configs?: #Configs
}

engine.#Plan & {
    actions: [name=string]: #App & {
        project: name
    }
    // just to compar...
vivid lintelBOT
#

PR #1289 added support for plan outputs, but the contents need to be an #FS.

If you have a string to save, you have to go through #WriteFile:

// plans/gen/dagger.cue
package main

import (
    "alpha.dagger.io/europa/dagger/engine"
    "encoding/yaml"
)

engine.#Plan & {
    actions: {
        scratch: engine.#Scratch

        apps: [string]: #App & {
            output: _  // compose in CUE
            compose: engine.#WriteFile & {
                input: scr...
vivid lintelBOT
#

Bumps sass from 1.43.5 to 1.45.2.

Release notes
Sourced from sass's releases.

Dart Sass 1.45.2
To install Sass 1.45.2, download one of the packages below and add it to your PATH, or see the Sass website for full installation instructions.
Changes
JS API

Potentially breaking bug fix: Change the default value of the separator parameter for new SassArgumentList() to ',' rather than null. This matches the API specification.

See the full changelog for c...

vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

We generally have avoided too many abbreviations in our CUE field names, but there have been exceptions.

One such exception, originally mentioned by @samalba #1236:

engine.#Push.dest should not be abbreviated. I would call it target or destination - https://github.com/dagger/dagger/blob/13e7236c8bbb53a2780e526861680a9d47c2fd6f/stdlib/europa/dagger/engine/image.cue#L8

Should we keep that abbreviation, or change it? And why?

vivid lintelBOT
vivid lintelBOT
#

A secret currently supports only 1 value, being defined as such:

engine/plan.cue

#Secret: {
	$dagger: secret: _id: string
}

_#inputSecret: {
	_#inputSecretEnv | _#inputSecretFile | _#inputSecretExec

	
	contents: #Secret // just 1 Secret

	trimSpace: *true | false
}

but this limits usability and forces the user to implement awkward, brittle, and inefficient plans. As an example, secrets are commonly found in maps, and in many cases are multiple values such...

vivid lintelBOT
#

The Europa release introduces major changes, which will require new documentation. This issue is a placeholder for tracking work on these new docs.

Topics to consider include:

  • New user experience: command-line syntax, getting started, operator manual
  • New developer experience: APIs, programming concepts, sample code
  • Migration from earlier versions
  • New positioning. When we wrote the current documentation, Dagger was positioned more broadly and vaguely. Now, it is positioned as ...
#

Problem

Currently, dagger up does 2 things: download CUE dependencies; and run. This makes it difficult to manage dependencies correctly. For example, custom vendoring of an upstream dependency is very difficult, because any local changes will be overwritten on the next run. This does not match the expectation of most developers.

Solution

Decouple dependency management from run. At the very least, dagger up should not download update or overwrite dependencies without being ...

vivid lintelBOT
#

Problem

Dagger does not have a launch website, and therefore cannot be launched!

The current site is better described as a “teaser website” :)

Solution

Ship a minimal but high-quality launch website. This includes:

  • A clear explanation of what Dagger is, what problem it solves and for whom
  • Just enough technical details to satisfy the curious and skeptical mind of our target audience - software engineers
  • The minimum information expected of a pro...
vivid lintelBOT
#

Solves #1294

The aim here is to upgrade the Alpine version to 3.15.0 and update all apk packages to their latest version (as requested by Sam).

The 2 breaking changes were: google secretsmanager and netlify, which I had to update from 3.X to 8.X.
For GCP, the CLI began to print to stderr, which I now need to redirect in order to be able to pipe it.

vivid lintelBOT
vivid lintelBOT
#

This conversation has been in a comment thread in the #1227 PR, just moving it to a dedicated issue.

My proposal is to create a new config from the unification of two others (an existing one and another with the changes):

#Set: {
    config: #ImageConfig
    input: #Image
    output: {
        rootfs: input.rootfs
        "config": {
            // loop fields from input.config that are *not present* in config
            // loop fields from config
        }
    }
}   ...
vivid lintelBOT
vivid lintelBOT
#

Thanks to @gerhard , @grouville and @jlongtine , changelog.com has a working Dagger configuration for its CI, running right now in production. Since this configuration is open-source, it is the perfect testing ground to guide the development of Europa with real-world constraints and feedback.

Status

#

Certain use cases of Dagger require supporting long-running execution: running a DAG that will never terminate. This is different from today, where dagger up is expected to terminate, and might be force-terminated and return an error after a timeout period.

How do we support long-running execution without breaking support for regular, short-running execution? How do we allow both execution modes to co-exist, in a way that makes sense to the developer and the end-user?

#

Solves #1124

The solution is not ideal because we redirect part of the output to a file. However, it works well, both for the new logger and the plain-format.
It solves the simili-infinite loop due to the termcap conflict between our logs and the trivy binary + a summary remains [we just don't see the details]:

working:

PM INF TestGCPClient.verify.ctr | #39 15.73 gcr.io/dagger-ci/test:test-gcr-nakbwreqejdd (alpine 3.15.0)
11:35PM INF TestGCPClient.verify.ctr | #39 15.73 ======...
#

Problem

The new Docker Build API in Europa (universe.dagger.io/docker.#Build) lacks the ability to set Docker image metadata. As compared to Dockerfile features:

Feature Dockerfile operation CUE operation
Set default working directory WORKDIR Not available
Set default user USER Not available
etc. etc. etc.

This feature is tricky to implement, because it is a form of override, and CUE is designed to make overrides diffi...

vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

engine.#CacheDir uses the llb.AsPersistentCacheDir() call, the same that's used in Dockerfiles for e.g. RUN --mount=type=cache,target=/var/cache/apt .

The persistent cache dir is stored internally in BuildKit, which works great locally, however it's not persistent across CI runs (because we get a different BuildKit instance each time).

Ideally we should find a way to persist BuildKit's persistent cache directories into GH's cached directories.

A starting clue to figure this out...

#

Dagger currently checks for missing inputs by scanning @dagger(input).

In Europa, @dagger(input) is gone. Instead there's now #Plan.input. Input sanity checks must be ported to Europa.

Design possibility:

  • Inputs in Europa are tasks (e.g. plan/task/inputdirectory.go)
  • Tasks have a PreRun() hook, which gets called at the very beginning, before the Plan is executed
  • We could check concreteness in the PreRun() hook of inputs

/cc @samalba who implemented the original ...

vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

Bumps sass from 1.43.5 to 1.46.0.

Release notes
Sourced from sass's releases.

Dart Sass 1.46.0
To install Sass 1.46.0, download one of the packages below and add it to your PATH, or see the Sass website for full installation instructions.
Changes
JS API

Potentially breaking bug fix: Match the specification of the new JS API by passing undefined rather than null to Logger.warn() for an unset span.

TypeScript Declarations

Add a declaration for the Le...

vivid lintelBOT
#

I find the pre-europa outputs very useful, just wish you could control which outputs to show.

Europa is well positioned for this, maybe something like:

engine.#Plan & {
    actions: {
        build: push: engine.#Push & { ... }
        run: push: engine.#Push & { ... }
    }
    outputs: console: {
        "build image": contents: actions.build.push.result
        "run image": contents: actions.run.push.result
    }
}

Which would output:

Output		Value
build...
vivid lintelBOT
#

Currently, dagger redacts secrets while forwarding buildkit events to the logger.

It works great to strip away secrets leaked by the CUE layer (e.g. #Exec & { command: "echo secret: $(cat /secret)" } shows up as secret: ***), however it doesn't strip away secrets leaked by Dagger itself in Go.

It's currently implemented in Client.logSolveStatus() (the goroutine that bridges buildkit events to the logger), which uses an internal secureSprintf function to strip away secrets.

An...

vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

While working on the Changelog.com config, I found that running dagger with --no-cache caused #CacheDir to not persist needed files across tasks (not just runs - that's expected).

As seen below, I download dependencies in deps (into /app/deps, and those dependencies would not be in a subsequent task depsCompileProd when that #CacheDir is mounted.

actions: {
  depsCache: engine.#CacheDir & {
    id: "depsCache"
  }
  depsCacheMount: "depsCache": {
    dest...
vivid lintelBOT
#

Universe packages must be ported to the Europa syntax. This is a tracking issue for the entire collection of Universe.

For each, we should:

  • Determine whether it should be ported or not
  • If it requires further discussion, create a dedicated issue (do not discuss individual packages here)
  • Have an assignee
  • And finally, an implementation status ❓🚧 ✅
Package Should be orted? Dedicated Issue Assignee Status
**alp...
vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

Bumps concurrently from 6.5.1 to 7.0.0.

Release notes
Sourced from concurrently's releases.

v7.0.0
🎉 🥂 Happy 2022!
Breaking changes

Dropped support for Node 10. Minimum version is now 12.20.
concurrently() API now has a different return value. Please refer to the docs.

Functional changes

Added --group flag/option to run process in parallel but print output in sequence - #75, #79, #272
Codebase converted to TypeScript. Some bugs may aris...

vivid lintelBOT
#

On command "dagger -e local input list"
I had the error :

ERR system | failed to stop buildkit: exit status 1    output=Error: No such container: dagger-buildkitd
FTL system | unable to create client: exit status 1

Test with :

  • dagger 0.1.0-alpha.31 (374f1ba) linux/amd64 and dagger devel (7d965942) linux/amd64
  • Ubuntu 20.04.3 LTS
  • Docker 19

It's a problem with the docker version. On v19 "docker rm -vf badname" return an exit code 1 and v20 return an exit code 0.

http...

#

dagger up return error behind a http proxy

Test with :

  • dagger 0.1.0-alpha.31 (374f1ba) linux/amd64 and dagger devel (7d965942) linux/amd64
  • Ubuntu 20.04.3 LTS
  • Docker 20

All docker command work with my proxy (configure into ~/.docker/config.json and /etc/systemd/system/docker.service.d/http-proxy.conf)
But with dagger I got this error.

[✗] wait                                                                                                                                   ...
vivid lintelBOT
#

Overview

This issue aims to centralize the design of multi-platform support in the upcoming Europa release. This is an important and complex feature, which is being discussed in many different places. Anyone interested in this topic is encouraged to start reading here, and participate here as much as possible, to minimize fragmentation.

What is a platform

In this context, “platform” designates a compute platform that is a combination of an operating system and hardware archit...

vivid lintelBOT
vivid lintelBOT
#

While talking with @aluzzardi, we thought that regular auto-releases which happen with no intervention on our part would be a good idea. The last Dagger release (0.1.0-alpha.31) was over 1 month ago, and there are Europa-related changes which we want to make available in the Dagger GitHub Action. We should never have more than 1 week of unreleased
changes. While more often is better, and we may need to tweak this later, this is a decent starting point: release every Tuesday, 5pm UTC & 9am SF...

vivid lintelBOT
#

Bumps github.com/containerd/containerd from 1.5.8 to 1.5.9.

Release notes
Sourced from github.com/containerd/containerd's releases.

containerd 1.5.9
Welcome to the v1.5.9 release of containerd!
The ninth patch release for containerd 1.5 is a security release to fix CVE-2021-43816.
Notable Updates

Fix unprivileged pod using 'hostPath' bypassing SELinux labels (GHSA-mvff-h3cj-wj9c)
Fix setting the "container_kvm_t" SELinux label (#6381)

...

#

Bumps github.com/docker/buildx from 0.6.2 to 0.7.1.

Release notes
Sourced from github.com/docker/buildx's releases.

v0.7.1
Notable changes

Fix issue with matching exclude rules in .dockerignore docker/buildx#858
Fix bake --print JSON output for current group docker/buildx#857

v0.7.0
Welcome to the 0.7.0 release of buildx!
Notable Changes

TLS certificates from BuildKit configuration are now transferred to build container in container and kubernetes driv...

#

Bumps @svgr/webpack from 5.5.0 to 6.2.0.

Release notes
Sourced from @​svgr/webpack's releases.

v6.2.0
Bug Fixes

cli: pass in parser to prettier format to avoid deprecation warning (#662) (74fa3ae)
plugin-svgo: handle potential errors from optimize (#663) (7582d31)

Features

support comments in templates (#661) (9afb590)

v6.1.2
Bug Fixes

specify valid peer deps (45a76ed)
rollup: missing dep & missing map return (#652) (12627fc)

v6.1.1
Bug Fixes

...

vivid lintelBOT
#

Overview

The current version of Europa has built-in support for sops, which it uses to deliver an all-in-one secrets management feature. The Europa release changes that: Dagger still support secrets, but as a simpler and more modular feature.

This means that users will have more control over how to handle their secrets, and the ecosystem will have more opportunities to extend Dagger. But it also means that, out of the box, dagger secret will not do as much.

So the question is:...

vivid lintelBOT
#

Currently you are forced to use the .git suffix if the repository is not from github.
The imported package keeps the suffix thus altering the import directive to be used, therefore the import will be different in the tests of the project containing the package compared to projects where dagger mod get is used.
Moreover, the structure of a package is different from what is documented

Supposi...

vivid lintelBOT
#

Problem

In Europa, the CUE tree contains values that are sensitive and contextual. How to handle these values is crucial to the final user experience, but is not yet designed in full detail, let alone implemented.

  • Sensitive means: users could get hacked if they store or distribute this value incorrectly, or share it to the wrong person.
  • Contextual means: this value only makes sense in this environment, and it would be nonsensical and confusing for it to be shared beyond ...
vivid lintelBOT
#

Bumps go.opentelemetry.io/otel/trace from 1.2.0 to 1.3.0.

Changelog
Sourced from go.opentelemetry.io/otel/trace's changelog.

[1.3.0] - 2021-12-10
⚠️ Notice ⚠️
We have updated the project minimum supported Go version to 1.16
Added

Added an internal Logger.
This can be used by the SDK and API to provide users with feedback of the internal state.
To enable verbose logs configure the logger which will print V(1) logs. For debugging informat...

#

Bumps go.opentelemetry.io/otel/sdk from 1.2.0 to 1.3.0.

Changelog
Sourced from go.opentelemetry.io/otel/sdk's changelog.

[1.3.0] - 2021-12-10
⚠️ Notice ⚠️
We have updated the project minimum supported Go version to 1.16
Added

Added an internal Logger.
This can be used by the SDK and API to provide users with feedback of the internal state.
To enable verbose logs configure the logger which will print V(1) logs. For debugging information ...

#

Bumps amplitude-js from 8.13.0 to 8.15.0.

Release notes
Sourced from amplitude-js's releases.

v8.15.0
8.15.0 (2022-01-07)
Features

make snippet public in NPM (#478) (8f512f0)

v8.14.1
8.14.1 (2021-12-23)
Bug Fixes

global-scope reference error in nodejs (#474) (bdce39d)

v8.14.0
8.14.0 (2021-12-21)
Features

add runNewSessionStartCallback on new sessionId on log event (#469) (bb8b26b)
support web worker env (#467) (52abaf0)

v8.13.1
8.13...

#

Bumps sass from 1.43.5 to 1.47.0.

Release notes
Sourced from sass's releases.

Dart Sass 1.47.0
To install Sass 1.47.0, download one of the packages below and add it to your PATH, or see the Sass website for full installation instructions.
Changes
JS API
TypeScript Declarations

Add declarations for the TRUE and FALSE constants.

See the full changelog for changes in earlier releases.
Dart Sass 1.46.0
To install Sass 1.46.0, download one of the packages b...

vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

Currently universe has limited support for direct AWS API calls to create resources such as S3 buckets alpha.dagger.io/aws/s3. To continue this pattern universe would need to support 250 services which is a huge—no YUGE— undertaking. Should Dagger simply support cloudformation and terraform? Or should we duplicate what those tools do and provide CUE packages for each and every resource AWS provides?

This is further complicated by the lack of dagger down. Would users really want to ...

vivid lintelBOT
#

Bumps cypress from 9.2.0 to 9.2.1.

Release notes
Sourced from cypress's releases.

9.2.1
Released 1/10/2022
Bugfixes:

Fixed a regression in 9.2.0 to keep
Cypress open after each spec finishes when the --headed --no-exit flags are
passed to cypress run. Fixes
#19485.
Improve heuristic for verifying when the --openssl-legacy-provider option
should be passed to the plugins' child process when the system Node version is
v17+. This prevents Cypress from c...

vivid lintelBOT
vivid lintelBOT
#

Problem

The new docker.#Run has a facility for running scripts. This facility is neat, but it relies on inlining script contents in the command-line. This works well for small shell scripts, but has 2 issues:

  1. Command-line size limit. The operating system may impose arbitrary limits on the number of characters in a command. Large scripts could trigger that limit. Since the limit varies between operating systems, making the error particularly unpredictable and therefore painful.
    ...
vivid lintelBOT
#

Problem

Until the Europa release, dagger takes a hands-on approach to managing computed values:

  • Each Dagger environment has state
  • Environment state includes computed values
  • At the end of each run, dagger up writes a new file containing all the computed values, in the environment state directory
  • User can subsequently query the current state, with computed values, via dagger query

This workflow is disrupted by Europa, because the concept of stateful environment no l...

vivid lintelBOT
vivid lintelBOT
#

Problem

Currently there is no way to selectively run parts of a DAG. This would be useful for 2 distinct use cases:

  1. A developer may create a DAG with lots of features, with the expectation that different users will selectively enable different parts of these features. For example one might want to run tests for the frontend but not the backend; generate API docs and check them for errors but not deploy them; etc.

  2. Regardless of features, a user may want to inspect the interna...

#

dagger version: dagger 0.1.0-alpha.31 (374f1ba) linux/amd64
OS: Linux hawk 5.15.8-76051508-generic #202112141040~1639505278~21.10~0ede46a SMP Tue Dec 14 22:38:29 U x86_64 x86_64 x86_64 GNU/Linux

Heya Dagger team :) Given the following files & commands, input secrets are being stored on disk as plain text, as opposed to being sops-encrypted values. In general, the reproduction steps are:

  1. Init a new project with dagger init
  2. Create a local env with `dagger new local -p plans/...
ornate vigilBOT
vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

I attempted to test yarn but it appears to require a few fixes.

I'm getting an invalid FS $dagger.fs._id: non-concrete value (null|string) when attempting to use its output.

Looks like the problem lies below the stack and we'll have to test docker (#1407) and bash (#1408) to figure out what's wrong.

Furthermore there seems to be issues in yarn itself:

// Build a Yarn package
#Build: {

	// Run yarn in a containerized build environment
	command: bash.#Run & {
		*{
...
vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

Overview

The new docker package, to be introduced in the Europa release at universe.dagger.io/docker, will be the primary API for using Docker containers, and as such will play an important role in our overall developer experience. Its overall design is complete, but implementation is not. No doubt there will be some last minute questions on the design along the way, too.

This issue tracks remaining work to call the docker package complete.

Use cases

Below is a list of...

vivid lintelBOT
#

Bumps go.opentelemetry.io/otel/exporters/jaeger from 1.2.0 to 1.3.0.

Changelog
Sourced from go.opentelemetry.io/otel/exporters/jaeger's changelog.

[1.3.0] - 2021-12-10
⚠️ Notice ⚠️
We have updated the project minimum supported Go version to 1.16
Added

Added an internal Logger.
This can be used by the SDK and API to provide users with feedback of the internal state.
To enable verbose logs configure the logger which will print V(1) logs. ...

#

Bumps github.com/spf13/viper from 1.8.1 to 1.10.1.

Release notes
Sourced from github.com/spf13/viper's releases.

v1.10.1
This is a maintenance release upgrading the Consul dependency fixing CVEs.
v1.10.0
This is a maintenance release primarily containing minor fixes and improvements.
Changes
Added

Experimental finder based on io/fs
Tests are executed on Windows
Tests are executed on Go 1.17
Logger interface to decouple Viper from JWW

In addition to the a...

#

Bumps github.com/spf13/cobra from 1.2.1 to 1.3.0.

Release notes
Sourced from github.com/spf13/cobra's releases.

v1.3.0 - The Fall 2021 release 🍁
Completion fixes & enhancements 💇🏼
In v1.2.0, we introduced a new model for completions. Thanks to everyone for trying it, giving feedback, and providing numerous fixes! Continue to work with the new model as the old one (as noted in code comments) will be deprecated in a coming release.

DisableFlagParsing now...

#

Bumps sass from 1.47.0 to 1.48.0.

Release notes
Sourced from sass's releases.

Dart Sass 1.48.0
To install Sass 1.48.0, download one of the packages below and add it to your PATH, or see the Sass website for full installation instructions.
Changes
JS API

Potentially breaking bug fix: Match the specification of the new JS API by setting LegacyResult.map to undefined rather than null.

TypeScript Declarations

Add a declaration for the NULL constant.

Se...

vivid lintelBOT
#

Bumps google.golang.org/grpc from 1.42.0 to 1.43.0.

Release notes
Sourced from google.golang.org/grpc's releases.

Release 1.43.0
API Changes

grpc: stabilize WithConnectParams DialOption (#4915)

Special Thanks: @​hypnoglow

Behavior Changes

status: support wrapped errors in FromContextError (#4977)

Special Thanks: @​bestbeforetoday

config: remove the environment variable to disable retry support (#4922)

New Features

balancer: new field Authority i...

vivid lintelBOT
vivid lintelBOT
#

Not sure if this is an actionnable issue, could be closed and taken appart in other issues. It's not about CUE coding style, so I am leaving it here.

This was gathered while debugging Yarn test with @aluzzardi

  • Most (if not all) package definitions are now using verbs instead of names - we had an opposite convention not so long ago (#397). This is likely to trigger a bunch of questions and debate about "is dagger declarative or imperative", etc...
  • alpine.#Build is counter-intuitiv...
vivid lintelBOT
#

I forgot to use .contents on my input directory (source: inputs.directories.testdata instead of source: inputs.directories.testdata.contents):

	inputs: {
		directories: {
			testdata: path: "./testdata"
		}
	}

	actions: {
		TestReact: {
			pkg: yarn.#Build & {
				source: inputs.directories.testdata
			}
	}

This is the error I'm getting back, which is very hard to understand:

4:48PM FTL system | failed to load plan: actions.TestReact.pkg.source.$dagge...
#

#TransformSecret is currently used as such:

repoPassword: engine.#TransformSecret & {
	input: inputs.secrets.sops.contents
	// output signature after tranformation
	// output: #Secret | {[string]: output}

	#function: {
		input:  _
		output: yaml.Unmarshal(input)
	}
}
  • I think it's pretty cool but IMHO hard to grasp for the average person as it's using super advanced concepts (CUE callback as a definition with back and forth between the runtime).
  • Using it is ...
vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

Bumps follow-redirects from 1.13.0 to 1.14.7.

Commits

2ede36d Release version 1.14.7 of the npm package.
8b347cb Drop Cookie header across domains.
6f5029a Release version 1.14.6 of the npm package.
af706be Ignore null headers.
d01ab7a Release version 1.14.5 of the npm package.
40052ea Make compatible with Node 17.
86f7572 Fix: clear internal timer on request abort to avoid leakage
2e1eaf0 Keep Authorization header on subdomain redirec...

vivid lintelBOT
vivid lintelBOT
ornate vigilBOT
vivid lintelBOT
#

Bumps remark-code-import from 0.4.0 to 1.1.0.

Release notes
Sourced from remark-code-import's releases.

v1.1.0
New features

Support escaping spaces in file paths with .
Support using <rootDir> to reference the root directory.
Add the rootDir option to change the path of the root directory.
Add the allowImportingFromOutside option to allow importing files from outside the rootDir.

Full Changelog: https://github.com/kevin940726/re...

vivid lintelBOT
#

Bumps github.com/hashicorp/go-version from 1.3.0 to 1.4.0.

Release notes
Sourced from github.com/hashicorp/go-version's releases.

v1.4.0
FEATURES:

Introduce MustConstraints() (#87)
Constraints: Introduce Equals() and sort.Interface methods (#88)

Changelog
Sourced from github.com/hashicorp/go-version's changelog.

1.4.0 (January 5, 2022)
FEATURES:

Introduce MustConstraints() (#87)
Constraints: Introduce Equals() and sort.Interface methods (#88...

vivid lintelBOT
#

Bumps github.com/sergi/go-diff from 1.1.0 to 1.2.0.

Commits

0a651d5 Optimize diffLinesToStringsMunge to use uint32 instead of string, and add ext...
f9beae7 Index out of range panic in DiffCharsToLines on large JSON diff
f6725a1 Index out of range panic in DiffCharsToLines on large JSON diff
db1b095 Index out of range panic in DiffCharsToLines on large JSON diff
df97e07 Merge pull request #108 from pakohan/master
a87b244 Merge pull request #112 from eclip...

ornate vigilBOT
#

I would like dagger move forward to v0.2.0 and release the latest v0.1.0 release tagged as v0.1.0; the next version can be v0.2.0-alpha.1 (removing old v0.1.0 code).
When dagger move from v0.x.0 to v0.y.0 a migration guide can be created like in Spring Boot leaving the documentation free of this burden.

When dagger v1.0.0 will be released i suggest to adhere strictly to SemVer.
When dagger release next major ve...

ornate vigilBOT
ornate vigilBOT
vivid lintelBOT
#

#1279 added an --output flag to save computed output, but the computed values aren't being filled.

Here's a pre-Europa example:

params: {
    source_image: "alpine"
    target_image: "registry.example.net/test"
}

inputs: {
    secrets: registry: dagger.#Secret
}

actions: {
    base: docker.#Pull & {
        from: params.source_image
    }
    push: docker.#Push & {
        target: params.target_image
        source: base
        auth: { ... }
    }
}

...

vivid lintelBOT
#

Problem

Two major actions in the new universe.dagger.io/docker don’t work together: docker.#Run and docker.#Build. It is extremely common to run containers as part of a container build, so this is a major issue that breaks virtually all other packages in some way.

In short:

  • docker.#Build defines an interface for implementing build steps. The interface is input?: #Image, output: #Image.
  • docker.#Run cannot cleanly implement this interface as-is, for 2 reasons:
    • ...
vivid lintelBOT
#

Bumps remark-code-import from 0.4.0 to 1.0.0.

Release notes
Sourced from remark-code-import's releases.

v1.0.0
Breaking changes

The plugin is now ESM only. Node 12+ is needed to use it and it must be imported instead of required.

New features

Add types for TypeScript.

Full Changelog: https://github.com/kevin940726/remark-code-import/compare/v0.4.0...v1.0.0

Commits

40ca493 1.0.0
e7f33c5 Use typescript and esm
See full diff in comp...

vivid lintelBOT
#

@shykes I did change the default version to "latest" since pinning versions would require that we update this regularly. Seems "latest" makes sense as a default and if you want a specific version you can specify that. Thoughts? Only other change was splitting tests into two files for clarity and following the patterns we have in tests/tasks/**

@aluzzardi This still needs a .bats file

Signed-off-by: Richard Jones

ornate vigilBOT
vivid lintelBOT
#

The first implementation of the trigger-release would not push a tag, meaning that the Release workflow was not getting triggered. While we could have changed the Release workflow to react on "Trigger Release" workflow runs, the inter-dependency felt awkward and brittle:

diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index b711c5cf..843fdb70 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -7,10 +7,16 @@ on:
   push...
ornate vigilBOT
ornate vigilBOT
#

Agreed.

  • Last 0.1.x release should be 0.1.0
  • Europa "alpha" releases should go out as 0.2.0-alpha.X
  • Europa eventually will go out as0.2.0
  • next milestone should remain next for now. We'll rename it to 0.2.0-alpha.1 and close it when the time comes.
  • We shouldn't attempt to name milestone against release names ahead of time because we don't know what that will be. 0.2.0-alpha.2 might happen a week after alpha.1, or merely hours, if we have to push a hot fix.
vivid lintelBOT
vivid lintelBOT
#

Overview

Dagger Universe is a catalog of CUE packages, carefully curated for safety and quality, that all Dagger developers can use to build awesome CICD pipelines without reinventing the wheel.

It is crucial to the success of Dagger that Universe can combine three properties:

  1. Growth. We need a lot of packages, and the capacity to publish more and more at an accelerated growth rate
  2. Quality. Packages must work well, be well documented, bugs need to be fixed quickly, etc.
    3)...
#

Dagger used to rely on registry.ParseNormalize function to extract registry domains from images / registry URLs.
However, it contained some flaws for private registries.
This PR fixes that by implementing a test suite around it, and tweaks the splitReposSearchTerm function from the docker CLI.

The logic of splitReposSearchTerm is kept, and enhanced to fit to all of our use cases.
In case of a bad matching, a clear error is returned

Fixes #1105
Signed-off-by: guillaume

vivid lintelBOT
vivid lintelBOT
#

Problem

In Europa, Universe packages implement a pattern for easily customizing the base image of containers. For example, yarn.#Build uses a default image with yarn installed, but that image can be swapped out without wrapping.

Unfortunately, the current implementation of that pattern is broken (as reported in #1424).

Solution

  • Fix implementation of the pattern
  • If the pattern itself is broken and impossible to implement correctly, discuss an alternative
  • In the mean...
vivid lintelBOT
#

Bumps sass from 1.48.0 to 1.49.0.

Release notes
Sourced from sass's releases.

Dart Sass 1.49.0
To install Sass 1.49.0, download one of the packages below and add it to your PATH, or see the Sass website for full installation instructions.
Changes

Fix a bug in string.insert with certain negative indices.

JS API

Add support for the sourceMapIncludeSources option in the new JS API.

TypeScript Declarations

Fix a bug where LegacyPluginThis.options.linefe...

#

Bumps cypress from 9.2.1 to 9.3.1.

Release notes
Sourced from cypress's releases.

9.3.1
Released 1/19/2022
Bugfixes:

Fixed an issue where the bin file was released with windows line breaks. Fixes
#19747.

9.3.0
Released 1/18/2022
Features:

Added a new Cypress command, called
.selectFile(), to select a file or files in an
HTML5 input element or simulate dragging a file or files into the browser. The
API is similar to cypress-file-upload and we have ...

#

Bumps amplitude-js from 8.15.0 to 8.15.1.

Release notes
Sourced from amplitude-js's releases.

v8.15.1
8.15.1 (2022-01-18)
Bug Fixes

Add missing worker storage length for clear method (#487) (6abb957)

Changelog
Sourced from amplitude-js's changelog.

8.15.1 (2022-01-18)
Bug Fixes

Add missing worker storage length for clear method (#487) (6abb957)

Commits

4c9cf0f chore(release): 8.15.1 [skip ci]
cb84411 build: re-order create-sni...

vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

Extract from netlify (#1462):

_alpine: alpine.#Build & {
	packages: {
		bash: {}
		curl: {}
		jq: {}
		yarn: {}
	}
}

_netlifyImage: docker.#Run & {
	image:  _alpine.output
	script: "yarn global add netlify-cli@3.38.10"
}

// Execute `netlify deploy` in a container
command: docker.#Run & {
	image: _netlifyImage.output
}
  • alpine is in its own step
  • there's a docker run step to install netlify

I'd like to do this:

_build: docker.#Build & {
	...
vivid lintelBOT
#

Rather than having multiple CONTRIBUTING files, one for each repository, which we will need to keep in sync, we could use GitHub's special .github repository for community files.

This idea was first reported by @bpo in the context of the examples repository: https://github.com/dagger/examples/pull/47#issuecomment-1012517202

I have added it as https://github.com/dagger/.github and explained how the contributing flow now changed for first-time contributors to any repository in our org...

vivid lintelBOT
#

I would like Europa version is able to execute both files:

package main

import (
	"dagger.io/dagger/engine"

	"universe.dagger.io/alpine"
)

engine.#Plan & {
  actions: {

    test: {
      name: "Works"

      image: alpine.#Build & {
        version: "3.15.0@sha256:e7d88de73db3d3fd9b2d63aa7f447a10fd0220b7cbf39803c803f2af9ba256b3"

        packages: {
          bash: {}
          yarn: {}
        }
      }
    }
  }
}

and

package main

...
#

When using docker.#Build as a step within another docker.#Build, dagger throws CUE errors.

I've narrowed it down to builds containing multiple steps:

_build: docker.#Build & {
	steps: [
		docker.#Build & {
			steps: [
				docker.#Pull & {
					source: "alpine"
				},
				// FIXME: the following breaks with:
				// actions.deploy._build._dag."0".output: 1 errors in empty disjunction::
				//    pkg/universe.dagger.io/docker/build.cue:26:11
				docker.#Run & {
...
vivid lintelBOT
#

Changes

Related to #1371, this PR is a working PoC of multi-platform in Europa that we can use to choose a final design

This PR improve #Push to push multi-platform image using new inputs field.
It will push all image one by one and then return the digest of the manifest list. The user can then use it to pull a specific platform using the new platform field in #Pull.
Indeed, I've also update #Dockerfile to supports only one platform instead of an array.

@shykes @al...

vivid lintelBOT
vivid lintelBOT
#

For some reason, we are executing tasks that are in definitions. This used to not be the case. Could it be related to FindHidden?

#TestStep: {
    input: docker.#Image
    output: docker.#Image

    run: docker.#Run & {
        "input": input
        cmd: name: "ls"
    }

    output: run.output
}
$ dagger up
4:32PM ERR #TestStep.run._exec | failed: invalid FS at path "#TestStep.run._exec.input": FS is not set    duration=0s
vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

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/gi...
vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

Currently in Dagger, all the CUE tasks are hard-coded via Register() call:

https://github.com/dagger/dagger/blob/a6330f8167187d4805693fa19d4feaa1decc676d/plan/task/copy.go#L13

We want to extend it with more CUE tasks with Go functions. It will look like this:

func main() {
	dgRuntime := dagger.NewRuntime()
	dgRuntime.TaskStore().Register("KubeApply", myFunc)
}

Here is a list of functions to consider: https://kubevela.io/docs/platform-engineers/workflow/cue-actions#c...

vivid lintelBOT
vivid lintelBOT
#

Bumps nanoid from 3.1.30 to 3.2.0.

Changelog
Sourced from nanoid's changelog.

Change Log
This project adheres to Semantic Versioning.
3.2

Added --size and --alphabet arguments to binary (by Vitaly Baev).

3.1.32

Reduced async exports size (by Artyom Arutyunyan).
Moved from Jest to uvu (by Vitaly Baev).

3.1.31

Fixed collision vulnerability on object in size (by Artyom Arutyunyan).

Commits

23b1369 Release 3.2 version
967788e Remove TS test tools
27eaa9...

#

Bumps nanoid from 3.1.9 to 3.1.31.

Changelog
Sourced from nanoid's changelog.

3.1.31

Fixed collision vulnerability on object in size (by Artyom Arutyunyan).

3.1.30

Reduced size for project with brotli compression (by Anton Khlynovskiy).

3.1.29

Reduced npm package size.

3.1.28

Reduced npm package size.

3.1.27

Cleaned dependencies from development tools.

3.1.26

Improved performance (by Eitan Har-Shoshanim).
Reduced npm package size.

3.1.25

Fixed br...

vivid lintelBOT
#

I have a Dockerfile:

FROM jupyter/scipy-notebook

WORKDIR /workspace

RUN mkdir /workspace/my-model
ENV MODEL_DIR=/workspace/my-model
ENV MODEL_FILE_LDA=clf_lda.joblib
ENV MODEL_FILE_NN=clf_nn.joblib

COPY requirements.txt ./requirements.txt
RUN pip install -r requirements.txt 

COPY train.csv ./train.csv
COPY test.json ./test.json

COPY train.py ./train.py
COPY api.py ./api.py

RUN python3 train.py

How can I do that in os.#Container like the getting starte...

vivid lintelBOT
#

I've encountered a weird error.

Basically, when running dagger up on a package using the alpine package behind, it was throwing the following error:

5:57PM DBG system | detected buildkit config    haveHostNetwork=true isActive=true version=v0.9.3
5:57PM DBG system | failed to check universe version: universe not installed
5:57PM DBG system | spawning buildkit job    attrs=null localdirs={}
5:57PM INF HelloWorld | computing
5:57PM INF config.credentials.secret | computing
5:57P...
vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

Bumps amplitude-js from 8.15.1 to 8.16.0.

Release notes
Sourced from amplitude-js's releases.

v8.16.0
8.16.0 (2022-01-21)
Bug Fixes

catch errors with Request.send (#490) (333f8a4)

Features

accept custom session id paramter in config (#485) (b64b8b0)
allow cors header to be excluded from request headers (#489) (0119ac7)

Changelog
Sourced from amplitude-js's changelog.

8.16.0 (2022-01-21)
Bug Fixes

catch errors with Request.send (#...

#

Bumps docusaurus-plugin-sass from 0.2.1 to 0.2.2.

Release notes
Sourced from docusaurus-plugin-sass's releases.

v0.2.2

Merge pull request #23 from Queue-ri/master
Fix npm ERESOLVE and EJSONPARSE in package.json

Commits

c195399 Merge pull request #23 from Queue-ri/master
d7cb7fd fix(deps): Remove comma in git repository url
92a4884 fix(deps): Support docusaurus v2 beta
34b7145 Merge pull request #22 from v-jiepeng/patch-1
287fcf2 Upd...

vivid lintelBOT
vivid lintelBOT
#

I just noticed a data race in CI: https://github.com/dagger/dagger/runs/4930769392?check_suite_focus=true

It looks like it might be happening in task/transformsecret.go.

We're using value.Walk(), and in Walk we've left this nugget:

func (v *Value) Walk(before func(*Value) bool, after func(*Value)) {
	// FIXME: lock?

So I think yes, we should lock.

/cc @talentedmrjones

Trace:

# (from function `dagger' in file netlify/test/../../bats_helpers.bash, lin...
vivid lintelBOT
#

As discussed in #1429 we need some high-level wrappers to ease the entry into #TransformSecret. This is a proposal for the design of dagger.#SopsSecret (I'm not attached to names at this point, open/happy to consider other suggestions)

package dagger

import (
  "encoding/yaml"
)

#SopsSecrets: {
  input: dagger.#Secret
  _transform: #TransformSecret: {
    "input": input
    #function: {
        input: _
        output: yaml.Unmarshal(input)
    }
  }
  output: ...
#

As discussed in #1429 we need some high-level wrappers to ease the entry into #TransformSecret. This is a proposal for the design of dagger.#JsonSecret (I'm not attached to names at this point, open/happy to consider other suggestions)

package dagger

import (
  "encoding/json"
)

#JsonSecrets: {
  input: dagger.#Secret
  _transform: #TransformSecret: {
    "input": input
    #function: {
        input: _
        output: json.Unmarshal(input)
    }
  }
  output: ...
vivid lintelBOT
#

I had to re-run all jobs in the CI workflow at least 10 times in the past 2 days. The problem is that when one jobs fails, all jobs need to re-run, which sometimes results in different jobs failing.

This not only wastes a lot of dev time - 2h in total for my last PR https://github.com/dagger/dagger/pull/1476 - but it also wastes CI minutes and fragments our flow to the point that we are tempted to ignore CI.

This is a very tricky proposition and while it may feel liberating in the short...

vivid lintelBOT
#

This requires us to spin up a new dagger-ci VM, as mentioned here: https://github.com/dagger/dagger/pull/1493#issuecomment-1021080655

This is meant to be used with https://github.com/elitak/nixos-infect to provision a VM on Digital Ocean declaratively, with everything that we need for these tests.

The proof-of-concept worked. The next step is to wire it up for real in something like make dagger-ci which leverages doctl. The final version of this should definitely use a Digital Ocean D...

#

When this workflow is scheduled, instead of triggered manually, we need a default bump type, otherwise it will fail:
https://github.com/dagger/dagger/runs/4942069177?check_suite_focus=true#step:5:11

If the SEMVER_BUMP environment variable is not set via an input, which will be the case for all scheduled runs, default to the same 'prerel alpha..' value.

This is a ship & show follow-up to https://github.com/dagger/dagger/pull/1476

What is ship & show? https://martinfowler.com/articles...

vivid lintelBOT
vivid lintelBOT
#

My cue:

import (
	"alpha.dagger.io/dagger"
	"alpha.dagger.io/docker"
)

pushSecret: {
	username: dagger.#Input & {dagger.#Secret}
	password: dagger.#Input & {dagger.#Secret}
} | *null

parameters: build: {
	dockerfile: string
	pushTarget: string
}

image: docker.#Build & {
	dockerfile: parameters.build.dockerfile
	source:     ""
}

push: docker.#Push & {
	target: parameters.build.pushTarget
	source: image
	if pushSecret != null {
		auth: {
			username: pushSec...
vivid lintelBOT
#

For example, I might generate some resources:

generateResource: v1: Service: "\(parameters.metadata.namespace)": "\(parameters.metadata.name)": {
	metadata: labels: env: parameters.serveModel.env
	spec: {
		type: "ClusterIP"
		ports: [{
			port:       parameters.serveModel.container.port
			targetPort: parameters.serveModel.container.port
		}]
		selector: app: parameters.metadata.name
	}
}

After dagger up, the value can be queried via dagger query generateResource....

vivid lintelBOT
#

Bumps google.golang.org/grpc from 1.43.0 to 1.44.0.

Release notes
Sourced from google.golang.org/grpc's releases.

Release 1.44.0
New Features

balancer: add RLS load balancing policy (#5046)
xds: add RLS Cluster Specifier Plugin (#5004)
insecure: remove experimental notice (#5069)

Bug Fixes

internal/balancergroup: eliminate race in exitIdle (#5012)
authz: fix regex expression match (#5035)

Documentation

grpc: minor improvement on WithInsecure() documen...

#

Bumps @docusaurus/core from 2.0.0-beta.14 to 2.0.0-beta.15.

Release notes
Sourced from @​docusaurus/core's releases.

2.0.0-beta.15 (2022-01-26)
Highlights on Twitter
:rocket: New Feature

docusaurus-plugin-content-docs

#6451 feat(content-docs): expose isCategoryIndex matcher to customize conventions (@​Josh-Cena)
#5782 feat(content-docs): displayed_sidebar front matter (@​Josh-Cena)

docusaurus-theme-classic, docusaur...

vivid lintelBOT
#

I propose we start requiring medium-to-large feature PRs to come with raw documentation (e.g. mostly bullet points on what it is, how to use it, example).

It's not intended to be user facing documentation, the goal is to:

  • Provide raw material we'll be using to write documentation later on (instead of having to ping the author and ask to explain)
  • Make sure we don't forget to document some slightly obscure features (e.g. #1302)
  • Provide a starting point for Europa testers whi...
vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

The signature between the two is fairly different (e.g. contents -> source.root, source -> source.path).

This is fine, I'm just double checking this is not an unintended drift before cutting the next release.

This kind of drift will prevent us from to mitigating #1324 (e.g. using codegen, etc).

docker.#Copy: {
    input:    #Image
    contents: dagger.#FS
    source:   string | *"/"
    dest:     string | *"/"
    output: #Image
}

engine.#Copy: {
	input:...
vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

engine.#Copy now matches docker.#Copy

#Copy: {
	$dagger: task: _name: "Copy"
	// Input of the operation
	input: #FS
	// Contents to copy
	contents: #FS
	// Source path (optional)
	source: string | *"/"
	// Destination path (optional)
	dest: string | *"/"
	// Output of the operation
	output: #FS
}

To use:

exec: engine.#Exec & {
      input: image.output
      args: [
        "sh", "-c",
        #"""
          echo -n hello world > /output.txt
...
vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

Changes

Related to #1407.

Implement docker.#Dockerfile definition which is basically a mirror on engine.#Dockerfile

:warning: This PR will have conflict with #1524, a rebase will be necessary since I wanted to split those two improvement.

Tests

  • [x] Build an image with an aligned dockerfile
  • [x] Build an image with an input
vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

Closes #1317

Signed-off-by: Helder Correia


Why

If you want to save a string into the local disk (e.g., writing a docker-compose.yaml file from CUE), currently you need to create a #FS via engine.#WriteFile and reference it in outputs: directories. This can be made simpler.

What

Added outputs: files to the plan to make it easier to write a string to a file, without having to go through engine.#WriteFile.

How

Here’s an example on writing a docker compo...

vivid lintelBOT
#

Bumps amplitude-js from 8.16.0 to 8.16.1.

Release notes
Sourced from amplitude-js's releases.

v8.16.1
8.16.1 (2022-01-28)
Bug Fixes

use Date.now() for test cookie value (#495) (03e270e)

Changelog
Sourced from amplitude-js's changelog.

8.16.1 (2022-01-28)
Bug Fixes

use Date.now() for test cookie value (#495) (03e270e)

Commits

ddff63b chore(release): 8.16.1 [skip ci]
03e270e fix: use Date.now() for test cookie value (#495)
See f...

#

Bumps @svgr/webpack from 6.2.0 to 6.2.1.

Release notes
Sourced from @​svgr/webpack's releases.

v6.2.1
Bug Fixes

do not transform mask-type (#673) (6e58f2c), closes #643
use .ts extension for generated index (#670) (d19abe2), closes #462

Changelog
Sourced from @​svgr/webpack's changelog.

6.2.1 (2022-01-30)
Bug Fixes

do not transform mask-type (#673) (6e58f2c), closes #643
use .ts extension for generated index (#670) (d19abe2), closes #462

Commi...

vivid lintelBOT
vivid lintelBOT
#

This PR fixes #1452:

Before proposed change After proposed change
engine.#Push, engine.#Pull auth: [...{ target: string username: string secret: string | #Secret }] auth: { username: string secret: dagger.#Secret }
docker.#Push, docker.#Pull auth: [registry=string]: { username: string secret: dagger.#Secret } auth: { username: string secret: dagger.#Secret }
engine.#Dockerfile auth: [...{ target: string use...
vivid lintelBOT
#

Closes #1339

Signed-off-by: Helder Correia

/cc @jlongtine


Why

Currently there’s no way to update/add values to a Docker image metadata, only to replace in its entirety. Users expect to be able to change the default user, working directory and environment variables, for example.

What

Added a new docker.#Set definition to update/add image config values.

How

Here’s an example that adds to PATH:

package main

import (
	"dagger.io/dagger"
	...
vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

Until we get proper CI on Windows, we need to make sure the 0.2.0 works on Windows. As a reminder, Windows uses WSL2 for the Linux backend, only the client needs to be supported natively, like on Mac.

Once the manual tests are done, we can close this or open new issues if anything needs to be fixed.

Assigning to me.

cc @aluzzardi for priority

vivid lintelBOT
#

Bumps cypress from 9.3.1 to 9.4.1.

Release notes
Sourced from cypress's releases.

9.4.1
Released 1/31/2022
Bugfixes:

Fixed a regression in 9.4.1 where the
line endings in the public NPM package prevented some users from running
Cypress. Fixes #19986.

9.4.0
Released 1/31/2022
Features

Enhancements were made to .selectFile() after receiving feedback after its
initial release in 9.3.0.

The default behavior was updated to automatically infer the mime...

#

Bumps @mdx-js/react from 1.6.22 to 2.0.0.

Release notes
Sourced from @​mdx-js/react's releases.

2.0.0
Welcome to MDX 2! See the of the website for everything:

MDX 2: https://mdxjs.com/blog/v2/
Migrating: https://mdxjs.com/migrating/v2/

@mdx-js/mdx

4a48f1f4 Fix custom elements (#1911)

@mdx-js/react

9ca9d404 Fix unnecessary top-level context changes (#1924)

@mdx-js/loader

e0b697ab 9d5501b2 Add improved webpack cache (#1912, #19...

#

Bumps sass from 1.49.0 to 1.49.4.

Release notes
Sourced from sass's releases.

Dart Sass 1.49.4
To install Sass 1.49.4, download one of the packages below and add it to your PATH, or see the Sass website for full installation instructions.
Changes
Embedded Sass

First stable release the sass-embedded npm package that contains the Node.js Embedded Host.

First stable release of the sass_embedded pub package that contains the Embedded Dart Sass compil...

vivid lintelBOT
vivid lintelBOT
#

Error

% brew install dagger/tap/dagger
==> Downloading https://dl.dagger.io/dagger/releases/0.2.0-alpha.3/dagger_v0.2.0-alpha.3_darwin_amd64.tar.gz
Already downloaded: /Users/gaetan/Library/Caches/Homebrew/downloads/a80e8b0d527e60b50876ecc8ca48348709e695c50677afaa8d6ff2e3564389cd--dagger_v0.2.0-alpha.3_darwin_amd64.tar.gz
==> Installing dagger from dagger/tap
Error: Your Command Line Tools are too outdated.
Update them from Software Update in System Preferences or run:
  soft...
ornate vigilBOT
#

cc @dagger/team

I think we should add a very simple Github issue template. Therefore, we can gather minimum information if we need to reproduce bugs. This is something we've already talked about with @gerhard @grouville and @TomChv.
Here is a simple example (TBD):


Issue tracker is ONLY used for reporting bugs.

Expected Behavior

Tell us what should happen

Current Behavior

Tell us what happens instead of the expected behavior

Steps to Reproduce

2...

ornate vigilBOT
#
vivid lintelBOT
#

Bumps sass from 1.49.4 to 1.49.7.

Release notes
Sourced from sass's releases.

Dart Sass 1.49.7
To install Sass 1.49.7, download one of the packages below and add it to your PATH, or see the Sass website for full installation instructions.
Changes
Embedded Sass

First stable release the sass-embedded npm package that contains the Node.js Embedded Host.

First stable release of the sass_embedded pub package that contains the Embedded Dart Sass compil...

vivid lintelBOT
#

This is a master issue to track all the work related to migrating our CI.

Goal

Port all binary builds, github workflows, Makefile, integration tests, website and docs deployment to a single dagger plan.

Extra context: https://github.com/dagger/dagger/discussions/1230

(NOTE: a single dagger plan is to reflect the intent to fit in a single DAG, can be revisited if it works)

Todo list (non-exhautive)

  • [ ] Define the base UX to selectively run certain parts of the Pla...
ornate vigilBOT
vivid lintelBOT
#

Due to race issues with the implementation of #TransformSecret that #DecodeSecret leveraged, we need to (at least temporarily) implement the ability to decode json and yaml in Go as an engine task. The user facing API and output remain the same for #DecodeSecret only the backend implementation changes. This PR does temporarily remove #TransformSecret from dagger/engine due to unresolved data race issues.

Signed-off-by: Richard Jones

vivid lintelBOT
#

Context

Currently working on #1020, I first tried to understand how buildkit manage his cache in local.
But I found that dagger do not actually use local cache

package test

import (
	"dagger.io/dagger/engine"
)

engine.#Plan & {
	actions: {
		image: engine.#Pull & {
			source: "alpine"
		}

		test: engine.#Exec & {
			input: image.output
			args: ["/bin/sh", "-c", """
					sleep 15 && echo test
				"""]
		}
	}
}

Output

# Down buildkit...
vivid lintelBOT