#github-feed

1 messages · Page 6 of 1

vivid lintelBOT
#

Bumps mypy from 1.2.0 to 1.3.0.

Commits

9df39ab set version to 1.3.0
c1464a9 Revert "Fix disappearing errors when re-running dmypy check (#14835)" (#15179)
d887e9c Fix performance in union subtyping (#15104)
320b883 Typeshed cherry-pick: stdlib/xml: fix return types for toxml/toprettyxml meth...
6a68049 Fix sys.platform when cross-compiling with emscripten (#14888)
3d9661c Fix bounded self types in override incompatibility checking (#15045)
0799a8...

#

Bumps typing-extensions from 4.5.0 to 4.6.2.

Changelog
Sourced from typing-extensions's changelog.

Release 4.6.2 (May 25, 2023)

Fix use of @deprecated on classes with new but no init.
Patch by Jelle Zijlstra.
Fix regression in version 4.6.1 where comparing a generic class against a
runtime-checkable protocol using isinstance() would cause AttributeError
to be raised if using Python 3.7.

Release 4.6.1 (May 23, 2023)

Change deprecated ...

#

Bumps typedoc from 0.23.26 to 0.24.7.

Release notes
Sourced from typedoc's releases.

v0.24.7
Features

TypeDoc will now allow conversion without any entry points to support "readme only" packages, #2264.

Bug Fixes

Category children are now sorted according to the sort option, #2272.
Inline tags no longer require a space after the tag name to be parsed as a tag, #2273.
Fixed module/namespace links in navigation when viewed in Safari, #2275...

#

Bumps @svgr/webpack from 6.5.1 to 8.0.1.

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

v8.0.1
Bug Fixes

fix peer dependencies (2e05255)

v8.0.0
Bug Fixes

parseObject error causes website broken (05f2946)

Features

types: change SVGProps from import to import type (#853) (095f021)
add snake_case filename option (#857) (428b0c7)
make index template more flexible (#861) (003009c)

BREAKING CHANGES

index template now receives an array of objects ...

ornate vigilBOT
#

@dmarteau Yes, as I mentioned before, the easiest way is to use some registry as intermediary. While dagger shares the same engine as docker build, they are bootstrapped quite differently. When you build with docker build it's bootstrapped to work with the docker engine. But dagger isn't dependent on docker specifically, it depends on a container runtime like containerd.

I actually didn't know you could pull in FROM from the local engine. I'm curious if it works when using buildtctl ...

vivid lintelBOT
ornate vigilBOT
#

But dagger isn't dependent on docker specifically

Oh ok, I thought that Dagger was relying on the local docker engine for building.

I actually didn't know you could pull in FROM from the local engine

docker build always resolve image (tag or manifest) from the local engine then pull if the image is not found locally - It will be barely usable if we had to rely on registry each time we want to build a set of inherited images.

vivid lintelBOT
#

Bumps webpack from 5.75.0 to 5.85.0.

Release notes
Sourced from webpack's releases.

v5.85.0
New Features

Add readonly cache mode by @​vankop in webpack/webpack#15470
Normalize property accessors for esm namespaces and chained member/call expressions by @​bworline in webpack/webpack#17203
Support environment in loader context by @​alexander-akait in webpack/webpack#17281
Introduce a new syntax for addModule() support in worklets - *context.audioWorklet....

#

Bumps webpack from 5.75.0 to 5.85.0.

Release notes
Sourced from webpack's releases.

v5.85.0
New Features

Add readonly cache mode by @​vankop in webpack/webpack#15470
Normalize property accessors for esm namespaces and chained member/call expressions by @​bworline in webpack/webpack#17203
Support environment in loader context by @​alexander-akait in webpack/webpack#17281
Introduce a new syntax for addModule() support in worklets - *context.audioWorklet....

#

Bumps webpack from 5.75.0 to 5.85.0.

Release notes
Sourced from webpack's releases.

v5.85.0
New Features

Add readonly cache mode by @​vankop in webpack/webpack#15470
Normalize property accessors for esm namespaces and chained member/call expressions by @​bworline in webpack/webpack#17203
Support environment in loader context by @​alexander-akait in webpack/webpack#17281
Introduce a new syntax for addModule() support in worklets - *context.audioWorklet....

#

Bumps webpack from 5.75.0 to 5.85.0.

Release notes
Sourced from webpack's releases.

v5.85.0
New Features

Add readonly cache mode by @​vankop in webpack/webpack#15470
Normalize property accessors for esm namespaces and chained member/call expressions by @​bworline in webpack/webpack#17203
Support environment in loader context by @​alexander-akait in webpack/webpack#17281
Introduce a new syntax for addModule() support in worklets - *context.audioWorklet....

#

Bumps webpack from 5.75.0 to 5.85.0.

Release notes
Sourced from webpack's releases.

v5.85.0
New Features

Add readonly cache mode by @​vankop in webpack/webpack#15470
Normalize property accessors for esm namespaces and chained member/call expressions by @​bworline in webpack/webpack#17203
Support environment in loader context by @​alexander-akait in webpack/webpack#17281
Introduce a new syntax for addModule() support in worklets - *context.audioWorklet....

vivid lintelBOT
#

Bumps webpack from 5.75.0 to 5.85.0.

Release notes
Sourced from webpack's releases.

v5.85.0
New Features

Add readonly cache mode by @​vankop in webpack/webpack#15470
Normalize property accessors for esm namespaces and chained member/call expressions by @​bworline in webpack/webpack#17203
Support environment in loader context by @​alexander-akait in webpack/webpack#17281
Introduce a new syntax for addModule() support in worklets - *context.audioWorklet....

vivid lintelBOT
#

Introduces a custom internal (--debug) vertex for displaying health-check logs, replacing the old-and-busted _DAGGER_DEBUG_HEALTHCHECKS hack which just dumped them straight to stderr (which is incompatible with TUIs).

The vertex is named after the internal command used to run the healthcheck: check HOSTNAME 1234/tcp 5678/udp.

image

vivid lintelBOT
#

Tried developing in WSL today and noticed every service healthcheck was failing with i/o timeouts.

Turns out each service hostname lookup was succeeding locally, but dnsmasq was also querying the resolv.conf file, which - for whatever reason - was taking 1 second to return NXDOMAIN. Our health checks configure a 1 second dial timeout, so all healthchecks were failing/flaky.

This config change tells dnsmasq to only consult resolv.conf for hosts that have a dot in them, so that service ho...

ornate vigilBOT
ornate vigilBOT
ornate vigilBOT
ornate vigilBOT
vivid lintelBOT
#

What happened? What did you expect to happen?

Hey,

I'm using the following code to sync a large (~800MB) tar file between a container and the host.

    ctr.WithMountedFile(tarFile, d.Host().File(hostFile)) // import
    ....
    create new tar
    ....
    ctr.File(tarFile).Export(ctx, exportDir); // export

On GitHub actions, using dagger v0.7.1,
It takes almost 90 seconds to import the file and 4 minutes to export it.

Any way to export a file faster?

vivid lintelBOT
#

What is the issue?

Gradle does not work when run within a dagger run context.

Log output

Example. I have a simple application in a gradle module called playground. I can run the app easily with the following

$ ./gradlew playground:run -q --console=plain
hi

however, feed this through dagger run ./gradlew playground:run -q --console=plain and the process hangs indefinitely.

Adding a --debug does not offer a whole lot of insight
...

ornate vigilBOT
#

When running the basic setup from the examples on our repo it takes several minutes to "transfer" (20s even when cached) and several minutes to copy (regardless of any file changes?), is there a way to debug/understand where the bottleneck is?

vivid lintelBOT
#

What happened? What did you expect to happen?

How can I set the default Platform to linux/arm64 with the dagger GO SDK.

Problem is when I run dagger it starts the engine inside a docker image for linux/amd64 because it is set as default on my macbook and I like to change that in my Dagger pipeline. The container crashes with amd64 on an arm64 machine.

I don't get it how to set it with to following function:

`func (r *Client) DefaultPlatform(ctx context.Context) (Platform...

vivid lintelBOT
#

Following @sipsma's comment:

Great catch, on a less urgent note we'll also run into problems representing dates w/ unix time after 2038 :-)

This follows a conversation with @JammUtkarsh, who wanted to contribute:

Root cause: "Unix Millennium Bug."

Unix time is the number of seconds that have elapsed since January 1, 1970, at 00:00:00 UTC...

ornate vigilBOT
vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

There is a lot more context in this whole thread: https://github.com/dagger/dagger/pull/5229

tl;dr

  • Long-standing issue with buildkit where certain grpc operations just freeze indefinitely until client disconnects.
  • Reported a few years ago, but issue went stale https://github.com/grpc/grpc-go/issues/4722
  • We started hitting this in Dagger, here and here
  • Newer issue in grpc repo suggests th...
vivid lintelBOT
ornate vigilBOT
vivid lintelBOT
vivid lintelBOT
ornate vigilBOT
#

Hi ! Sorry for the late answer.

  • Can you use dagger to build the dockerfile: well, yes, I can do that.

  • spin up a registry (local to dagger), push the image there: I could do that, but that would include extra steps. Ultimately, I think my question is the following one. *What If I don't want to bother to create a registry that will be created, used, and destroyed right after ? Why can't I save my image in the same place that the other ones, i.e. /var/lib/docker/storage_driv...

vivid lintelBOT
#

Follow-up on #5060 to improve DX in Python.

Using strawberry should be considered an implementation detail. This adds a thin layer on top of it because it's easier that way. There's still a lot to improve, but this aims to be a minimal experimental proof of concept.

I've placed demos in sdk/python/experimental because it's easier to run these from sdk/python. Otherwise it takes too long to load the context if run from the root of the repo.

Simple [cowsay example](https://github.c...

vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

Problem

Dagger has an API for logical grouping: the Pipeline step. Developers use it for nesting pipelines within other pipelines. But the Pipeline step relies on chaining semantics, not nesting. Because of this mismatch between the reality of how Pipeline works, and how developers think it works, everyone gets confused.

Solution

I propose a new API for logically grouping, that supports nesting natively. As a result, what developers think will happen actually matches ...

vivid lintelBOT
#

Turns the following generated code:

// Initializes this container from a Dockerfile build.
func (r *Container) Build(context *Directory, opts ...ContainerBuildOpts) *Container {
	q := r.q.Select("build")
	q = q.Arg("context", context)
	// `dockerfile` optional argument
	for i := len(opts) - 1; i >= 0; i-- {
		if !querybuilder.IsZeroValue(opts[i].Dockerfile) {
			q = q.Arg("dockerfile", opts[i].Dockerfile)
			break
		}
	}
	// `buildArgs` optional argument
	for i := len(opts...
vivid lintelBOT
vivid lintelBOT
#

While running tests ~20 times for https://github.com/dagger/dagger/pull/5149#discussion_r1224441710, I have noticed that core/integration TestClientWaitsForEngine fails intermittently:

FAIL core/integration

=== Failed
=== FAIL: core/integration TestClientWaitsForEngine (17.78s)
    engine_test.go:117:
            Error Trace:    /app/core/integration/engine_test.go:117
            Error:          Received unexpected error:
                            input:1: container.fro...
vivid lintelBOT
#

Right now, changes to the shim do not result in a cache invalidation of the exec, which is extremely confusing when developing. It also could result in tests incorrectly being skipped if run on engines in CI w/ persistent caches.

Immediate idea on how to fix would be to stamp the dagger-engine binary with a digest of the shim when it gets built. That can then be relayed to the client via worker labels and included in the exec (can set it as an env var that gets unset before the user proc...

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

Bumps webpack from 5.75.0 to 5.87.0.

Release notes
Sourced from webpack's releases.

v5.87.0
New Features

Implement fetchPriority feature as parser option and magic comment by @​alexander-akait in webpack/webpack#17249
[CSS] - Introduce 'css/auto' as a css module type by @​ahabhgk in webpack/webpack#16577
[CSS] - Style-specific fields now automatically resolve in package.json by @​burhanuday in webpack/webpack#17346
webpack configuration API now accepts...

vivid lintelBOT
vivid lintelBOT
#

based on #5297

Now that we're able to stream arbitrary progress to the frontend, it's possible to run services via the gateway instead.

There were a few tricky parts to this.

Problem A: It doesn't seem possible to take an arbitrary Container and run it via the Gateway instead. The Container already "bakes in" an LLB definition that refers to the result of running the service. The only thing you can really do is try to Solve() it.

Solution A: change the API such that Services ...

vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

What is the issue?

Installing dagger fails for me, when attempting to install either 1.0.0 or version from main branch.

Log output

Mix.install [:dagger]
Error while loading project :dagger at /Users/eugene/Library/Caches/mix/installs/elixir-1.14.5-erts-13.2.2.1/5962b72f360e314a48eab2e764b5c632/deps/dagger
** (File.Error) could not read file "VERSION": no such file or directory
    (elixir 1.14.5) lib/file.ex:358: File.read!/1
    /Users/eugene/Library/Caches/mix/inst...
vivid lintelBOT
#

Make HEX_DRY_RUN to support true value and fix VERSION file not include when publishing package. Here is the example when publish with HEX_API_KEY=abcd HEX_DRY_RUN=true ./hack/make sdk:elixir:publish sdk/elixir/v1.0.0:

+++ dirname ./hack/make
++ cd ./hack/..
++ pwd
+ DAGGER_SRC_ROOT=/Users/thanabodee/src/github.com/dagger/dagger
+ MAGEDIR=/Users/thanabodee/src/github.com/dagger/dagger/internal/mage
+ cd /Users/thanabodee/src/github.com/dagger/dagger/internal...
vivid lintelBOT
#

What is the issue?

The Elixir SDK doesn't verify the checksum from the checksum file after the engine is downloaded. What we going to do is:

  1. Download the checksum file
  2. Parse the checksum file and find the engine version in it. If it doesn't exist, we need to return an error.
  3. After downloading the engine compressed file (tar.gz | zip), verify checksum with hash in the checksum file.

Log output

No response

Steps to reproduce

No response

SDK version

...

#
#

What are you trying to do?

This is just idea.

The current implementation use Req which depends on :castore (used by Finch). So if we switch to :httpc, it means that we can cut down the dependency, and ensure that it work on escript. But some people might not want to use httpc, so we should open for the user to switch the client by implement the behaviour.

Why is this important to you?

No response

How are you currently working around this?

No response

vivid lintelBOT
#

@wingyplus @shykes

Add checksum_map for collect checksum data from checksum url
Add checksum verify in extract_cli

While adding the verify, I wanted to re-write a few lines, but I did not intervene because I did not understand why exactly. This pr will be a good start both for introduction to sdk and for better understanding. Please do not hesitate to give harsh feedback If there are lines or codes that you think would be better.

ref: #5330

vivid lintelBOT
#

What are you trying to do?

Now that users wrap their code in dagger run, the CLI version is the source of truth for the Dagger API version. If the user forgets to upgrade their dagger CLI it is easy to end up with an SDK talking to an out-of-date CLI. Or vice versa: someone could be using a new dagger CLI with an out-of-date SDK.

Why is this important to you?

Dagger is still rapidly evolving so this leads to occasional runtime breakage - or worse, confusing behavior that's hard...

vivid lintelBOT
#

What is the issue?

From example:

Mix.install([
  {:dagger, path: "."}
])

client = Dagger.connect!()

client
|> Dagger.Query.container()
|> Dagger.Container.from("alpine")
|> Dagger.Container.env_variables()
|> IO.inspect()

The API will return an error:

{:error,
 %Dagger.QueryError{
   errors: [
     %{
       "locations" => [%{"column" => 40, "line" => 1}],
       "message" => "Field \"envVariables\" of type \"[EnvVariable!]!\" must hav...
vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

This allows you to (usually) return a File or Directory from a command
that has a Local SourceOp somewhere in its LLB DAG. This is very
important as many projects will load source code from the project dir in
order to, e.g. build binaries/containers.

It works by using the session ID setting in local source ops, plus doing
a synchronous evaluate of the local op to ensure its cached.

Technically, it's still possible for the local ref to get pruned between
time of sync and time of use...

vivid lintelBOT
vivid lintelBOT
#

What are you trying to do?

I think it is more convenient to run Dagger pipelines with the GO SDK in combination with mage.

This way I can have multiple tasks which can be run with mage funcName
Plus I can use mage/sh to run a simple shell cmd.

Still I like the new TUI of the Dagger CLI 0.6 and I like to see that for all SDKs as well 🚀

Why is this important to you?

I quote from blog: "Using Dagger should spark joy. If users are going to be running CI/CD builds all day, it ...

vivid lintelBOT
#

Before this, a go command like "ThisCommand" or a python command like "this_command" would end up in the CLI as a command named thisCommand.

The camel casing always struck me as odd in a CLI interface, so this changes camel case to kebab, i.e. "this-command".

This is obviously pretty subjective, but it looks a lot better to me and was very easy to try thanks to the strcase library.

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

WIP user docs for project commands.

TODO:

  • [ ] Finish go docs
  • [ ] Add python docs
  • [ ] Cleanup some of the code modifications I made to enable more visibility into commands that aren't compiling (made while debugging the new init template)

Questions for Reviewers

  1. I added support for generating very basic example command code when running dagger project init since it helps writing the docs besides being nice-to-have in general anyways
    • Is this a good idea? And are ...
vivid lintelBOT
#

What is the issue?

When using Python SDK. (Python 3.11 on Windows 11)

Log output

async with dagger.Connection() as client:
           ^^^^^^^^^^^^^^^^^

AttributeError: module 'dagger' has no attribute 'Connection'

Steps to reproduce

import sys

import anyio
import dagger

from rich.console import Console

console = Console()

async def sample_run(args: list[str]):
with console.status("Hold on..."):
async with dagger.Connection() as client:
...

vivid lintelBOT
#

The project runtime code was leftover from ancient times where it still used raw llb and had its own codepaths separate from WithExec.

Now it's updated to use the Dagger API types and dogfood the Container implementation.

This gives it support for all the customization in WithExec (i.e. progrock sock setup) without needing to duplicate. It also benefits from the "stickiness" of Dagger mounts (relative to llb) such that runtimes can setup their own cache mounts and retain them during res...

vivid lintelBOT
vivid lintelBOT
#

This imports https://github.com/nabsul/DaggerSDK under sdk/dotnet as an experimental SDK.

@gerhard action items (part of this PR)

git remote add dagger-sdk-dotnet https://github.com/nabsul/DaggerSDK
git fetch dagger-sdk-dotnet --no-tags
git checkout -b sdk/dotnet dagger-sdk-dotnet/main
mkdir -p sdk/dotnet
git ls-tree -z --name-only HEAD | xargs -...
vivid lintelBOT
vivid lintelBOT
#

fixes #5156

Focused execs will be featured more prominently in the UI. You would typically use this flag to mark the command that accomplishes the primary goal of the pipeline, such as the command that runs your tests.

Please bikeshed this API - it's a bit verbose, at least in Go:

-		WithExec([]string{"golangci-lint", "run", "-v", "--timeout", "5m"}).
+		WithExec([]string{"golangci-lint", "run", "-v", "--timeout", "5m"}, dagger.ContainerWithExecOpts{
+			Focus: true,
+	...
vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

What is the issue?

Calling digest() on a GitRef object instance fails with dagger.exceptions.QueryError: not implemented yet exception

Log output

Connected to engine 974d679fe8b2
Traceback (most recent call last):
  File "/lib/python3.10/site-packages/dagger/api/base.py", line 170, in _handle_execute
    yield
  File "/lib/python3.10/site-packages/dagger/api/base.py", line 107, in execute
    result = await self.session.execute(query)
  File "/lib/python3.10/site-pac...
vivid lintelBOT
#

What is the issue?

Example from the readme fails with what appears to be a generic issue:

Mix.install([{:dagger, github: "dagger/dagger", sparse: "sdk/elixir"}])

client = Dagger.connect!()

client
|> Dagger.Query.container([])
|> Dagger.Container.from(address: "hexpm/elixir:1.14.4-erlang-25.3-debian-buster-20230227-slim")
|> Dagger.Container.with_exec(args: ["elixir", "--version"])
|> Dagger.Container...
vivid lintelBOT
#

Bumps semver from 7.3.8 to 7.5.3.

Release notes
Sourced from semver's releases.

v7.5.3
7.5.3 (2023-06-22)
Bug Fixes

abdd93d #571 set max lengths in regex for numeric and build identifiers (#571) (@​lukekarrys)

Documentation

bf53dd8 #569 add example for > comparator (#569) (@​mbtools)

v7.5.2
7.5.2 (2023-06-15)
Bug Fixes

58c791f #566 diff when detecting major change from prerelease (#566) (@​lukekarrys)
5c8efbc #565 preserve build in raw after inc...

#

Bumps semver from 7.3.8 to 7.5.3.

Release notes
Sourced from semver's releases.

v7.5.3
7.5.3 (2023-06-22)
Bug Fixes

abdd93d #571 set max lengths in regex for numeric and build identifiers (#571) (@​lukekarrys)

Documentation

bf53dd8 #569 add example for > comparator (#569) (@​mbtools)

v7.5.2
7.5.2 (2023-06-15)
Bug Fixes

58c791f #566 diff when detecting major change from prerelease (#566) (@​lukekarrys)
5c8efbc #565 preserve build in raw after inc...

vivid lintelBOT
#

Make any api that perform graphql request return in pattern of {:ok, result} | {:error, reason} pattern. Lets take a look at the example:

Mix.install([
  {:dagger, path: "."}
])

client = Dagger.connect!()

client
|> Dagger.Query.container()
|> Dagger.Container.from("nginx")
|> Dagger.Container.env_variables()
|> IO.inspect()

Dagger.close(client)

Then run:

$ elixir test.exs
Connected to engine f63d9f1488ba
#1 resolve image config for docker.io/l...
vivid lintelBOT
#

What is the issue?

When you use Dagger-in-Dagger, part of it mounts the Progrock socket in so that progress can be forwarded to the outer TUI:

https://github.com/dagger/dagger/blob/0c8da0a136047f58930ba69d0b5779cfcffb93b7/core/container.go#L1056

However the socket on the other side of this has a path that changes on every run:

https://github.com/dagger/dagger/blob/0c8da0a136047f58930ba69d0b5779cfcffb93b7/engine/engine.go#L423

Suggestion: we can add the ability to set a fixed ...

ornate vigilBOT
vivid lintelBOT
vivid lintelBOT
#

What is the issue?

If you mount a secret, then switch user / uid, then execute a command, dagger panics. Even when the command being executed does not rely on the secret in any way.

Even when unmounting the secret with WithoutMount the WithExec still panics.

Expected behaviour:

  • Command not relying on the secret runs without any issue
  • After unmount any command should be able to run

Log output

Panics with:

go run main.go                                            ...
vivid lintelBOT
#

What is the issue?

Differently than Docker which has an embedded tiny process (https://docs.docker.com/engine/reference/run/#specify-an-init-process), some Dagger users could potentially find differences while running service containers (i.e mongodb) as the service container will just exec as soon as the init process exists.

We should document this caveats and provide instructions for users finding themselves in this situations. Here's a discord thread which provides one possible wo...

vivid lintelBOT
ornate vigilBOT
#

Thanks for this @gerhard 🙌 I agree with the timeline.

  • Do we skip a regular release (usually every 2 weeks), or merge in a different branch than main?

Using a different branch seems safer to me. That allows us to push an hotfix release if we need to.

Non-breaking?

We can do the following in a non-breaking change, but perhaps the best UX would be a breaking one so I need to revisit that soon and I’ll update my opinion on it:

#

Apart from https://github.com/dagger/dagger/issues/5069 which is a new feature, everything else I mentioned above is trivial to implement. And for bigger user changes like renaming envVariable and deprecating exitCode, we can still go through the deprecation path but still take the opportunity of this announcement for users to also want to make those changes but with less pressure from a removal.

vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

What is the issue?

I have the use case that my pipeline connects to a service which calls another service (Pipeline->ServiceA->ServiceB)
At the moment I struggeling to get this work.

Here an example to illustrate the problem. The alpine container calls the proxy, thisis working as expected. But the Proxy is throwing an error because it can't reach the echo server.

package main

import (
	"context"
	"os"
	"time"

	"dagger.io/dagger"
)

func main() {

	ctx := co...
vivid lintelBOT
#

Bumps golang.org/x/crypto from 0.9.0 to 0.10.0.

Commits

8e447d8 go.mod: update golang.org/x dependencies
22c9997 go.mod: tell x repo tagging to ignore dep on net
d0b3160 x509roots: add new module
1622238 Add support for "hmac-sha2-512-etm@openssh.com"
See full diff in compare view

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=golang.org/x/crypto&package-manager=go_modul...

#

Bumps github.com/prometheus/procfs from 0.10.1 to 0.11.0.

Release notes
Sourced from github.com/prometheus/procfs's releases.

v0.11.0
What's Changed

Create new error types in proc.go and use them to unify error messages by @​conallob in prometheus/procfs#526
fs: syscall.Statfs_t object doesn't have a Type field on Windows by @​adrianosela in prometheus/procfs#528
Bug Fix: Slice out of bound in filterOfflineCpus by @​taherkk in prometheus/procfs#534
A...

#

Bumps github.com/vito/progrock from 0.6.0 to 0.7.0.

Commits

bbf4235 Merge pull request #8 from vito/focus
beb9adb restore non-focus status bar to normal
2f2f9c1 switch to bleeding-edge Dagger features
5f57560 show errored vetices even if they're not focused
88be0f7 add focus mode
f58a9c9 bump flakes
d934b7b fix demo
9537dd1 add test command
d38d935 add Dagger ci stack
See full diff in compare view

[![Dependabot compatibility score](https://dependabot...

#

Bumps golang.org/x/net from 0.10.0 to 0.11.0.

Commits

6c96ca5 go.mod: update golang.org/x dependencies
5541298 quic: add packet pacer
88a50b6 all: update x/sys to HEAD
7e6923f quic: add RTT estimator
2796e09 bpf: check for little endian CPU for OS VM comparison
10cf388 quic: add a data structure for tracking lists of sent packets
ccc217c quic: parameterize rangeset
f16447c quic: add go1.21 build constraint
f7250ea quic: add a type tracking sent values
1b5a2d...

#

Bumps platformdirs from 3.7.0 to 3.8.0.

Release notes
Sourced from platformdirs's releases.

3.8.0

What's Changed

Add missing user media directory docs by @​kemzeb in platformdirs/platformdirs#195

Full Changelog: https://github.com/platformdirs/platformdirs/compare/3.7.0...3.8.0

Commits

d5111a7 Add missing user media directory docs (#195)
See full diff in compare view

[![Dependabot compatibility score](https://dependabot-badges.gith...

#

Bumps pytest from 7.3.2 to 7.4.0.

Release notes
Sourced from pytest's releases.

7.4.0
pytest 7.4.0 (2023-06-23)
Features

#10901: Added ExceptionInfo.from_exception() <pytest.ExceptionInfo.from_exception>{.interpreted-text role="func"}, a simpler way to create an ~pytest.ExceptionInfo{.interpreted-text role="class"} from an exception.
This can replace ExceptionInfo.from_exc_info() <pytest.ExceptionInfo.from_exc_info()>{...

#

Bumps typing-extensions from 4.6.3 to 4.7.0.

Release notes
Sourced from typing-extensions's releases.

4.7.0
This is a feature release. Major changes include:

All non-deprecated names from typing are now re-exported by typing_extensions for convenience
Add typing_extensions.get_protocol_members and typing_extensions.is_protocol
Declare support for Python 3.12
This will be the last feature release to support Python 3.7, which recently reached it...

vivid lintelBOT
#

Bumps golang.org/x/tools from 0.9.3 to 0.10.0.

Release notes
Sourced from golang.org/x/tools's releases.

gopls/v0.10.0
This release contains initial support for standalone packages and package renaming. Please see below for more details.
We are also changing our release policy to better align with semver.
Support changes
This version of gopls contains changes to our release policy, deprecates support for some older Go versions, and deprecates support for s...

#

Bumps sass from 1.61.0 to 1.63.6.

Release notes
Sourced from sass's releases.

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

Fix import sass from 'sass' again after it was broken in the last release.

Embedded Sass

Fix the exports declaration in package.json.

See the full changelog for changes in earlier releases.
Da...

#

Bumps typescript from 4.9.5 to 5.0.4.

Release notes
Sourced from typescript's releases.

TypeScript 5.0.4
For release notes, check out the release announcement.
For the complete list of fixed issues, check out the

fixed issues query for Typescript v5.0.0 (Beta).
fixed issues query for Typescript v5.0.1 (RC).
fixed issues query for Typescript v5.0.2 (Stable).
fixed issues query for Typescript v5.0.3 (Stable).
fixed issues query for Typescript v5.0.4...

#

Bumps spectaql from 2.0.5 to 2.1.1.

Changelog
Sourced from spectaql's changelog.

2.1.1

Fix cross-OS bug where rm was used. anvilco/spectaql#837
Dependency updates

2.1.0

Add support for inputValueDeprecation
Dependency updates

2.0.9

Add info.contact.url to the templates

2.0.8

Dependency updates

2.0.7

Dependency updates

2.0.6

Dependency updates

Commits

See full diff in compare view

[![Dependabot compatibility score](https://dependabo...

#

Bumps @typescript-eslint/eslint-plugin from 5.59.2 to 5.60.1.

Release notes
Sourced from @​typescript-eslint/eslint-plugin's releases.

v5.60.1
5.60.1 (2023-06-26)
Note: Version bump only for package @​typescript-eslint/typescript-eslint
You can read about our versioning strategy and releases on our website.
v5.60.0
5.60.0 (2023-06-19)
Features

eslint-plugin: [restrict-plus-operands] add allow* option...

#

Bumps eslint from 8.41.0 to 8.44.0.

Release notes
Sourced from eslint's releases.

v8.44.0
Features

1766771 feat: add es2023 and es2024 environments (#17328) (Milos Djermanovic)
4c50400 feat: add ecmaVersion: 2024, regexp v flag parsing (#17324) (Milos Djermanovic)
4d411e4 feat: add ternaryOperandBinaryExpressions option to no-extra-parens rule (#17270) (Percy Ma)
c8b1f4d feat: Move parserServices to SourceCode (#17311) (Milos Djermanovic)
ef6e24e feat: t...

#

Bumps graphql from 16.6.0 to 16.7.1.

Release notes
Sourced from graphql's releases.

v16.7.1 (2023-06-22)
:loudspeaker: Big shout out to @​phryneas, who managed to reproduce this issue and come up with this fix.
Bug Fix 🐞

#3923 instanceOf: workaround bundler issue with process.env (@​IvanGoncharov)

Committers: 1

Ivan Goncharov(@​IvanGoncharov)

v16.7.0 (2023-06-21)
New Feature 🚀

#3887 check "globalThis.process" before accessing it (@​ket...

#

Bumps @typescript-eslint/parser from 5.59.8 to 5.60.1.

Release notes
Sourced from @​typescript-eslint/parser's releases.

v5.60.1
5.60.1 (2023-06-26)
Note: Version bump only for package @​typescript-eslint/typescript-eslint
You can read about our versioning strategy and releases on our website.
v5.60.0
5.60.0 (2023-06-19)
Features

eslint-plugin: [restrict-plus-operands] add allow* options (#6161) (def09f8)

...

vivid lintelBOT
vivid lintelBOT
#

When we were getting ready to launch the Python SDK in https://github.com/dagger/dagger/pull/3730 I was having a few issues with Hatch so I migrated to Poetry at the last minute. It gave a bit more control and lock file support, but I preferred a package manager that followed standards more closely.

Moving back to hatch is motivated mostly by wanting to follow standards and to simplify things a bit more. This was revisited while working on #5300.

Lock file support is not as important be...

ornate vigilBOT
#

TL;DR:

It'd be awesome if the Dagger API offers some DX friendly way of:

  • a way to build up an unroll stack
  • a way to attach error handlers to a step or named pipeline

From @verdverm in Discord (#1124479852901310495 message)

The problem is that I don't know when the pipeline failed and if I need to clean up. If I fail in 4, I need to cleanup, if I fail in 1, I do not need to.

There used to be an idea for dagger d...

ornate vigilBOT
vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

Removing unimplemented fields in the API because it's confusing to users:

There's no indication that it's not implemented other than trying and failing. We could at least update these fields' descriptions, but I don't see the point.

Side question: How would we implement these?

For example, to get the list of branches, we'd have to do what users already need to do: run git in a container, requiring setting the keepGitDir: true o...

vivid lintelBOT
#

Bumps google.golang.org/grpc from 1.51.0 to 1.53.0.

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

Release 1.53.0
API Changes

balancer: support injection of per-call metadata from LB policies (#5853)
resolver: remove deprecated field resolver.Target.Endpoint and replace with resolver.Target.Endpoint() (#5852)

Special Thanks: @​kylejb

New Features

xds/ringhash: introduce GRPC_RING_HASH_CAP environment variable to override the maximum ri...

#

What is the issue?

The following code fails with an error:

Mix.install([{:dagger, github: "dagger/dagger", sparse: "sdk/elixir"}])

client = Dagger.connect!()

src =
  client
  |> Dagger.Query.git("https://github.com/hexpm/hexpm")
  |> Dagger.GitRepository.branch("main")
  |> Dagger.GitRef.tree()

client
|> Dagger.Query.container()
|> Dagger.Container.with_workdir("/src", src)
|> Dagger.Container.with_directory("/src", src)
|> Dagger.Container.from("hexpm/elixir:1.1...
vivid lintelBOT
vivid lintelBOT
#

Previously, every Dagger client had its own graphql server and buildkit session, all running in the CLI.

This rearchitects the server to no longer be in the CLI but instead be in the engine runner (i.e. the container/pod/etc. running the buildkitd wrapper).

  • Clients can still have separate sessions, but any "nested" clients that run in containers started by a client (e.g. environments and their entrypoints) now connect back to the same session + graphql server.
  • Each client still uses ...
vivid lintelBOT
#

What are you trying to do?

In the context of our project, we are attempting to set up Dagger, a task runner and workflow orchestrator, in an environment where all services and resources are exclusively accessible through our intranet. To this end, we need to download the Dagger engine image from a private Docker or Podman registry hosted within our intranet.

Currently, Dagger's code is structured in such a way that the registry's domain (in this case, dl.dagger.io) is hardcoded as a n...

vivid lintelBOT
vivid lintelBOT
#

What is the issue?

Running the example in Step 3 of the CLI documentation fails. Note that the example in Step 2 executed correctly without errors on the same machine.

Log output

• Engine: 520d3686abe7
• Engine: 520d3686abe7
Error: Unknown argument "source" on field "withDirectory" of type "Container".
Field "withDirectory" argument "directory" of type "DirectoryID!"...

vivid lintelBOT
#

Bumps tough-cookie from 4.1.2 to 4.1.3.

Release notes
Sourced from tough-cookie's releases.

4.1.3
Security fix for Prototype Pollution discovery in #282. This is a minor release, although output from the inspect utility is affected by this change, we felt this change was important enough to be pushed into the next patch.

Commits

4ff4d29 4.1.3 release preparation, update the package and lib/version to 4.1.3. (#284)
12d4747 Prevent prototype p...

#

Bumps tough-cookie from 4.1.2 to 4.1.3.

Release notes
Sourced from tough-cookie's releases.

4.1.3
Security fix for Prototype Pollution discovery in #282. This is a minor release, although output from the inspect utility is affected by this change, we felt this change was important enough to be pushed into the next patch.

Commits

4ff4d29 4.1.3 release preparation, update the package and lib/version to 4.1.3. (#284)
12d4747 Prevent prototype p...

#

Bumps tough-cookie from 4.1.2 to 4.1.3.

Release notes
Sourced from tough-cookie's releases.

4.1.3
Security fix for Prototype Pollution discovery in #282. This is a minor release, although output from the inspect utility is affected by this change, we felt this change was important enough to be pushed into the next patch.

Commits

4ff4d29 4.1.3 release preparation, update the package and lib/version to 4.1.3. (#284)
12d4747 Prevent prototype p...

#

Bumps tough-cookie from 4.1.2 to 4.1.3.

Release notes
Sourced from tough-cookie's releases.

4.1.3
Security fix for Prototype Pollution discovery in #282. This is a minor release, although output from the inspect utility is affected by this change, we felt this change was important enough to be pushed into the next patch.

Commits

4ff4d29 4.1.3 release preparation, update the package and lib/version to 4.1.3. (#284)
12d4747 Prevent prototype p...

#

Bumps tough-cookie from 4.1.2 to 4.1.3.

Release notes
Sourced from tough-cookie's releases.

4.1.3
Security fix for Prototype Pollution discovery in #282. This is a minor release, although output from the inspect utility is affected by this change, we felt this change was important enough to be pushed into the next patch.

Commits

4ff4d29 4.1.3 release preparation, update the package and lib/version to 4.1.3. (#284)
12d4747 Prevent prototype p...

#

Bumps tough-cookie from 4.1.2 to 4.1.3.

Release notes
Sourced from tough-cookie's releases.

4.1.3
Security fix for Prototype Pollution discovery in #282. This is a minor release, although output from the inspect utility is affected by this change, we felt this change was important enough to be pushed into the next patch.

Commits

4ff4d29 4.1.3 release preparation, update the package and lib/version to 4.1.3. (#284)
12d4747 Prevent prototype p...

vivid lintelBOT
#

Dagger currently has Dockerfile support through the DockerBuild and Build operations, but it only allows specifying a single build context at the time for that. Not so long ago, Docker (and Dockerfiles) added support for multiple named build contexts https://www.docker.com/blog/dockerfiles-now-support-multiple-build-contexts/ which allows to use multiple build contexts during a build.

I'd be nice if Dagger could add support for this use-case as well.

ref: https://discord.com/chann...

vivid lintelBOT
#

What is the issue?

When starting the dagger engine container, my machine will freeze for a second or two. This also occurs randomly when when using dagger but I am not sure exactly what the cause is. Best guess is something to do with networking, due to these kernel logs appearing just before the freeze:

Jul 10 12:15:43 srv1 kernel: dagger0: port 1(vethee2d8db1) entered blocking state
Jul 10 12:15:43 srv1 kernel: dagger0: port 1(vethee2d8db1) entered disabled state
Jul 10 12:15:4...
vivid lintelBOT
#

What is the issue?

We are on Artifactory and after the 0.6.3 upgrade we can't push images to Artifactory. We are on Artifactory v6.x. Artifactory v7+ is supposed to support OCI images but I don't have a way to test. We don't have an upgrade planned in the near future so we won't be able to use new features of Dagger if non OCI supporting registries don't work with new Dagger versions.

The specific PR that affected this - https://github.com/dagger/dagger/pull/5365

Log output

_No ...

vivid lintelBOT
#

Import Client like the rest of codegen types:

-import Client, { connect, Container } from "@dagger.io/dagger"
+import { connect, Client, Container } from "@dagger.io/dagger"

Discussed in:

Mentioned by users as well. Example in [discord](#1125996361117093958 message) in relation to https://github.com/dagger/dagger/issues/4036.

vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

Noticed this while working on Zenith, just filing issue atm so as it not get distracted but will fix before next release.

If you use WithDirectory where the dest path of the source dir is the same as the internal selector of the source dir, then direct merge is incorrectly triggered, which can result in contents from above the internal selector being revealed under the / of the dest dir.

Just need to enforce that direct merge requires the source's selector to be / I think. So easy...

vivid lintelBOT
#

Bumps semver from 6.3.0 to 6.3.1.

Release notes
Sourced from semver's releases.

v6.3.1
6.3.1 (2023-07-10)
Bug Fixes

928e56d #591 better handling of whitespace (#591) (@​lukekarrys, @​joaomoreno, @​nicolo-ribaudo)

Changelog
Sourced from semver's changelog.

6.3.1 (2023-07-10)
Bug Fixes

928e56d #591 better handling of whitespace (#591) (@​lukekarrys, @​joaomoreno, @​nicolo-ribaudo)

6.2.0

Coerce numbers to strings when passed to semver.coerce()
Add...

#

Bumps semver from 6.3.0 to 6.3.1.

Release notes
Sourced from semver's releases.

v6.3.1
6.3.1 (2023-07-10)
Bug Fixes

928e56d #591 better handling of whitespace (#591) (@​lukekarrys, @​joaomoreno, @​nicolo-ribaudo)

Changelog
Sourced from semver's changelog.

6.3.1 (2023-07-10)
Bug Fixes

928e56d #591 better handling of whitespace (#591) (@​lukekarrys, @​joaomoreno, @​nicolo-ribaudo)

6.2.0

Coerce numbers to strings when passed to semver.coerce()
Add...

#

Bumps semver from 6.3.0 to 6.3.1.

Release notes
Sourced from semver's releases.

v6.3.1
6.3.1 (2023-07-10)
Bug Fixes

928e56d #591 better handling of whitespace (#591) (@​lukekarrys, @​joaomoreno, @​nicolo-ribaudo)

Changelog
Sourced from semver's changelog.

6.3.1 (2023-07-10)
Bug Fixes

928e56d #591 better handling of whitespace (#591) (@​lukekarrys, @​joaomoreno, @​nicolo-ribaudo)

6.2.0

Coerce numbers to strings when passed to semver.coerce()
Add...

#

Bumps semver from 6.3.0 to 6.3.1.

Release notes
Sourced from semver's releases.

v6.3.1
6.3.1 (2023-07-10)
Bug Fixes

928e56d #591 better handling of whitespace (#591) (@​lukekarrys, @​joaomoreno, @​nicolo-ribaudo)

Changelog
Sourced from semver's changelog.

6.3.1 (2023-07-10)
Bug Fixes

928e56d #591 better handling of whitespace (#591) (@​lukekarrys, @​joaomoreno, @​nicolo-ribaudo)

6.2.0

Coerce numbers to strings when passed to semver.coerce()
Add...

#

Bumps semver from 6.3.0 to 6.3.1.

Release notes
Sourced from semver's releases.

v6.3.1
6.3.1 (2023-07-10)
Bug Fixes

928e56d #591 better handling of whitespace (#591) (@​lukekarrys, @​joaomoreno, @​nicolo-ribaudo)

Changelog
Sourced from semver's changelog.

6.3.1 (2023-07-10)
Bug Fixes

928e56d #591 better handling of whitespace (#591) (@​lukekarrys, @​joaomoreno, @​nicolo-ribaudo)

6.2.0

Coerce numbers to strings when passed to semver.coerce()
Add...

vivid lintelBOT
#

Highly WIP, but have some basics functioning on top of the re-architecture PR.

Working basics:

  1. Invoking environment commands, including local dir import/export. Examples:
    • ./hack/dev ./bin/dagger do -e ./universe/dagger --output /tmp/testout cli
    • ./hack/dev ./bin/dagger do -e ./universe/dagger lint
  2. "type-unsafe" API for invocation (i.e. dagger env calls out to the go-sdk env to lint)
  3. Loading environments both from ...
vivid lintelBOT
#

What are you trying to do?

https://docs.dagger.io/7442989/cookbook#integrations

Unfortunately, there is no integration for bitbucket pipeline in the documentation.

It would be nice if this part could be added. :)

Why is this important to you?

There are many users who use bitbucket pipeline. If the function is introduced, I think that companies will use it a lot in enterprise units.

How are you currently working around this?

No response

vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

Closes #3885

Why?

This was already implemented in all non-experimental SDKs, but with slight differences. This change puts them in the same footing.

Type selection

Go was the most conservative, where With only existed in Container and Directory, manually. Python was the least one, with a generic, which applied to all object types. Node.js only excluded Query.

I think the most simple and logical “rule of thumb” to add this method is on **types that have any field t...

vivid lintelBOT
#

The previous MergeOp optimization missed a corner case where if the selector of the source dir was the same as the destination path, direct MergeOp could be triggered and reveal anything above the selector of the source during the merge.

This fixes it by only triggering direct merge when both src and dest paths (including any selectors) are "/".


Fixes #5437

Noticed this while working on Zenith, just patching quick before I forget.

vivid lintelBOT
#

What are you trying to do?

Context on https://github.com/dagger/dagger/pull/5445#discussion_r1262868539

Currently if an environment variable does not exist, it will either return "" in Go and Node SDK, or None in Python or Null on GQL.
We shall make the behaviour consistent by throwing an error if the variable does not exist.

Note: If the variable has an empty value such as "", it must not be considered as an error.

Why is this important to you?

No response

##...

vivid lintelBOT
#

What is the issue?

Since v0.6.3, some operations stopped caching. See the steps below on how to reproduce.

I did not have time to dig into which of these changes introduced this change in behaviour, but I'm fairly certain that it's one of these: https://github.com/dagger/dagger/releases/tag/v0.6.3

For now, I am sharing for visibility (discovered it earlier today). When I get a moment, if someone else doesn't pick it up by then, my intention is to continue digging into this.

cc @...

#

What is the issue?

Using Python SDK 0.6.3 and running the following code:

import dagger, anyio, sys

async def main() -> None:
    config = dagger.Config(log_output=sys.stderr)
    connection = dagger.Connection(config)

    async with connection as client:
        source = client.host().directory(".", include=["testfile"])
        await (
            client.container()
            .from_("busybox")
            .with_file("/testfile", source.file("testfile"))
          ...
vivid lintelBOT
vivid lintelBOT
#

Bumps golang.org/x/tools from 0.10.0 to 0.11.0.

Release notes
Sourced from golang.org/x/tools's releases.

gopls/v0.11.0
This is a small release containing new integrations of vulnerability analysis.
Vulnerability analysis for go.mod files can be enabled by configuring the "vulncheck" setting to "Imports". For more information on vulnerability management, see the Vulnerability Management for Go blog post.
Support changes
This release rem...

#

Bumps black from 23.3.0 to 23.7.0.

Release notes
Sourced from black's releases.

23.7.0
Highlights

Runtime support for Python 3.7 has been removed. Formatting 3.7 code will still be
supported until further notice (#3765)

Stable style

Fix a bug where an illegal trailing comma was added to return type annotations using
PEP 604 unions (#3735)
Fix several bugs and crashes where comments in stub files were removed or mishandled
under some circumstances (#3745)
F...

#

Bumps github.com/go-git/go-git/v5 from 5.5.2 to 5.7.0.

Release notes
Sourced from github.com/go-git/go-git/v5's releases.

v5.7.0
What's Changed

*: Add support for initializing SHA256 repositories by @​pjbgf in go-git/go-git#707
git: add mirror clone option by @​aymanbagabas in go-git/go-git#735
git: Add support to ls-remote with peeled references. Fixes #749 by @​pjbgf in go-git/go-git#750
git: fix cloning with branch name by @​AriehSchneier in go-git/go...

#

Bumps github.com/google/go-containerregistry from 0.14.0 to 0.15.2.

Release notes
Sourced from github.com/google/go-containerregistry's releases.

v0.15.2
What's Changed

Make 403 non-fatal for manifest existence checks by @​jonjohnsonjr in google/go-containerregistry#1691
Do not reuse pushers for pullers by @​jonjohnsonjr in google/go-containerregistry#1701

Full Changelog: https://github.com/google/go-containerregistry/compare/v0.15.1...v0....

#

Bumps @typescript-eslint/eslint-plugin from 5.60.1 to 5.62.0.

Release notes
Sourced from @​typescript-eslint/eslint-plugin's releases.

v5.62.0
5.62.0 (2023-07-10)
Bug Fixes

eslint-plugin: [comma-spacing] allow no space after trailing comma in objects and arrays (#6938) (24bdacc)
eslint-plugin: [prefer-includes] escape special characters (#7161) (5a347a5), closes #7145
eslint-plugin: replace auto-fix ...

#

Bumps github.com/spf13/cobra from 1.6.1 to 1.7.0.

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

v1.7.0
✨ Features

Allow to preserve ordering of completions in bash, zsh, pwsh, & fish: @​h4ck3rk3y #1903
Add support for PowerShell 7.2+ in completions: @​oldium #1916
Allow sourcing zsh completion script: @​marckhouzam #1917

🐛 Bug fixes

Don't remove flag values that match sub-command name: @​brianpursley #1781
Fix powershell completions n...

#

Bumps eslint from 8.44.0 to 8.45.0.

Release notes
Sourced from eslint's releases.

v8.45.0
Features

cdd063c feat: Expose LegacyESLint in unsupported API (#17341) (Nicholas C. Zakas)
d34abe5 feat: fix indent rule for else-if (#17318) (Milos Djermanovic)

Bug Fixes

b79b6fb fix: Fix suggestion message in no-useless-escape (#17339) (Francesco Trotta)
c667055 fix: provide unique fix and fix.range objects in lint messages (#17332) (Milos Djermanovic)

Document...

#

Bumps @typescript-eslint/parser from 5.60.1 to 5.62.0.

Release notes
Sourced from @​typescript-eslint/parser's releases.

v5.62.0
5.62.0 (2023-07-10)
Bug Fixes

eslint-plugin: [comma-spacing] allow no space after trailing comma in objects and arrays (#6938) (24bdacc)
eslint-plugin: [prefer-includes] escape special characters (#7161) (5a347a5), closes #7145
eslint-plugin: replace auto-fix of class literal prop...

#

Bumps golang.org/x/mod from 0.11.0 to 0.12.0.

Commits

baa5c2d all: add godoc links
7603649 zip: fix TestCreateFromDirSpecial/ignore_symlink on wasmtime
22d21f4 zip: fix doc for CreateFromVCS function
bfed713 zip: fix LICENSE file handling to match modfetch
See full diff in compare view

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=golang.org/x/mod&package-manager=go_modules&previous...

vivid lintelBOT
#

This is causing container hostnames to change on every run, causing caches to bust.

We tried changing Container.WithExec to only set a hostname if the container exposes ports, but that breaks two use cases:

  1. Calling WithExec before WithExposedPort.
  2. Using a container as a service without explicitly exposed ports.

We could stomach temporarily breaking the latter case, but the former case is probably pretty common, since that's what our docs show.

The impact of this change on t...

vivid lintelBOT
vivid lintelBOT
#

in a debugging session with @vito, we found out that alpine 3.16 and
3.17 has a regression where dns queries which have a "search ." in
resolv.conf are not passed to the specified nameserver accordingly.

we came across this while I was trying to run dagger tests in my local
machine which is an ubuntu based system managed by
systemd-resolved which by defaults adds a search . entry in the
/etc/resolv.conf file

Signed-off-by: Marcos Lilljedahl

vivid lintelBOT
#

We need to make sure that separate clients/sessions that happen to be loading the same path (whether they are on the same host or not) load independently rather than hitting the same cache just because the paths happen to be the same.


This will only pass if we include session IDs in the local LLB, which it turns out is not just needed for projects/Zenith but also in general to prevent two clients incorrectly de-duplicating local dir loads.

It passes as is on main, but only as of ...

vivid lintelBOT
#

What are you trying to do?

As per this discord thread:

#1130321786001690745 message

If you have a misconfigured service, such as an exposed port that doesn't do anything, dagger will retry indefinitely to connect to the service. This can be confusing to end users if they aren't running with dagger run --debug. We suggest a default timeout for the service healthcheck that is configurable, and if it meets that timeout, som...

vivid lintelBOT
vivid lintelBOT
#

SessionID is important to keep on host directories, because otherwise the Buildkit solver's vertex is keyed only on a local client's path, whose contents may differ when clients are running in containers with different content mounted to the same path. This primarily affects setups with a long-running external engine.

To prevent the SessionID from busting caches everywhere, hostnames are now calculated by taking a stable hash of the *pb.Definition, which is a pretty invasive process:

Fi...

vivid lintelBOT
#

We recently introduced a new changelog tracking process https://github.com/dagger/dagger/pull/5408 which, in summary, proposes the following workflow:

  1. Create a branch
  2. Add your code (commit)
  3. Create a PR
  4. Perform changie new and manually add the PR # from previous step
  5. Add changie file (commit)

I'm wondering if this somehow could be simplified since steps 4 and 5 could be forgotten and/or have typos given that it's best effort.

vivid lintelBOT
vivid lintelBOT
ornate vigilBOT
vivid lintelBOT
ornate vigilBOT
vivid lintelBOT
#

What is the issue?

I'm getting errors with simple envVariable and label usage, but the response in the error looks legit.

import Client, { connect } from "@dagger.io/dagger"

connect(async (client: Client) => {
  console.log(await client.container().from("alpine").envVariable("PATH"))
})

Log output

file:///Users/helder/Projects/dagger/sdk/nodejs/api/utils.ts:5
  GraphQLRequestError,
                                                                ^
...
#

All changes seem to be Engine & CLI related, nothing SDK-specific.

This will make the next release quicker, since generating the release notes will be just a matter of running changie batch patch.

@vito @sipsma @helderco if somethings does not look right, please make the change and push directly to the fork, no need to comment. I don't think that we have anything for the SDKs (apart from the Engine bump), but please add anything that I may have missed.

@helderco I was not sure whet...

vivid lintelBOT
#

Overview

I want to start a discussion on an important aspect of Dagger's architecture: whether to make the engine stateful or stateless. This is a complex topic with important ramifications, that affect users in very tangible ways.

This has been a known unresolved question for a while, which we collectively shelved to deal with more urgent things. But I think now is the time to unshelve it, because more organizations are now running, or looking to run, Dagger on their CI infrastructu...

vivid lintelBOT
#

When collecting registry download stats, we sometimes fail to retrieve the Go SDK version being used. This is because some users run their Dagger pipeline from another directory: go run ./magefile.go -w ../ all

With this PR, we now recursively search in subdirectories if the dagger.io/dagger package is being imported in a go.mod. As we are doing a Depth First Search, which can be quite resource intensive, I scoped it to a depth of 2

vivid lintelBOT
#

The primary difference as of this release is that we generate release notes with changie before releasing, and we use this file in GoReleaser. For now this is manual, but it will be automated as soon as we are confident that this is the right approach.

Opening as a draft PR, want to double-check in my fork that releasing works as expected (wouldn't want to have to fix issues half-way through releasing).

vivid lintelBOT
#

While trying to understand who uses Dagger, we realized that some Go SDK users were periodically heavily using us. As we are currently sha256 encoding some Git Labels, we currently have no idea who, and where they are using us.

Relying on base64 instead of sha256 would help us understand better the usage of the Go SDK

cc @gerhard

PS: this might create some noise with the current hashes

vivid lintelBOT
#

Add few lines during engine loading to update user. This PR update Typescript and Go SDK.

Related to: #4820

Example on Typescript SDK

yarn start
yarn run v1.22.19
$ node --loader ts-node/esm ./index.mts
(node:97293) ExperimentalWarning: Custom ESM Loaders is an experimental feature and might change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
Starting Dagger session...
Dagger session started! Establishing connection with the ...
vivid lintelBOT
vivid lintelBOT
#

Bumps word-wrap from 1.2.3 to 1.2.4.

Release notes
Sourced from word-wrap's releases.

1.2.4
What's Changed

Remove default indent by @​mohd-akram in jonschlinkert/word-wrap#24
🔒fix: CVE 2023 26115 (2) by @​OlafConijn in jonschlinkert/word-wrap#41
:lock: fix: CVE-2023-26115 by @​aashutoshrathi in jonschlinkert/word-wrap#33
chore: publish workflow by @​OlafConijn in jonschlinkert/word-wrap#42

New Contributors

@​mohd-akram made their first contri...

#

Bumps word-wrap from 1.2.3 to 1.2.4.

Release notes
Sourced from word-wrap's releases.

1.2.4
What's Changed

Remove default indent by @​mohd-akram in jonschlinkert/word-wrap#24
🔒fix: CVE 2023 26115 (2) by @​OlafConijn in jonschlinkert/word-wrap#41
:lock: fix: CVE-2023-26115 by @​aashutoshrathi in jonschlinkert/word-wrap#33
chore: publish workflow by @​OlafConijn in jonschlinkert/word-wrap#42

New Contributors

@​mohd-akram made their first contri...

#

Bumps word-wrap from 1.2.3 to 1.2.4.

Release notes
Sourced from word-wrap's releases.

1.2.4
What's Changed

Remove default indent by @​mohd-akram in jonschlinkert/word-wrap#24
🔒fix: CVE 2023 26115 (2) by @​OlafConijn in jonschlinkert/word-wrap#41
:lock: fix: CVE-2023-26115 by @​aashutoshrathi in jonschlinkert/word-wrap#33
chore: publish workflow by @​OlafConijn in jonschlinkert/word-wrap#42

New Contributors

@​mohd-akram made their first contri...

#

Bumps word-wrap from 1.2.3 to 1.2.4.

Release notes
Sourced from word-wrap's releases.

1.2.4
What's Changed

Remove default indent by @​mohd-akram in jonschlinkert/word-wrap#24
🔒fix: CVE 2023 26115 (2) by @​OlafConijn in jonschlinkert/word-wrap#41
:lock: fix: CVE-2023-26115 by @​aashutoshrathi in jonschlinkert/word-wrap#33
chore: publish workflow by @​OlafConijn in jonschlinkert/word-wrap#42

New Contributors

@​mohd-akram made their first contri...

#

Bumps word-wrap from 1.2.3 to 1.2.4.

Release notes
Sourced from word-wrap's releases.

1.2.4
What's Changed

Remove default indent by @​mohd-akram in jonschlinkert/word-wrap#24
🔒fix: CVE 2023 26115 (2) by @​OlafConijn in jonschlinkert/word-wrap#41
:lock: fix: CVE-2023-26115 by @​aashutoshrathi in jonschlinkert/word-wrap#33
chore: publish workflow by @​OlafConijn in jonschlinkert/word-wrap#42

New Contributors

@​mohd-akram made their first contri...

#

Bumps word-wrap from 1.2.3 to 1.2.4.

Release notes
Sourced from word-wrap's releases.

1.2.4
What's Changed

Remove default indent by @​mohd-akram in jonschlinkert/word-wrap#24
🔒fix: CVE 2023 26115 (2) by @​OlafConijn in jonschlinkert/word-wrap#41
:lock: fix: CVE-2023-26115 by @​aashutoshrathi in jonschlinkert/word-wrap#33
chore: publish workflow by @​OlafConijn in jonschlinkert/word-wrap#42

New Contributors

@​mohd-akram made their first contri...

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

This imports https://github.com/jcsirot/dagger-java-sdk under sdk/java as an experimental SDK.

@gerhard action items (part of this PR)

git remote add dagger-sdk-java https://github.com/jcsirot/dagger-java-sdk
git fetch dagger-sdk-java --no-tags
git checkout -b sdk/java dagger-sdk-java/main
mkdir -p sdk/java
git ls-tree -z --name-only HEAD ...
ornate vigilBOT
vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
ornate vigilBOT
#

One additional breaking change I think we should consider as part of this is to remove Host.envVariable

Reasons to remove:

  1. In practice, due to design changes, it has ended up not being needed anymore and thus confusing to users
    • The original idea from way back to the original cloak release was that extensions would use this to read env vars from the host, but ...
vivid lintelBOT
ornate vigilBOT
#

+1

Another option: could we ship v0.8.0 without the re-architecture, deprecate Host.envVariable in that release, and then remove it in v0.9 with the new architecture? The new services API won't make it in to v0.8.0 (it's possible but doesn't seem worth the extra effort vs building on top of the new architecture), so we're going to have two breaking releases either way.[^1]

The question I suppose is whether we hold off on merging the re-architecture or if we make a v0.8.0 release branc...

vivid lintelBOT
vivid lintelBOT
ornate vigilBOT
#

Another option: could we ship v0.8.0 without the re-architecture, deprecate Host.envVariable in that release, and then remove it in v0.9 with the new architecture? The new services API won't make it in to v0.8.0 (it's possible but doesn't seem worth the extra effort vs building on top of the new architecture), so we're going to have two breaking releases either way.1

(Been talking to A...

vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

What is the issue?

ref: https://discord.com/channels/707636530424053791/1134415015198330981

We have a cookbook that explains how to clone private repositories here https://docs.dagger.io/710884/private-repositories/. Having said that, in some cases like go private modules a bit more tweaking is necessary. Here's an example of how I had to configure my dagger pipeline to make it work:

   _, err = client.Pipeline("build").
        Container().
        From("golang:1.20").
 ...
vivid lintelBOT
#

Related to https://github.com/dagger/dagger/issues/4456 and https://github.com/dagger/dagger/issues/4820

This takes a slightly different approach than Go and Node.js in https://github.com/dagger/dagger/pull/5488.

Instead of Message... OK! lines written only to log_output, this change is less obtrusive, more animated and works even without log_output[^1]:

  • Shows an animation which gives a better experience than a static "…", and replaces status updates in-line.
  • In the end th...
vivid lintelBOT
vivid lintelBOT
ornate vigilBOT
#

Now that this has been brought to my attention I realize it's quite a breaking change since it touches some common fields!

The cruft of it is that in the Go SDK, when you use container.EnvVariable or container.Label, the return type in the API is String but in go it's string. So it doesn't allow us to make a distinction between a non-existent value and an empty one. Changing optional leafs to pointers would fix that.

This isn't so...

vivid lintelBOT
#

Issue

I want to set a timeout for specific WithExec steps, Is it possible?

package main

import (
	"context"
	"fmt"

	"dagger.io/dagger"
)

func main() {
	ctx := context.Background()
	client, err := dagger.Connect(ctx)
	if err != nil {
		panic(err)
	}
	defer client.Close()

	alpine := client.Container().From("alpine")
	alpine = alpine.WithExec([]string{"htop"}) // Set timeout for Exec?
	str, err := alpine.Stdout(ctx)
	if err != nil {
		panic(err)
	}
	fm...
ornate vigilBOT
#

Personally, I'm OK with these returning zero-values in Go; it feels more conventional than using pointers everywhere. I don't think the distinction between "not set" and "empty value" is important enough in practice, but I'm open to being wrong on that if there's a solid example. I think you could make an argument for env vars being unset vs. empty but even outside of Go I find it's safest to just never make a distinction there except in corner cases, and just set a dummy value like 1 to be...

ornate vigilBOT
#

I flagged this issue initially because in v0.2 (CUE) having this distinction was important to users for some use cases and it's not like a user can always control what the value is set to. It led to several requests and support issues over time. However, that was mostly in the Client API for reading host env variables to setup the Dagger Plan dynamically and it was further complicated because of the string | Secret disjunction.

Now you have several workarounds:

  • For host env vars, you ...
vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

What happened?

There are 1 security vulnerabilities found in golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab

What did I do?

Upgrade golang.org/x/sys from v0.0.0-20220811171246-fbc7d0a398ab to 0.1.0 for vulnerability fix

What did you expect to happen?

Ideally, no insecure libs should be used.

How can we automate the detection of these types of issues?

By using the [GitHub Actions](https://github.com/murphyse...

vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

What is the issue?

I open this issue for tracking the documentation for Elixir SDK.

I think it's great to start with Elixir SDK section first then a Cookbook section. W...

vivid lintelBOT
vivid lintelBOT
#

Before this, the rust CI steps were not actually running w/ the dev CLI because the SDK doesn't yet support _EXPERIMENTAL_DAGGER_CLI_BIN.

This resulted in the steps always downloading the CLI based on the version last bumped.

Unfortunately, correcting this seems to have possibly revealed a catch-22 situation in that the generate step fails due to backwards incompatible changes recently made in our API. Not sure the best way to go about fixing.


I ran into this due to the fact...

vivid lintelBOT
vivid lintelBOT
#

What is the issue?

When MIMEType defaults to application/vnd.oci.image.layer.v1.tar+gzip, ghcr.io no longer displays OCI labels correctly, i.e. https://github.com/users/gerhard/packages/container/sysadmin/114534202

This changed in v0.6.3 via:


When MIMEType is set to application/vnd.oci.image.layer.v1.tar.gzip, OCI labels work as expected, i.e. https://github.com/u...

ornate vigilBOT
#

I already use Nix to manage my software dependencies, create development environments, build my software, and create OCI containers. After listening to Solomon speak on the Changelog podcast, I am not sure how or if Dagger could fit into my workflow. My CI/CD pipelines are currently in GitHub Actions and GitLab CI. All they do is say "use this image and run that test". All the software is already prebuilt etc. in the container. How can Dagger improve this? Will it play nicely wi...

distant sonnet
#

Nix

ornate vigilBOT
#

👋 @nat-418

To answer your first question: would non-Nix users be able to run your workflows the same way you do without installing Nix?

In my experience, Nix on Mac would stop working after every reboot. I tried various suggestions & stuck with it for several months in late 2021, but in the end I went back to brew. After that experience, I personally could not recommend Nix on Mac.

As for your second question, Dagger works on NixOS (and with Nix) similar to how Docker does. While t...

ornate vigilBOT
#

Thanks for the reply @gerhard. The code I am talking about is in a proprietary GitLab, but I will try and give a sense of it.

Consider for this example a Python application. there is a deps.nix file in the project's root directory that specifies the various build tools, libraries, etc. required for the project. There is a shell.nix that imports from deps.nix and allows for the emphemeral virtual dev/testing environment. There is also a docker.nix that imports from deps.nix and s...

ornate vigilBOT
vivid lintelBOT
#

We've observed event payloads that have the same vertex repeated multiple times, with the exact same started/completed values. Judging by the code, the only possible place this can happen is when it comes straight from Buildkit; every other place that sets Vertexes always sets it to a 1-length slice.

So this changes the bk2progrock path to dedupe on vertex digest, and prioritize keeping vertices that have a non-nil Completed value.

It also changes the journal file back to the raw B...

ornate vigilBOT
#

Hooohh... I've been wondering lately about trying Nix to replace Homebrew (mostly), and conda (only use it for managing venvs and python versions) in macOS. Reading this makes me pause.

@nat-418, can you have Nix in a container and run from there? A bit like the dockerfile I see here: https://mitchellh.com/writing/nix-with-dockerfiles, but in dagger. This way a team member that doesn't even need to have Nix installed would get the same bu...

vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

Bumps execa from 7.1.1 to 7.2.0.

Release notes
Sourced from execa's releases.

v7.2.0

Add cwd error property (#565) f57fdec

https://github.com/sindresorhus/execa/compare/v7.1.1...v7.2.0

Commits

db9ea8b 7.2.0
f57fdec Add cwd error property (#565)
a228eda Meta tweaks
7bc6eb4 Add note about graceful termination (#562)
19af77f Upgrade xo to 0.54.2 (#563)
f067d5f Meta tweaks
b44d406 Add sponsor to readme
See full diff in compare view

[![Dependa...

#

Bumps google.golang.org/grpc from 1.55.0 to 1.57.0.

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

Release 1.57.0
API Changes

resolver: remove deprecated Target.Scheme and Target.Authority. Use URL.Scheme and URL.Host instead, respectively (#6363)

Behavior Changes

client: percent-encode the default authority for the channel (#6428)
xds: require EDS service name to be set in a CDS cluster with an 'xdstp' resource name (gRFC A47) (#6438)

...

#

Bumps eslint-config-prettier from 8.7.0 to 8.9.0.

Changelog
Sourced from eslint-config-prettier's changelog.

Version 8.9.0 (2023-07-27)

Added: [vue/array-element-newline]. Thanks to @​xcatliu!

Version 8.8.0 (2023-03-20)

Added: [@​typescript-eslint/lines-around-comment]. Thanks to @​ttionya!

Commits

aa1aa34 eslint-config-prettier v8.9.0
7d9ed21 Update everything (#260)
2a2438e feat: off vue/array-element-newline (#259)
6b48bb2 Bum...

#

Bumps github.com/go-git/go-git/v5 from 5.7.0 to 5.8.1.

Release notes
Sourced from github.com/go-git/go-git/v5's releases.

v5.8.1
What's Changed

*: Bump dependencies by @​pjbgf in go-git/go-git#815

Full Changelog: https://github.com/go-git/go-git/compare/v5.8.0...v5.8.1
v5.8.0
What's Changed

git: Fix fetching after shallow clone. Fixes #305 by @​AriehSchneier in go-git/go-git#778
git: enable fetch with unqualified references by @​AriehSchneier in go-git...

#

Bumps @trivago/prettier-plugin-sort-imports from 4.1.1 to 4.2.0.

Release notes
Sourced from @​trivago/prettier-plugin-sort-imports's releases.

v4.2.0
What's Changed

Update README.md to mention fix for pnpm package manager by @​esjs in trivago/prettier-plugin-sort-imports#235
chore: adds FactorialHR as used by company by @​omarsotillo in trivago/prettier-plugin-sort-imports#231
build: update prettier peer dependency semVer to includ...

#

Bumps eslint from 8.45.0 to 8.46.0.

Release notes
Sourced from eslint's releases.

v8.46.0
Features

8a93438 feat: require-unicode-regexp support v flag (#17402) (SUZUKI Sosuke)
1a2f966 feat: no-useless-escape support v flag (#17420) (Yosuke Ota)
ee68d1d feat: no-empty-character-class support v flag (#17419) (Milos Djermanovic)
853d32b feat: deprecate no-return-await (#17417) (Carlos Lopez)
d4f02e4 feat: no-control-regex support v flag (#17405) (Yosuke Ota...

vivid lintelBOT
#

Bumps clsx from 1.2.1 to 2.0.0.

Release notes
Sourced from clsx's releases.

v2.0.0
Breaking

Add "exports" map for native ESM support (#57): 3ec8e9f, 0949868
Also supports TypeScript's node16/nodenext module resolution
Maintains CommonJS support (with fixed TS definitions)
Thank you @​remcohaszing~!

Chores

Add Tailwind Support section to README (#65, #68): 496db1d, 4a4eadd
Thank you @​kevinlowe0x3F7 & @​kevinlowe0x3F7
Add tests for numbers &...

#

Bumps sass from 1.63.6 to 1.64.2.

Release notes
Sourced from sass's releases.

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

Include protocol buffer definitions when uploading the sass package to pub.

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

#

Bumps rich from 13.4.2 to 13.5.2.

Release notes
Sourced from rich's releases.

v13.5.2
Bugfix
[13.5.2] - 2023-08-01
Fixed

Fixed Text.expand_tabs assertion error

v13.5.1
Very minor update to URL highlighting
[13.5.1] - 2023-07-31
Fixed

Fix tilde character (~) not included in link regex when printing to console Textualize/rich#3057

Mostly cake, one or two puppies
https://textual.textualize.io/blog/2023/07/29/pull-requests-are-cake-or-puppies/
[13.5.0] ...

ornate vigilBOT
vivid lintelBOT
ornate vigilBOT
#

It's true that right now Dagger is mostly used as a build + test tool, so if you've already bought into Nix it probably seems a bit redundant, since that's also Nix's bread + butter.

I could ramble about this for ages, but I think the tl;dr is that Nix is mostly focused on building things, Dagger is interested in a more generic approach that can be applied to every stage of the app development lifecycle:

  1. bootstrapping the dev environment
  2. building the app
  3. running all of its te...
vivid lintelBOT
#

What is the issue?

I copied the code from https://docs.dagger.io/593914/quickstart-hello but I needed to run my own "runner" as I have a self-signed certificate. I used a combination of https://docs.dagger.io/1224/self-signed-certificates/# and https://github.com/dagger/dagger/blob/main/core/docs/d7yxc-operator_manual.md

import sys

import anyio
import dagger


async def main():
    config = dagger.Config(log_output=sys.stdout)

    # initialize Dagger client
    ...
vivid lintelBOT
ornate vigilBOT
#

Thanks for clarifying.

Nix covers a lot of this, but it comes with some strong opinions and a steep learning curve.

I haven't used Dagger, but based on Solomon's Changelog interview, it seems that by switching from Q (cue?) / YAML++ to just whatever programming language you are gonna need CI for your CI etc. I'll keep an eye on Dagger, but for now I guess I am not the target market.

#

It's true that right now Dagger is mostly used as a build + test tool, so if you've already bought into Nix it probably seems a bit redundant, since that's also Nix's bread + butter.

I could ramble about this for ages, but I think the tl;dr is that Nix is mostly focused on building things, Dagger is interested in a more generic approach that can be applied to every stage of the app development lifecycle:

  1. bootstrapping the dev environment
  2. building the app
  3. running all of its te...
vivid lintelBOT
#

I accidentally found when using local cli mode like this:

$ env _EXPERIMENTAL_DAGGER_CLI_BIN=~/src/github.com/dagger/dagger/bin/dagger go run ./ci build local-version

And it returns:

Error: exec: "~/src/github.com/dagger/dagger/bin/dagger": stat ~/src/github.com/dagger/dagger/bin/dagger: no such file or directory
Please visit https://dagger.io/help#go for troubleshooting guidance.
Usage:
  ci build [flags]

Flags:
      --dry-run        Build an image but do not ...
vivid lintelBOT
vivid lintelBOT
#

This PR combines a few efforts:

  1. Switching services to run via the gateway interface instead of via Solve() (previously #5322)
  2. Support for explicit Service.start and Service.stop APIs
  3. Support for container => host networking (Host.reverseProxy), represented as a proxy Service
  4. Support for host => service networking (Service.proxy), also represented as a proxy Service

Code samples

Container-to-container networking

Same as before, except you need...

vivid lintelBOT
#

What?

This is a restructure of internal packages and modules in the Python SDK, mainly to rename many to private, and secondly to improve organization. This makes it clearer that they're not part of the "public API" of the library.

Reference docs

Additionally, this also updates the reference docs with a few long standing issues.

Closes #4704
Closes #4685
Closes #4703
Closes #4702

Compatibility

This doesn't change anything that was considered public API of the lib...

vivid lintelBOT
#

What are you trying to do?

we should have a command to easily uninstall when needed

Why is this important to you?

An easy uninstall command makes it easier for people to try Dagger without getting frustrated when and if they ever need to remove it.

How are you currently working around this?

We are building docs for the current uninstall process, but currently users have to figure out how to do it on their own.

vivid lintelBOT
#

What are you trying to do?

User request from discord: https://discord.com/channels/707636530424053791/1136226963133055097

#!/usr/bin/env bash

REGISTRY_PASSWORD="monsecret"


registry_secret_id=$(dagger query <<QUERY | jq -r '.setSecret.id'
{
   setSecret(name: "registry-password", plaintext: "$REGISTRY_PASSWORD") {
     id
   }
}
QUERY
)
echo -e "$registry_secret_id"

dagger query <<QUERY
{
  secret(id: "$registry_secret_id") {
    plaintext
  }
}
QUERY
``...
ornate vigilBOT
vivid lintelBOT
ornate vigilBOT
vivid lintelBOT
#

Previously, we were using a max chunk size based on a non-grpc-default set inside the buildkit client implementation, but the actual grpc default is much smaller than that.

This didn't impact us previously because we only ever ended up hitting the codepaths where the larger max message size was used, but after the recent re-architecture we ended up sometimes using streams where the smaller grpc default was set.

This updates us to just always assume the 4MB grpc default chunk size is bei...

vivid lintelBOT
#

What is the issue?

When running mage ci, I am seeing duplicate STDERR lines:

> mage ci
Creating new Engine session... Creating new Engine session... Creating new Engine session... OK!
Establishing connection to Engine... OK!
Establishing connection to Engine... OK!
Establishing connection to Engine... OK!
8: resolve image config for docker.io/hexpm/elixir:1.14.4-erlang-25.3.2-ubuntu-jammy-20230126
8: > in 📦 RUNTIME IMAGE > from hexpm/elixir:1.14.4-erlang-25.3.2-ubu...
vivid lintelBOT
#

What is the issue?

When running dagger run with v0.8.0, the Engine version is reported incorrectly:

For comparison, this is what the output looks like for v0.6.4:


I suspect that this is related to https://github.com/dagger/dagger/pull/5315, but I did not spend time digging into it. cc @TomChv @vito

Log output

No response

Steps to reproduce

No response

SDK version

Go SDK v0.8.0

OS version

SDK / CLI on macOS 12.6 & Engine on NixOS...

vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

What is the issue?

There appears to be an issue with the interpretation of the Enum in the Node.js SDK.
In the example bellow ImageMediaTypes.Dockermediatypes should return DockerMediaTypes but instead it returns 0.

await client
.container()
.publish(gitLabImageRepo, {
    platformVariants: seededPlatformVariants,
    mediaTypes: ImageMediaTypes.Dockermediatypes, 
});

Log output

GraphQLRequestError: Argument "mediaTypes" has invalid value 0.
Expect...
vivid lintelBOT
#

The version is now reported from the graphql server to the client, which means we need to set the version string in the engine image too.


Tested manually so far by publishing to my dockerhub repo and setting _EXPERIMENTAL_DAGGER_RUNNER_HOST=docker-image://eriksipsma/testdagger:v0.0.999:

I'm also going to give a quick shot at adding an automated test, but will either include here or a follow up depending on timing.

@marcosnils also put the cloud url callback after we've con...

vivid lintelBOT
vivid lintelBOT
#

Overview

There is increasing demand for customizing the dagger engine, including:

  • What version (this carries specific problems because of the version compat matrix, but I will ignore those for now)
  • How to run the engine container (docker, podman, nerdctl, custom script, etc)
  • Runtime customization of the engine container (eg. TLS certificates)
  • Custom hooks, for example for fine-grained control of cache synchronization to Dagger Cloud (credits to @kpenfound for deplo...
ornate vigilBOT
#

We're continuously improving and adding features to Dagger. Occasionally, those improvements require us to make breaking changes to the Dagger API. Dagger 0.8 introduces several such breaking changes.

Our blog post explains the most important ones & helps you have a smooth upgrade process: TBD

If you hit any issues with this new version, or need help upgrading, feel free to leave a comment below.

Happy Upgrading!


Thank you to everyone that contributed to Dagger v0.8! 🙌

...

vivid lintelBOT
#

Before this, we were providing just our remote cache import to the list of "cms" given to the combined cache manager and setting the "main" cache to the local cache.

However, it turns out that the combined cache will only query the list of cache managers provided in "cms"; it will never query the "main" cache.

Now we provide the local cache both in the list of cms and as the main cache manager so that it's queried too.

ornate vigilBOT
#

I (re)discovered dagger recently and while I like the general idea I am still not clear where and why I would ever want to use it, I would love some feedback on how you are using it.

We are currently using concourse as CI/CD engine which works very well for us, my problem is that I fail to see how dagger can integrate in a useful way with a ci setup unless you don't really use your CI/CD engine, am I wrong to consider that if someone would use it with concourse for example he would end up ...

ornate vigilBOT
#

Thanks for the question!

It's possible to use Dagger the way you describe (one big CI job that just runs Dagger), but it's rare that you'd start using Dagger that way. More commonly, you have a 80/20 situation in your CI:

  • 80% of your pipeline is straightforward, changes rarely, and generally gets out of the team's way.
  • 20% is causing problems, and needs to be improved. The problem with that 20% could be that it's too slow (usually because of insufficient caching); **too complex...
ornate vigilBOT
ornate vigilBOT
vivid lintelBOT
#

What is the issue?

A user opened a help request in Discord (https://discord.com/channels/707636530424053791/1137800000202608753) since he was confused about how to use secerts in Docker build operations. This are the current SDK docs:

/**
     * Secrets to pass to the build.
     *
     * They will be mounted at /run/secrets/[secret-name].
     */

It is somehow misleading since it doesn't mention anything about the Dockerfile parts of this (check Discord link). It...

vivid lintelBOT
#

What is the issue?

Hi there Everyone,

I'm attempting to run this quick start example on the Dagger.io using Node JS on Windows but using Windows Containers. The software I need to build is a Windows-only legacy software that requires Windows containers. I get the following error:

$ node ci/index.mjs
Downloading CLI... OK!
Creating new Engine session... OK!
Establishing connection to Engine... Error: new client: failed to ...
ornate vigilBOT
#

I also believe some of Alex's thoughts on his "Why I joined Dagger" blogpost capture some this ideas: https://dev.to/vito/why-i-joined-dagger-43gb

Thanks, the answer, the post and the issue linked were an interesting read.
I only did one migration and it was from drone to concourse, I chose concourse at the time (~2 years ago) because of all the options available it was the one which resonated the best with me and the workflow we had planned, aside from some performance issues concourse...

vivid lintelBOT
ornate vigilBOT
vivid lintelBOT
#

This commit updates some URLs to remove the numeric identifier, and consequently updates dependent URLs for consistency. It also modifies internal and sidebar links to reflect the new endpoints.

  • Removed numeric identifier from index page URLs: guides, FAQ, cookbook and quickstart
  • Removed corresponding numeric identifier from index page filenames and updated internal links in sidebars and page content
  • Updated quickstart section page URLs to follow the same pattern as SDK/CLI/API sec...
vivid lintelBOT
#

What is the issue?

I am using colima for my docker runtime:

colima --version
colima version 0.5.5
docker -v
Docker version 24.0.5, build ced0996600
docker info
Client: Docker Engine - Community
 Version:    24.0.5
 Context:    default
 Debug Mode: false
 Plugins:
  buildx: Docker Buildx (Docker Inc.)
    Version:  v0.9.1
    Path:     /Users/shad/.docker/cli-plugins/docker-buildx

Server:
 Containers: 1
  Running: 1
  Paused: 0
  Stopped:...
ornate vigilBOT
ornate vigilBOT
vivid lintelBOT
#

What happened? What did you expect to happen?

Is there any way to pull docker images from a private and insecure registry instead of docker.io ??

This is my testing code:

import anyio
import dagger

async def main():
    config = dagger.Config(log_output=sys.stdout)

    async with dagger.Connection(config) as client:
        # use a node:16-slim container
        # mount the source code directory on the host
        # at /src in the container

        source = (
   ...
vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

What are you trying to do?

Part of the story around Dagger's appeal is its cache-first approach, backed by Buildkit.

Dagger Cloud, for those who have alpha access, offers some visibility features, namely a UI that shows whether something was cached or not. However, at Airbyte, where we leverage Dagger heavily, we have noticed limitations around the existing tooling that Dagger offers. Namely, we are missing some features that allow us to automatically analyze and qualify builds, as we...

vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

What are you trying to do?

#5594 fix an issue created by our custom query builder but include an issue if a string has the same value as one defined as an enum.

To fix this issue, we need to switch our custom query builder to an official one.

More context here:

I think it might take a couple of days (less than a week) to switch to a proper query builder.
Fortunately we have already split the stacking o...

vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

What is the issue?

It will be useful to have an example cookbook for adding a docker dind sidecar. It is slightly different from the other service examples in the cookbooks as you have to add the DOCKER_HOST to the consumer for it to work. The only example is in the dagger code here but it is set to invalidate cache every run - https://github.com/dagger/dagger/blob/aacce090406f99fed23c969fcef769d532f2b587/core/integration/container_test.go#L3260

More details in this discussion - h...

vivid lintelBOT
#

What are you trying to do?

I had a scenario while testing different builder images where I had to set different Owner for certain tool chain images.

...
WithMountedCache("/mydir/.m2", c.CacheVolume("m2"), dagger.ContainerWithMountedCacheOpts{
  Owner: "jenkins:jenkins",
}).
...

The current implementation of this silently ignores the new cache if a previous cache (with different owner) exists. https://pkg.go.dev/dagger.io/dagger#ContainerWithMountedCacheOpts

It ...

vivid lintelBOT
#

What is the issue?

Any dagger target run through the CLI results in a hang for example:

dagger do ./dagger --charts.git.export

but the same command

go run ./dagger --charts.git.export

completes no problem. Also using CLI version v0.6.4 works no problem.

Versions

  • dagger engine v0.8.1
  • dagger CLI v0.8.1 (2b855693b080a996bd0be19826754984684dd145), built from source CGO_ENABLED=0 go install ./cmd/dagger

Docker info

Client: Docker Engine - C...

vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

This fixes the fragility of the current slug-dependent CSS selectors we are using in the quickstart docs.

As discussed in https://github.com/dagger/dagger/pull/5610, we cannot depend on slugs and docs names for CSS selectors, as it might change in the future and the layout might break.

This solution uses an undocumented [Docusarus internal helper](https://github.com/facebook/docusaurus/blob/main/packages/docus...

vivid lintelBOT
#

What is the issue?

I currently try to implement the Dagger engine in our OpenShift cluster to get them work together with our self hosted GitLab runners. So far everything is working, but I experienced some performence problems with my setup.

Local to local engine

First run local without initialized cache

• Engine: 2066df0daca0 (version v0.8.2)
• Duration: 40.388s

Second run local with initialized cache

• Engine: 2066df0daca0 (version v0.8.2)
• Duration: ...
vivid lintelBOT
#

This was failing on Rust nightly due to internal compiler errors: https://github.com/dagger/dagger/actions/runs/5855269792/job/15872938164#step:4:1708

While this is worth knowing about & maybe even looking into, it should not result in main commits failing checks. Perhaps we can have a nightly test that runs periodically (every night?) so that we are not prompted to investigate investigate failing checks after a merge.

I have also taken then liberty to bump the stable Rust version to ...

vivid lintelBOT
#

What is the issue?

When certain files change, running via SDK & CLI hangs:

For example, this happens consistently in our CI for all checks in this commit in the main branch: https://github.com/dagger/dagger/commit/4bbe077865bc566a53e955c7b0d028a8bf9d447c FTR: https://github.com/dagger/dagger/pull/5610#issuecomment-1677234462

It does not happen in the following commit: https://github.com/dagger/dagger/commit/3c8ac3228b5fd232e33fd59933b27a4822d9c54a

But then it happens...

ornate vigilBOT
vivid lintelBOT
#

3 changes:

  • Log a --debug message while connecting to make it easier to troubleshoot hangs.
  • Base64-encode client metadata so fancy UTF8 letters don't cause errors
  • Fix/clean up label collection flow to make more sense with the new architecture
    • Fix weird server-global label cache, which really shouldn't have been there anymore, and was probably causing the first connection's labels to be used for all subsequent connections.
    • Rather than putting the root labels into every si...
vivid lintelBOT
vivid lintelBOT
#

The update to use merge-op to optimize copies also resulted in us receiving tons of progress vertexes about merges. These are kind of confusing to users since merge is entirely an internal optimization and the format we receive them in can be extremely ugly due to the fact that they don't show the flattened merge that actually takes place.

Now that vertex is marked as internal and thus shouldn't show up in output by default.

cc @jpadams I believe this will stop these from polluting prog...

vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

What are you trying to do?

Let's say I have a node app.

At present, I can use withMountedCache to reduce the npm install times i.e. it does not require us to re-fetch the dependencies over the internet.



```json
{
  "name": "test",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "express": "^4.18.2"
 ...
#

What happened? What did you expect to happen?

This might be a dumb question but can I run this in the official docker in docker image to get around my perms issues?

Bitbucket pipelines don't support enough privilege for dagger to work: https://github.com/dagger/dagger/discussions/1677#discussioncomment-2619008. And I'm not going to run them on-prem which is the workaround.

But could I have my dagger scripts built into the official docker in docker image (https://hub.docker.com/_/do...

vivid lintelBOT
vivid lintelBOT
#

What is the issue?

If a string has the same value as a Dagger enum, this will be converted to an enumeration by our query builder.
This bug is introduced by #5594 and can be fix using a new internal metadata field see https://github.com/dagger/dagger/issues/5609#issuecomment-1679275740

Unfortunately, the usage of a query builder library cannot fix the issue since our client actually build a query tree composed of primitive types that are converted to an actual gql query during the e...

vivid lintelBOT
vivid lintelBOT
#

Tests started failing intermittently since the fix in https://github.com/dagger/dagger/pull/5628 and it's not clear why. FTR:

diff --git a/sdk/elixir/lib/dagger/engine_conn.ex b/sdk/elixir/lib/dagger/engine_conn.ex
index 9b4ed912..acd97199 100644
--- a/sdk/elixir/lib/dagger/engine_conn.ex
+++ b/sdk/elixir/lib/dagger/engine_conn.ex
@@ -16,7 +16,8 @@ defmodule Dagger.EngineConn do
       _otherwise ->
         case from_local_cli(opts) do
           {:ok, conn} -> {:ok, conn}...
vivid lintelBOT
ornate vigilBOT
#

Is there a way to run tasks in parallel aside from creating child pipelines?

Basic example, I have a Node app that I'm testing. I would like to install the deps, and then run the linting and unit testing tasks in parallel, then rejoin for the production container build.

Are parallel pipelines the ideal way to accomplish this?

Thanks!

vivid lintelBOT
#

Include a new internal logic to get more information about type during query building.
This is a first step before moving to an actual query builder.

This internal data structure called metadata let the query builder knows if the value is an enum or not.
This avoids any possible type conflict.

This replaces the old enumeration handling implementation so old code has been deleted.

Include new tests to ensure no conflict is possible anymore.

Resolves: #5638

vivid lintelBOT
vivid lintelBOT
#

This commit adds a new guide on creating and chaining callbacks in a Dagger pipeline. It uses code examples previously shown in https://github.com/dagger/dagger/issues/5236 and https://github.com/dagger/dagger/issues/3885. It also reuses an existing cookbook example. It also moves the filesystem location of the cookbook code snippets from cookbook/snippets to guides/snippets and adjusts internal references to match.

vivid lintelBOT
vivid lintelBOT
#

Overview

"Project Zenith" is the codename for a future release of Dagger which adds major new functionality. Among other things, it expands the Dagger API.

This issue tracks the design work to define this API expansion. It complements #5443 with the goal of being the source of truth, by moving faster. Some drift is to be expected, but we will work to resolve it over time.

vivid lintelBOT
#

This PR is the first chunk being split out from the original Zenith PR where we did prototype implementations of all the different entrypoints.

  • Splitting that monolith PR out into chunks is intended to make API bikeshedding more manageable and give us an opportunity to cleanup code from a fresh base, which should be much faster than trying to update the original PR.
  • Anyone working on Zenith should feel free to push to this PR. I'll also cher...
ornate vigilBOT
#

Hi @e3b0c442 👋

Improving the DX for this situation is ongoing: https://github.com/dagger/dagger/issues/4205#issuecomment-1533918410
You can use a combination of the Sync() function and language-specific constructs like Go Error Groups to accomplish this today: https://github.com/dagger/dagger/issues/4766

There are ideas like making Sync() able to accept multiple lazy chains to do the "rejoin" of the DAG you mention. https://github.com/dagger/dagger/issues/5083

P.S. We answer ...

vivid lintelBOT
#

What is the issue?

I upgraded from Dagger 0.6 to Dagger 0.8. The experimental dagger interactive terminal UI is now broken. As a developer, this interface is really useful and I would like to keep it ;)

Log output

Caught panic:

runtime error: invalid memory address or nil pointer dereference

Restoring terminal...

goroutine 8 [running]:
runtime/debug.Stack()
        /usr/local/go/src/runtime/debug/stack.go:24 +0x64
runtime/debug.PrintStack()
        /usr/local/go/s...
vivid lintelBOT
vivid lintelBOT
#

What is the issue?

When try executing elixir script with set any experimental env. It crash instead of download stable engine.

Log output

No response

Steps to reproduce

Consider snippet:

Mix.install([{:dagger, "0.8.4"}])

client = Dagger.connect!()

client
|> Dagger.Client.container()
|> Dagger.Container.from("alpine")
|> Dagger.Container.with_exec(~w[echo hello])
|> Dagger.Sync.sync()

Dagger.close(client)

Running with elixir test.exs. It ...

#

What is the issue?

When using dagger run elixir test.exs (the script provided in steps to reproduce section). Instead of finish execution, it still hang.

Log output

No response

Steps to reproduce

Use this script:

Mix.install([{:dagger, "0.8.4"}])

client = Dagger.connect!()

client
|> Dagger.Client.container()
|> Dagger.Container.from("alpine")
|> Dagger.Container.with_exec(~w[echo hello])
|> Dagger.Sync.sync()

Dagger.close(client)

And then run ...

vivid lintelBOT
#

Currently the Dagger Engine is distributed as an OCI container image based on the Alpine Linux base OS. In order to implement #4675, we are adding a second version of the image based on Ubuntu. This is required to support Nvidia tooling (they don't work with Alpine). So, once the PR for experimental GPU access is merged (#5605 ), we will have 2 versions of the Dagger Engine image. This is fine as long as GPU access is an experimental feature, behind an experimental gate. But once the experime...

vivid lintelBOT
#

What is the issue?

Hi there, I'm very new to Dagger, though have been following it from afar since its announcement. Today I looked into again, and remembered that, originally, Dagger originally used to use CUE. Now, however, most (though not all) signs of CUE seem to be gone and these days Dagger provides SDKs for programming languages. What is the state of CUE then?

I've noticed that:

  • The docs still seem to be in place, even ...
vivid lintelBOT
#

This pr is technically considered a breaking change. More to come before we should schedule a release for rust.

This pr primarily removes some required syntactic sugar.

let image = client.container().from().with_directory(src.id().await?);
// after this pr
let image = client.container().from().with_directory(src);

This means that the with_directory and other functions like that will no longer accept an ID as argument. I could technically support the other option, but ...

vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
ornate vigilBOT
#

👋
The tricky part to do in Dagger today is the 'rejoin' part. Ideally we can support something like the Sync() like @jpadams mentioned above, but currently the best way to accomplish this is documented here under "Problem 2, Workaround 1" https://github.com/dagger/dagger/issues/4205

// Both return a `dagger.Container`, full async
testResult := test()
lintResult := lint()

// Do *something* that forces a wait on both
_, err := c.Container().From("alpine").
  WithMountedDire...
vivid lintelBOT
#

This commit transfers the code examples from the https://github.com/dagger/examples repository to the current repository.

  • SDK examples are now in sdk/[go|nodejs|python]/examples/*
  • CLI examples are now in cmd/examples/*
    This commit also adds a README to each examples directory with an index of the available examples.
    The intent is for new examples to be added to the current repository instead of the https://github.com/dagger/examples, which will shortly be deprecated.
vivid lintelBOT
vivid lintelBOT
#

What are you trying to do?

The release artifacts (cli binary tars in the github releases and container in GHCR) should be signed

  • Detatched or clearsigned checksums.txt
  • Signed container in GHCR
  • ? SBOM for container in GHCR ?

Why is this important to you?

So that I know the artifact(s) are from Dagger

How are you currently working around this?

No response

vivid lintelBOT
#

Some container vulnerability scanners reported that:

  • golang.org/x/net v0.0.0-20201224014010-6772e930b67b
  • golang.org/x/sys v0.0.0-20211116061358-0a5406a5449c

had CVEs. We were picking up these particular versions of the modules as transitive dependencies. Upgrading our direct dep on github.com/containerd/fuse-overlayfs-snapshotter caused both to disappear.

For future reference, the command I ended up running to find the source of transitive deps on *particular versions of m...

vivid lintelBOT
#

It wasn't able to cope with the new 'init' vertex that we create while initializing, and it wasn't transitioning to COMPLETED anymore.

Along the way, also remove the redundant 'Duration' status info now that Progrock displays timing info natively in its UI. Also use Pipeliner to dedupe vertices since that was pretty confusing before.

vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

This commit migrates the code examples from the https://github.com/dagger/examples repository to the current repository, preserving the Git history of the original repository.

  • Examples are now in a new examples directory in the repository root.
  • SDK examples are now in examples/sdk/[go|nodejs|python]/*.
  • CLI examples are now in examples/cli/*.

This commit updates the README file in the examples/ directory with new file paths to the available examples.

This commit delete...

vivid lintelBOT
#

This commit migrates the code examples from the https://github.com/dagger/examples repository to the current repository, preserving the Git history of the original repository.

Examples are now in a new examples directory in the repository root.
SDK examples are now in examples/sdk/[go|nodejs|python]/*.
CLI examples are now in examples/cli/*.

This commit updates the README file in the examples/ directory with new file paths to the available examples.

This commit deletes the LI...

vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

What is the issue?

Related: #3654

The current docs mention using an existing Dockerfile and refactoring toward Dagger API calls.

The good news here is that Dagger can natively run Dockerfiles with full compatibility

I think this is technically true but it misled me to believe that the context behavior would match Docker as well.

I suggest those docs mention that not all Docker behaviors...

vivid lintelBOT
vivid lintelBOT
#

What happened? What did you expect to happen?

I have an issue with my project when running tests inside dagger.
The issue is I am using the python-dotenv and locally it runs fine with pytest . - but running inside dagger, the load_dotenv method fails with: OSError: Starting path not found

I will create an issue over at python-dotenv as well, seems this was an issue previously as well:

I have created a gist to showcase the issue:
https://gist.github.com/simcax/4a2587baee3f84f319...

vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

What are you trying to do?

This isn't quite a feature request, but a request for better examples.

I'm using the Rust sdk, as I want to use dagger to run my Rust project through CI. The examples do a good job of showing how to build go and js projects, but I still found it difficult to get a useable pipeline, written in Rust, for a Rust project.

I mad e Rust project, seperated into workspaces, one of which is ci. This is the main.rs file that I used to get Dagger to run with a r...

vivid lintelBOT
vivid lintelBOT
#

Attempt to fix the build failure while deploying on Netlify.

 Dependencies installation error                               
 ────────────────────────────────────────────────────────────────
 ​
   Error message
   Error while installing dependencies in /opt/build/repo/website/.netlify/plugins/
   npm ERR! cb.apply is not a function

This error is commonly associated with issues related to the versions of Node or npm

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

What are you trying to do?

I'm want to run two container in the same python code. The first container is an foundry anvil, this is a web3 endpoint and should be run indefinitely. The second container is a python image that interacts with the first container.

I've tried many ways to detach this command anvil: anvil &, (anvil &), nohup anvil &, etc

This is my code:

    async def run_anvil(self, port:int=8545) -> dagger.Container:
        scripts_dir = self.host.directo...
ornate vigilBOT
#

With the example given in the go sdk tutorial I tried passing ldflags to the go build command

build = build.WithExec([]string{
	"go", "build",

	 // NOT WORKING (try running after uncommenting)
	 // "-buildmode=pie", "-trimpath", `-ldflags='-s -extldflags "-static"'`,
	 // "-buildmode=pie", "-trimpath", `-ldflags="-s -extldflags '-static'"`,

	 // Works somehow
	"-buildmode=pie", "-trimpath", `-ldflags`, `-s -extldflags "-static"`,
	"-o", path,
})

Error:

vivid lintelBOT
vivid lintelBOT
ornate vigilBOT
vivid lintelBOT
vivid lintelBOT
#

What is the issue?

This is a topic that the existing testing guidance doesn't cover.

tl;dr: I want modules to include their production dependencies by default, but I still want flexibility to use test doubles.


Let's use the following example to explain this in more depth:

  • We have three public interfaces (each in a different package): Server, and Database, and Config.
  • We have three corresponding package-private im...
ornate vigilBOT
vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

Extracted from the Zenith prototype to merge in main as a standalone feature.

This change adds a default Dagger client, globally available, so there’s no more need to make a connection and pass the client around. Every method under client. is available in dagger.. This requires a new dagger.connection() (notice the lowercase name) which doesn’t return a client instance, but instead initializes a globally available client:

- a...
ornate vigilBOT
#

I don't agree that this is the best way to accomplish what is asked since it's a workaround. There are patterns for it but not this one (e.g., building a binary for multiple platforms, adding to a dir that can be exported in the end).

In other words, even though it works, it wasn't designed for this purpose (in this case, executing arbitrary and unrelated containers). The canonical way to do it today is by using the language's concurrency feature:

vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

What is the issue?

Given this example:

func main() {
    ctx := context.Background()

    client, err := dagger.Connect(ctx, dagger.WithLogOutput(os.Stderr))
    if err != nil {
        panic(err)
    }
    _, err = client.Container().From("alpine").WithMountedSecret("/secret/foo", client.Secret("foosecret")).
        WithExec([]string{"cat", "/secret/foo"}).
        Sync(ctx)

    fmt.Println(err)
}

I'd have expected to get a secret not found error.

###...

#

So far Zenith focused on two modes of usage:

  1. "Easy mode": run a limited set of functions from the CLI
  2. "Power mode": run any functions with unlimited power, from your own functions written with an SDK

We're getting feedback that there is interest in a hybrid: unlimited function execution, without having to go all the way, choose an SDK, setup your own configuration, and write your own functions.

vivid lintelBOT
#

Bumps typedoc-plugin-markdown from 3.15.3 to 3.16.0.

Release notes
Sourced from typedoc-plugin-markdown's releases.

typedoc-plugin-markdown@3.16.0

TypeDoc 0.25.0 compatibility fixes

typedoc-plugin-markdown@3.15.4
Fixes

Split out comment summary and tags for signatures (#451) .

Changelog
Sourced from typedoc-plugin-markdown's changelog.

3.16.0 (2023-08-26)
Fixes

TypeDoc 0.25 compatibilit...

#

Bumps sass from 1.64.2 to 1.66.1.

Release notes
Sourced from sass's releases.

Dart Sass 1.66.1
To install Sass 1.66.1, 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 Sass compilation could crash in strict mode if passed a callback that threw a string, boolean, number, symbol, or bignum.

See the full changelog for changes in earlier releases.
Dart Sas...

#

Bumps typedoc from 0.24.7 to 0.25.0.

Release notes
Sourced from typedoc's releases.

v0.25.0
Breaking Changes

Bump minimum Node version to 16.
Removed legacy-packages option for --entryPointStrategy.
Changed default value of --categorizeByGroup to false.
Specifying a link as the gitRemote is no longer supported.
An Application instance must now be retrieved via Application.bootstrap or Application.bootstrapWithPlugins, #2268.
Removed ReflectionKind.O...

#

Bumps spectaql from 2.0.5 to 2.3.0.

Changelog
Sourced from spectaql's changelog.

2.3.0

Support Logo and Favicon Base64 embedding, as well as URL specification. anvilco/spectaql#807

2.2.1

Fix publishing and installation process. anvilco/spectaql#876

2.2.0

Fix/add support for EnumValues.
Non-zero exit code when there's an error.
Fix scrollspy issue. anvilco/spectaql#852 Thanks @​MarcEspiard
Dependency updates.

2.1.1

Fix cross-OS bug where rm was u...

#

Bumps @svgr/webpack from 8.0.1 to 8.1.0.

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

v8.1.0
Bug Fixes

cli: fix default dimensions, prettier & svgo (571d5c8)
config: prefer cli config over rc config (#845) (8b97248)
react-native: fix duplicate import (#894) (e612b6a)

Features

esm: add support for svgo.config.cjs (#879) (ae91e2e)

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

8.1.0 (2023-08-15)
Bug Fixes

cli: fix default dimensio...

#

Bumps github.com/charmbracelet/lipgloss from 0.7.1 to 0.8.0.

Release notes
Sourced from github.com/charmbracelet/lipgloss's releases.

v0.8.0
Predictable Tabs
At last: tabs that render the way you want ’em to. With the new Style.TabWidth() method, you can determine exactly how a \t will render.
Before this release, Lip Gloss used to mis-measure a tab (i.e. a \t) at 0 cells wide when they actually render at different widths in different terminals (...

#

Bumps oss.terrastruct.com/d2 from 0.4.0 to 0.6.0.

Release notes
Sourced from oss.terrastruct.com/d2's releases.

v0.6.0
D2 v0.6 introduces variable substitutions and globs. These two were the last of the features planned in the initial designs for D2, and v1 is now very close!
The power of variables and globs in a programming language need no introduction, so here's two minimal examples to get started:
Variables:
vars: {
color: aquamarine
}
x.style.fill...

#

Bumps go.opentelemetry.io/proto/otlp from 0.19.0 to 1.0.0.

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

Release v1.0.0
Generated Go code for the v1.0.0 version of the OTLP.
Release v0.20.0
Generated Go code for the v0.20.0 version of the OTLP.

Commits

97744b2 Release v1.0.0 (#120)
f10b42b Bump google.golang.org/grpc from 1.56.1 to 1.56.2 in /otlp (#119)
d71a3a2 Bump google.golang.org/protobuf from 1.30....

#

Bumps github.com/google/go-containerregistry from 0.15.2 to 0.16.1.

Release notes
Sourced from github.com/google/go-containerregistry's releases.

v0.16.1
Release is broken due to goreleaser error, 0.16.1 has the fix
What's Changed

bump deps using ./hack/bump-deps.sh by @​imjasonh in google/go-containerregistry#1702
Allow crane to export schema 1 images by @​jonjohnsonjr in google/go-containerregistry#1704
fixed a goroutine leak by @​ktarple...

#

Bumps github.com/rs/zerolog from 1.29.1 to 1.30.0.

Commits

06ec071 Clarify the godoc warning for Logger.UpdateContext (#566)
873cbf1 Allow callers to pass go context through to hooks (#559)
61485f3 Fix #564 (#565)
9070d49 Add event method RawCBOR analogous to RawJSON (#556)
b662f08 docs: context.Timestamp uses zerolog.TimeFieldFormat (#554)
4612e09 Fix error chain from pkgerrors (#552)
8981d80 Correct logger variable name in stdout example (#549)
927516b doc...