#github-feed

1 messages · Page 3 of 1

vivid lintelBOT
#

Now shim is no longer built on the fly, instead it's built into our engine image. We then include it in dagger execs by configuring buildkitd to use it as the oci runtime binary. It then updates the container configuration to setup itself as the shim, which results in the same code executing as previously.

This new approach has the short term benefit of stopping us from needing to pull in golang images at runtime and build the shim on the fly, which is a frequent user complaint.

In th...

ornate vigilBOT
#

I am trying to implement dagger in tekton ci tool on openshift here I created a tekton task and and added a cert in as a volume in buildkit because I am downloading dependencies from custom location. but after adding the correct certs still I am getting x509: certificate signed by unknown authority.

But the same certs I working in my local dagger. can some one suggest me how Can I pull the dependencies prepare an image and push it quay.

vivid lintelBOT
#

This commit adds a new deprecation notice to all documentation pages under /0.1 and /0.2.

The content of the deprecation notice is stored as a partial.

This commit also creates a new page at the mutable /install endpoint with links to the SDK installation pages. The previous /install page is relocated to a new URL /1242/install. Links are adjusted in older navigation bars.

Relates to #3904 . Closes #3908 .

Signed-off-by: Vikram Vaswani

vivid lintelBOT
#

What is the issue?

Our tooling allows us to catch when our docs examples deviate from our API. @deprecated annotations in SDKs are caught by the linter when docs code examples are linted and tested. This ensures that the code samples in docs are always reflective of the current API. This would be a good topic for an engineering blog post.

Context: #maintainers message

vivid lintelBOT
#

What is the issue?

Need examples of how to run Dagger pipelines in the major CI providers with each SDK: Go, Python, Node.js (TS/JS)

CIs:

For example:
to run a Python SDK pipeline in GitHub...

vivid lintelBOT
#

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

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

Release 1.51.0
Behavior Changes

xds: NACK EDS resources with duplicate addresses in accordance with a recent spec change (#5715)

Special Thanks: @​erni27

grpc: restrict status codes that can be generated by the control plane (gRFC A54) (#5653)

New Features

client: set grpc-accept-encoding header with all registered compressors (#5541)

Sp...

vivid lintelBOT
#

What is the issue?

This would make a great blog post topic - #maintainers message

Example -

@deprecated is standard graphql -- codegen is transforming that in native deprecation warnings in each language
and then the go linter does the usual linting, complains about using deprecated functions
so the generated client is not doing anything special, this is regular Go tooling we integrate with by following standard...

vivid lintelBOT
#

Overview

I propose adding a new feature to the Dagger API: saving & loading of pipelines.

  • Save: snapshot the state of a pipeline, encode it as text, send it to the client
  • Load: restore the state of a pipeline, decoded from text received from the client

This would be a very powerful primitive that we could use in many ways:

  • Stitching. Allows clients to "stitch" pipelines together into more complex pipelines. This is necessary since some pipelines cannot be expressed a...
vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

Fixes https://github.com/dagger/dagger/issues/3921

These are still just internal, unstable interfaces but it's helpful to have more clear documentation of each currently valid value.

DAGGER_HOST values are in separate packages and in each SDK, at least for the Go SDK, so I made a file sdk/DAGGER_HOST.md to document them.

Also added a blurb at the top indicating these values should not be relied on externally for now.

For consistency's sake, I took the same approach w/ `DAGGER...

vivid lintelBOT
#

Based on top of https://github.com/dagger/dagger/pull/3927 only the last commit is unique to this PR

Still a few cleanups marked as TODOs in comments but tests all pass. Also will add a test suite specific to dagger-in-dagger to provide coverage that i.e. host filesystem leaks aren't possible before merging.


Current approach results in the mode needed by our test cases (each dagger.Connect results in a new session, as opposed to connecting to an existing shared one) being the d...

vivid lintelBOT
#

What are you trying to do?

I would like to be able to, in a container, run an anonymous function instead of a shell script.

You can run a shell script using

container := client.Container().From("golang:1.19")

container = container.Exec(dagger.ContainerExecOpts{
    Args: []string{"some", "command},
})

but I would like to be able to run an anonymous function on the container using a function like container.Run

Ideally, it'd look like this:

container :=...
vivid lintelBOT
#

I've noticed that some tests (https://github.com/dagger/dagger/blob/main/internal/mage/sdk/python.go#L29-L80) are accidentally not currently using the WithDevEngine util helpers which causes the SDK to pick the latest defined in the client.gen.go.

We should add something that prevents accidentally using an outdated to test since this will result in potential issues that are not easy to track.

ornate vigilBOT
#

Thanks @shykes and @marcosnils for your replies.

There are few concepts that I feel confusion around.
I think I understand on the higher level what is the difference between build tool and a CI pipeline, but more practical considerations here are what I am struggling with.

For example, I can see how dagger api and (and CUE pipeline definitions) help me build the pipeline and run it locally.
What remains a mystery to me is how this ties in with an actual CI/CD scenario.

I could see...

#

I haven't really done any cross framework library work so far and I've only written few small utilities and apps in Deno so far, so I can't speak too much about the fundamental differences between the two, but my impression has been that generally, Deno is less encumbered with the kind of cruft that has been accumulated with Node.

My impression is that writing code in Deno tends to lean towards writing simply vanilla(ish) TypeScript, while there are definite Node'isms when developing thin...

ornate vigilBOT
#

@luolong yes you do need to maintain a Gitlab manifest in parallel: but that manifest will be much smaller: just enough to run dagger from the right triggers. It also changes much less frequently, since the actual logic is all in your dagger code.

Most of the trouble from using a proprietary CI platform is not the occasional writing of a YAML manifest: it’s the continuous development and testing of complex pipeline logic in YAML. Moving the logic to dagger, while keeping a simple static co...

vivid lintelBOT
#

What are you trying to do?

Use a docker image built locally for creating containers with dagger.

To reproduce the error, take the example from
https://github.com/dagger/dagger/blob/79faf032be522d03ea215874df2cb2c147881c79/docs/current/sdk/nodejs/snippets/get-started/step3/build.ts, and modify it to use a locally built image mynode:latest instead of node:16:

import Client, { connect } from "@dagger.io/dagger"
connect(async (client: Client) => {
  const node = await clie...
vivid lintelBOT
#

What is the issue?

The first snippet crashes for incompatibility with the UNIX-specific method calls when following the documentation of the python-SDK guide on a Windows machine.

Log output

$ C:/Users/97254/AppData/Local/Programs/Python/Python311/python.exe c:/Users/97254/Documents/Programing/dagger/test.py
Traceback (most recent call last):
File "c:\Users\97254\Documents\Programing\dagger\test.py", line 30, in
anyio.run(test)
File "C:\Users\97254\AppData\Local\Progra...

vivid lintelBOT
#

What is the issue?

current mac os installation instruction is not working

https://github.com/dagger/dagger/blob/main/docs/current/partials/_install-sdk-cue.md

brew install dagger-cue

looking at #3474 the issue states

assuming will be brew install dagger-cue

then looking at #3486 I can see that the package was tested with:

brew install gerhard/tap/dagger-cue

Long story short: brew install dagger-cue doesn't work while `brew install gerhard/...

vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

What are you trying to do?

  • I'm trying to achieve a workflow where dev machines could spin up dagger engine as the state can shared on buildkit.
  • I would like to avoid using Docker to spin up Buildkit.
  • I'm okay with the responsibility of directly having to maintain buildkit - although it would be nice if Dagger could have links to Buildkit docs for operational concerns like scaling, caching, etc.

Uploading Screenshot 2022-11-21 at 1.54.07 PM.png…

Why is this imp...

vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

What are you trying to do?

I would like to be able to have dagger available as a pre-compiled Python binary in my Anaconda Python environments. A package entry for dagger on conda-forge would be ideal.

For more information: https://conda-forge.org/#add_recipe

Why is this important to you?

Conda-forge is an integral tool for data science and reproducibility. Many complex C-based dependencies that R and Python rely on are easily accessible and installable via Anaconda/Conda-Forge,...

#

Problem

Dagger used to support private registries via a custom buildkit instance. This made use of docker bind mounts. Here's an example:

docker run --net=host -d --restart always -v  /private/registry/cert.crt:/etc/ssl/certs/ca.crt --name dagger-buildkitd --privileged moby/buildkit:v0.10.5 --debug

However, from speaking to some of the maintainers on Discord, for various reasons it was removed. I'd like to get this brought back, even at the very least as an "official" esc...

vivid lintelBOT
#

Realized that this commit partially broke redirecting of stdout/stderr, specifically in the case where the redirect points to a non-root mount. Was missed because we didn't have a test case covering that (added one now).

This is fixable without having to revert that change, but the fix will involve some complexity (the cleanest fix is probably to use a containerd worker backend instead of runc) and we want ...

vivid lintelBOT
#

What is the issue?

When building a docker image from a dockerfile to push to a registry, I'd expect the image sha of the image built with each dagger pipeline execution to be the same from execution to execution if nothing changes with the context or the Dockerfile. It appears that I instead sometimes see a unique sha for each image created by each execution of the same pipeline.

Log output

This is the log from the running the same command over & over with the same inputs. You ca...

#

Bumps github.com/netlify/open-api/v2 from 2.12.1 to 2.12.2.

Release notes
Sourced from github.com/netlify/open-api/v2's releases.

@​netlify/open-api v2.12.2
Bug Fixes

add section to buildLogMsg (fce8381)

Changelog
Sourced from github.com/netlify/open-api/v2's changelog.

2.12.2 (2022-11-21)
Bug Fixes

add section to buildLogMsg (fce8381)

Commits

64db0f9 Merge pull request #406 from netlify/release-v2.12.2
94a92e6 chore: bump swagger.yml file
...

vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

This is a partial revert of 18458978b8a94a5d09a2b78066ce8ecffb4c1158.

The SDKs will for now continue to use image digests instead of git commits. The CLI will also temporarily just continue using the Go SDK and thus pick up this same change.

In the longer term, SDKs will switch to obtaining the CLI/engine-session bin from S3 rather than from the engine image. Additionally, the CLI will no longer use the Go SDK and instead just call engine.Start directly. It will then obtain the engine i...

vivid lintelBOT
#

What is the issue?

Running mage tasks locally in macos fails because, I suppose, the test-dagger-engine container has a binary for my host (dagger-engine-session-darwin-arm64) but not for running inside a container (linux in dagger-in-dagger).

Examples:

$ ./hack/make sdk:python:test
$ ./hack/make sdk:go:lint

Log output

#0 0.056 container_linux.go:380: starting container process caused: process_linux.go:545: container init caused: rootfs_linux.go:76: mou...
vivid lintelBOT
ornate vigilBOT
vivid lintelBOT
#

This is a follow-up to:

The TL;DR is that we want to keep as little logic in the GitHub Actions workflows as possible, and keep as much as we can in Dagger (especially the caching part).

The only other change that this introduces is running engine tests with race detection in parallel. We want to optimise for the entire test pipeline finishing as soon as possible, which means running everything in parallel. Before thi...

ornate vigilBOT
#

Okay, so, theoretically speaking, CI platforms that allow dynamic generation of pipeline manifests (Like Drone CI or Buildkite for example), could be made to generate entire pipeline manifest on the fly.

Of course, there are pipelines that have different sets of steps based on the trigger type and other attributes, but that is probably whole another can of worms there...

Sorry, I don't understand what you mean by the above. Does this change your understanding of how Dagger can int...

vivid lintelBOT
vivid lintelBOT
#

We currently don't include docker creds in dagger-in-dagger tests when the host is macos: https://github.com/sipsma/dagger/blob/917d568740234c04991d268f1a6c59565a64a122/internal/mage/util/util.go#L118-L118

This is because the creds config after doing docker login from macos look something like this:

{
	"auths": {
		"https://index.docker.io/v1/": {}
	},
	"credsStore": "desktop"
}

and if load that up in the linux container you get weird error messages about missing docker-...

vivid lintelBOT
vivid lintelBOT
#

On macos, the Go SDK ends up defaulting XDG_CACHE_HOME if not set to be ~/Library/Caches whereas in other SDKs it defaults to be ~/.cache/ on macos. On Linux it's a consistent value right now (always defaults to `~/.cache/~).

This isn't especially harmful but does result in an extra binary living on the local filesystem if you use both Go and non-Go SDKs on macos, whereas all the SDKs should just be sharing the same one.

It's worth checking if ~/Library/Caches is the "more corre...

vivid lintelBOT
#

Proposal:

  • delist the old action from GH Marketplace but leave repo in place
  • indicate that the old action is deprecated
  • copy the repo to a new one called dagger-cue-for-github or similar
  • use dagger-cue https://github.com/dagger/dagger-for-github/issues/75 in new one
  • optionally put new one in GH Marketplace, but prob leave out
  • investigate idea of a GH action for running scripts that use the new language SDKs. We're looking into that right now. cc @wompfox#6492
vivid lintelBOT
#

There was an earlier extremely provisional implementation of this to give a quick solution for a user who wanted it on a short term basis: https://github.com/dagger/dagger/pull/3543

There was then some discussion in that PR on how to best approach this in the long term, using this issue to continue that discussion and get consensus.

API vs. Client Config

To start, there are different options in terms of whether we make cache import/export be part of the actual API or whether we ma...

vivid lintelBOT
#

The Python SDK started out with good extension support via strawberry. We then put a pause on extension support to release clients. The released Python SDK is only a client right now, but we still have strawberry as a dependency. We should make it an extra:

$ pip install dagger-io[server]

Even after extensions are released, there's a high chance you'll want to run client code in an extension's resolver so the client part of the SDK should stay required and extensions ...

vivid lintelBOT
#

Bumps @typescript-eslint/eslint-plugin from 5.43.0 to 5.44.0.

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

v5.44.0
5.44.0 (2022-11-21)
Bug Fixes

eslint-plugin: [no-empty-interface] disable autofix for declaration merging with class (#5920) (a4f85b8)
eslint-plugin: [no-unnecessary-condition] handle index signature type (#5912) (5baad08)
eslint-plugin: [prefer-optional-chain...

#

Bumps axios from 1.1.3 to 1.2.0.

Release notes
Sourced from axios's releases.

v1.2.0
[1.2.0] - 2022-11-10
Changed

changed: refactored module exports #5162
change: re-added support for loading Axios with require('axios').default #5225

Fixed

fix: improve AxiosHeaders class #5224
fix: TypeScript type definitions for commonjs #5196
fix: type definition of use method on AxiosInterceptorManager to match the the README #5071
fix: __dirname is not defined in the...

#

Bumps prettier from 2.7.1 to 2.8.0.

Release notes
Sourced from prettier's releases.

2.8.0
diff
🔗 Release note

Changelog
Sourced from prettier's changelog.

2.8.0
diff
🔗 Release Notes

Commits

dcc0623 Release 2.8.0
7f74981 Remove version validattion temp
876c297 Update changelog for satisfies (#13879)
fd37600 Update @typescript-eslint/typescript-estree to support satisfies (#13872)
fac8761 Build(deps): Bump minimatch from 3.0.4 to 3.1.2 in /scrip...

#

Bumps eslint from 8.27.0 to 8.28.0.

Release notes
Sourced from eslint's releases.

v8.28.0
Features

63bce44 feat: add ignoreClassFieldInitialValues option to no-magic-numbers (#16539) (Milos Djermanovic)
8385ecd feat: multiline properties in rule key-spacing with option align (#16532) (Francesco Trotta)
a4e89db feat: no-obj-calls support Intl (#16543) (Sosuke Suzuki)

Bug Fixes

c50ae4f fix: Ensure that dot files are found with globs. (#16550) (Nicholas C...

vivid lintelBOT
#
vivid lintelBOT
vivid lintelBOT
#

context: https://github.com/dagger/dagger/issues/3830

TODO:

  • [ ] Fix catch 22 that causes this PR to be unbuildable by merging https://github.com/dagger/dagger/pull/3755
    • Basically, the Go SDK has to be updated here but the updated Go SDK is incompatible with the existing released engine
    • I test locally by doing some shenanigans w/ going back a commit to the old go sdk, building dev engine w/ new engine session bin, and then resetting back and running tests 😵‍💫
    • Technicall...
ornate vigilBOT
vivid lintelBOT
#

What is the issue?

It seems that the contents arguments of the Directory.withNewFile is not properly escaped

Log output

Syntax Error GraphQL request (2:14762) Expected Name, found : [...]

Steps to reproduce

   const stringWithQuotes = "This string has quotes \""
   const newFile = await client
       .container()
       .directory("/")
       .withNewFile("myfile", stringWithQuotes)
       .file("myfile").id()

Dagger version

dagger node 0.1.1

###...

vivid lintelBOT
#

Bumps @typescript-eslint/parser from 5.43.0 to 5.44.0.

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

v5.44.0
5.44.0 (2022-11-21)
Bug Fixes

eslint-plugin: [no-empty-interface] disable autofix for declaration merging with class (#5920) (a4f85b8)
eslint-plugin: [no-unnecessary-condition] handle index signature type (#5912) (5baad08)
eslint-plugin: [prefer-optional-chain] handle binary expre...

#

What are you trying to do?

Currently there's no way to check if a host variable is unset or if it's value is empty since envVariable will always return empty regardless if the variable is set or not.

Given the following GraphQL queries:

{
  host {
    envVariable(name:"NON_EXISTING_VAR") {
      value
    }
  }
} 
{
  host {
    envVariable(name:"EMPTY_VAR") {
      value
    }
  }
} 

dagger will always return "" for both cases. It'd be ni...

vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

What is the issue?

When calling withExec and passing a single argument that contains whitespace, all whitespace is stripped.

For example, .withExec(['echo', 'foo bar']) will print foobar.

The expected output is foo bar.

Log output

N/A

Steps to reproduce

  1. Run the following
import Client, { connect } from "@dagger.io/dagger";

connect(async (client: Client) => {
    await client.container().from('alpine:latest')
        .withExec(['echo', 'foo bar'...
ornate vigilBOT
#

Hello folks!

Let me start with saying that the idea behind the Dagger (composable re-usable actions) is something that resonates with me and I really want Dagger to work for my use-cases. Unfortunately there are lot of things that are unclear and/or broken which makes Dagger hard to adopt.

Please note that everting below is written from the point of view of the OPS person who doesn't do much software development

I first learned about Dagger when CUE was THE way to build the pipeli...

vivid lintelBOT
ornate vigilBOT
#

Does this change your understanding of how Dagger can integrate in your CI runner?

No, it dopes not change my understanding. But it does confirm my assumptions.

Sorry, I don't understand what you mean by the above

So, there exist CI tools ([Buildkite] and [DroneCI]/[Woodpecker CI] that I know of) that allow generating pipelines (or their DAG's) on demand for each pipeline run.

I was simply wondering if Dagger could be used at the pipeline generation phase to more closely mat...

vivid lintelBOT
#

What is the issue?

The example https://github.com/dagger/dagger/blob/9466c09f5d7872ae294ea8cf3227edf3b5bbe7f5/docs/current/sdk/nodejs/snippets/get-started/step3/build.ts#L13 is not working with @dagger.io/dagger@0.1.1.

I believe the current usage should be

console.log("Hello from Dagger and Node " + version.stdout)

Ths problem is illustrating the comment from https://github.com/dagger/dagger/issues/3918#issuecomment-1320839613 `code sample in a separate snippets file (...

vivid lintelBOT
#

What is the issue?

Sorry if I missed the same Issue.

A pipeline was created to read the host's environment variable as a secret and then output it.
When executed, the secret value was output to the log.

I referenced it here: https://github.com/dagger/dagger/blob/9466c09f5d7872ae294ea8cf3227edf3b5bbe7f5/sdk/go/examples_test.go#L210-L239

Is this correct behavior?
Does it have anything to do with this test being commented out?

My go code is:

// main.go
package main
...
vivid lintelBOT
#

Give the ability to pass the client as an argument without the needs of using its id.

Before

const cacheVolumeId = await client.cacheVolume("cache_key").id()

const image = await client 
        .container()
        .from("alpine")
        .withMountedCache("/root/.cache", cacheVolumeId)
        .withExec(["echo", "foo bar"])
        .stdout()

After

const image = await client 
        .container()
        .withMountedCache("/root/.cache", client.cacheVolu...
vivid lintelBOT
#

What is the issue?

Hello. I'm new to Dagger and I'm running Terraform using the Go SDK and am unable to get the actual error from the terraform init command running inside the container. How can I see the underlying error? What am I doing wrong?

did not complete successfully: exit code: 1

Log output

input:1: container.from.withMountedDirectory.withWorkdir.withExec.withExec.stdout process "/bin/terraform init -backend-config='bucket=123456789012' -backend-conf...
vivid lintelBOT
#

What is the issue?

When using the .build() or .publish() methods on a Container, execution fails with an ECONNREFUSED, indicating that the engine API is not responding.

I expect build and publish to work.

Log output

{
  "message": "request to http://127.0.0.1:62356/query failed, reason: connect ECONNREFUSED 127.0.0.1:62356",
  "type": "system",
  "errno": "ECONNREFUSED",
  "code": "ECONNREFUSED"
}

Steps to reproduce

Run the following:

i...
vivid lintelBOT
#

What are you trying to do?

Relates to #3998.

When calling .build or .publish without awaiting the result, you get an ECONNREFUSED error. The graphql client (or some other component) should be able to catch this and write a nicer error to the user, like "Failed to connect to Dagger engine, you might need to add await to your call".

Why is this important to you?

It's easy to forget the .await call, especially as some calls (e.g all with* calls that just configure the c...

vivid lintelBOT
vivid lintelBOT
ornate vigilBOT
#

Hey folks. I posted this issue before realizing that GitHub Discussions was enabled on this repo.

https://github.com/dagger/dagger/issues/3997

This gist is that I'm trying to run Terraform using Dagger and not getting underlying errors from the commands.

tf := client.Container().From("hashicorp/terraform:1.3.4")
tf = tf.WithMountedDirectory("/src", src).WithWorkdir("/src")

tf = tf.WithExec([]string{"init",
  fmt.Sprintf(`-backend-config='bucket=%s'`, bucket),
  fmt.Sprint...
ornate vigilBOT
vivid lintelBOT
vivid lintelBOT
#

Now we can use best of both world:

  • required params are available directly in the function params
  • optional params are available through an object that lets you mix and match the options you want
- withExec(args: string[], stdin?: string, redirectStdout?: string, redirectStderr?: string, experimentalPrivilegedNesting?: boolean): Container {
-
+ export type ContainerWithExecOpts = {
+   stdin?: string
+   redirectStdout?: string
+   redirectStderr?: string
+   experimentalPrivileged...
vivid lintelBOT
ornate vigilBOT
#

Thanks for the feedback. Some notes below.

Nowadays there are several SDKs, which look like more imperative way to drive Dagger engine w/o any ability to get hold of intermediate rendered graph. Which feels like 🐔 and 🥚 problem: do I need to be able to run GO/Python/Node code in my CI system to be able to run Dagger actions? One might expect that SDK will be able to dump the final graph which can be stored in the repo/universe and re-used directly by the Dagger engine in CI.

Yes! To...

vivid lintelBOT
#

User request to be able to push to http registry: #1046817210695417906 message

I can confirm that I get the same error but only when trying to push to a non-https registry that is not on localhost. There must be some logic buried somewhere in buildkit or its image push dependencies to not enfore https on localhost?

Either way, buildkit actually has a flag to support this during image export but for some reason I can't get it to ...

#

Bumps github.com/go-openapi/runtime from 0.24.2 to 0.25.0.

Commits

da56347 clear golangci-lint warnings/errors
93d335a Merge pull request #254 from josephwoodward/add-opentelemetry-support
f454d66 Bump go to 1.18
0ebe6da Bump go version in github ci
f318eb6 Clean up implementation
601824c Add support for setting span name
eef3104 Remove unused package reference
d09ae3b Address remaining test implementation, add functional options
9aa3bfd Add scheme
b...

#

Migrating to httpx and the latest changes to provisioning made it clear that the current architecture isn't the best one.

The point of the connectors was to match what I was seeing in the engine for connecting via http, unix, dial stdio, bin.

Current dispatch by DAGGER_HOST env var is really only used in provisioning. Client connection types (http vs unix socket) can be configured via httpx mounts.

This change decouples engine provisioning from establishing a client session. `dagge...

#

Bumps @typescript-eslint/eslint-plugin from 5.44.0 to 5.45.0.

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

v5.45.0
5.45.0 (2022-11-28)
Bug Fixes

eslint-plugin: [array-type] --fix flag removes parentheses from type (#5997) (42b33af)
eslint-plugin: [keyword-spacing] prevent crash on no options (#6073) (1f19998)
eslint-plugin: [member-ordering] support private fields (#5859) ...

#

Bumps @typescript-eslint/parser from 5.44.0 to 5.45.0.

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

v5.45.0
5.45.0 (2022-11-28)
Bug Fixes

eslint-plugin: [array-type] --fix flag removes parentheses from type (#5997) (42b33af)
eslint-plugin: [keyword-spacing] prevent crash on no options (#6073) (1f19998)
eslint-plugin: [member-ordering] support private fields (#5859) (f02761a)
eslint-plug...

vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

Problem

When navigating to https://github.com/dagger/dagger, there is a "releases" widget that shows the latest release. That widget currently indicates that v0.2.36 is the latest release, which is incorrect (the latest dagger engine release is in fact 0.3.5).

The reason for this is that github defines "release" narrowly as "the act of using the Github release feature". However the Dagger Engine since 0.3.0 has been released by setting a git tag. Per Github's narrow proprietary def...

vivid lintelBOT
#

Problem

The Dagger API already supports native docker build with container { build }. This makes for a perfectly fine DX in native SDKs, I have no complaints. But it is less pleasant in the context of a raw GraphQL query, because of limitations in the GraphQL language: stitching must be done manually by querying an ID in one query and copy-pasting it into the other. This is not a problem when developing "real" pipelines, since stitching is trivially available. But it is problem wh...

vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

Problem

The new dagger CLI (0.3) works very differently from the old one (0.2). This can confuse some users who upgrade, run the typical dagger do command from 0.2, and get a "command not found".

Solution

Implement a hidden dagger do command in 0.3, which does nothing but prints a message explaining the change and where to go to navigate it.

vivid lintelBOT
#

Bumps strawberry-graphql from 0.142.2 to 0.142.3.

Release notes
Sourced from strawberry-graphql's releases.

🍓 0.142.3
This release updates GraphiQL to 2.2.0 and fixes an issue with the websocket URL
being incorrectly set when navigating to GraphiQL with an URL with a hash.

Changelog
Sourced from strawberry-graphql's changelog.

0.142.3 - 2022-11-29
This release updates GraphiQL to 2.2.0 and fixes an issue with the websocket URL
being in...

#

Needed for GraphQL launch - put under the GraphQL API section

  1. Find a graphQL client
  2. Write a client program that makes a query - show tabs of different langs (rust,?), write boilerplate code with environment variable(this would be injected by dagger run), point to reference docs
  3. when ready, you can't run directly, so you use dagger run. Explain why in this step
vivid lintelBOT
#

fixes #3850

Implements the following schema:

extend type Query {
  "Load a socket by ID"
  socket(id: SocketID): Socket!
}

"A content-addressed socket identifier"
scalar SocketID

type Socket {
  "The content-addressed identifier of the socket"
  id: SocketID!
}

extend type Host {
  "Access a Unix socket on the host"
  unixSocket(path: String!): Socket!
}

extend type Container {
  "This container plus a socket forwarded to the given Unix socket path"
 ...
vivid lintelBOT
vivid lintelBOT
#

Signed-off-by: Erik Sipsma

Running with this command: ./hack/dev go run $(pwd)/cmd/dagger listen --local-dirs /tmp

And then trying to make this query that requests a not allowed dir:

curl \
  -H "content-type:application/json" \
  -d '{"query":"{host{directory(path:\"/home/sipsma\"){entries}}}"}' \
  http://127.0.0.1:8080/query

Now results in this error: `{"data":{},"errors":[{"message":"NotFound: no access allowed to dir "/home/sipsma"","path":["host","directory",...

vivid lintelBOT
#

Signed-off-by: Erik Sipsma

Following the stripe approach of using the username: https://stripe.com/docs/api/authentication?lang=curl


Happy case:

go run $(pwd)/cmd/dagger run -- sh -c 'curl -u $DAGGER_SESSION_TOKEN: -v -H "content-type:application/json" -d "{\"query\":\"{container{id}}\"}" $DAGGER_SESSION_URL'
*   Trying 127.0.0.1:32921...
* Connected to localhost (127.0.0.1) port 32921 (#0)
* Server auth using Basic with user '4501c97d-ba4d-437c-b089-1730179d1161...
vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

Current automatic MacOS provision(https://github.com/dagger/dagger/blob/main/.github/workflows/provision.yml) pipeline gets triggered after an engine release.

This can lead to failures getting caught AFTER the bump of the engine. It is the least painful implementation, that is better than nothing, but non optimal.

We've just found one bug today, not directly related to the engine but linked to one of the test of the engine provisioning on Python [introduced by dependabots](https://git...

vivid lintelBOT
#

dagger run now uses a session token in http basic auth to safeguard the localhost listener. The SDKs should be updated similarly.

There's a choice between:

  1. Having the SDKs generate the session token and tell the engine session bin
  2. Having the engine session bin generate the token and tell the SDK

My preference is currently 2 because:

  1. It more closely matches what we do in the dagger run case in that the CLI does the token creation
    • We don't need the CLI to support bot...
vivid lintelBOT
vivid lintelBOT
#

Bumps chalk from 4.1.2 to 5.1.2.

Release notes
Sourced from chalk's releases.

v5.1.2

Fix exported styles names (#569) a34bcf6

https://github.com/chalk/chalk/compare/v5.1.1...v5.1.2
v5.1.1

Improved the names of exports introduced in 5.1.0 (#567) 6e0df05

We of course preserved the old names.

https://github.com/chalk/chalk/compare/v5.1.0...v5.1.1
v5.1.0

Expose style names (#566) d7d7571

https://github.com/chalk/chalk/compare/v5.0.1...v5.1.0
v5.0.1
...

ornate vigilBOT
#

Short answer is that it isn't possible (or at least not at all straightforward) currently.

The team has been thinking about this (and other) use cases for a while.

We call them "services".

You can keep an eye on the development:

And, a sense of how we might implement some of it here: https://github.com/dagger/dagger/issues/3850#issuecomment-1329899415

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

The main goal here is to ensure that the generated client-side APIs are matching the engine being published with. This requires that we use ./hack/make-prod when calling publish in CI, which is currently the case already.

Signed-off-by: Erik Sipsma

PTAL @gerhard

cc @slumbering @grouville goal here is to prevent future occurrences of the issue that happened today where the node sdk was published w/ unix socket APIs even though the released engine did not have them.

vivid lintelBOT
#

This requires running go test directly (not dagger-in-dagger):

sipsma@Eriks-MBP-2 dagger % go test -v -count=1 -run TestContainerWithUnixSocket $(pwd)/core/integration
=== RUN   TestContainerWithUnixSocket
#1 resolve image config for docker.io/library/golang:1.18.2-alpine
#1 DONE 0.6s

#2 mkfile /main.go
#2 CACHED

#3 mkdir /meta
#3 CACHED

#4 docker-image://docker.io/library/golang:1.18.2-alpine
#4 resolve docker.io/library/golang:1.18.2-alpine
#4 resolve docker...
vivid lintelBOT
vivid lintelBOT
#

Bumps decode-uri-component from 0.2.0 to 0.2.2.

Release notes
Sourced from decode-uri-component's releases.

v0.2.2

Prevent overwriting previously decoded tokens 980e0bf

https://github.com/SamVerschueren/decode-uri-component/compare/v0.2.1...v0.2.2
v0.2.1

Switch to GitHub workflows 76abc93
Fix issue where decode throws - fixes #6 746ca5d
Update license (#1) 486d7e2
Tidelift tasks a650457
Meta tweaks 66e1c28

https://github.co...

#

Bumps decode-uri-component from 0.2.0 to 0.2.2.

Release notes
Sourced from decode-uri-component's releases.

v0.2.2

Prevent overwriting previously decoded tokens 980e0bf

https://github.com/SamVerschueren/decode-uri-component/compare/v0.2.1...v0.2.2
v0.2.1

Switch to GitHub workflows 76abc93
Fix issue where decode throws - fixes #6 746ca5d
Update license (#1) 486d7e2
Tidelift tasks a650457
Meta tweaks 66e1c28

https://github.co...

#

A pretty straightforward tweak to #4025 to support forwarding TCP/UDP addresses into the container in addition to Unix socket paths.

This is similar to the proposal in https://github.com/dagger/dagger/pull/3691#issuecomment-1311145961 except it allows full specification of host:port rather than being restricted to a port the host's loopback. It's a trivial implementation difference that could allow for some interesting use cases, like forwarding a private network into the container.

N...

vivid lintelBOT
#

Some functions are returning a new state whereas others are modifying the object in-place.

We should make that consistent across the board, and should always return a copy to be consist...

vivid lintelBOT
#

Overview

This issue tracks the design and implementation status of a feature called socket forwarding: the ability to create a socket in one networking stack and use it in another, with the Dagger engine seamlessly forwarding data in both directions.

In the context of Dagger, socket forwarding can be used in two ways:

  1. Host-to-container: create a socket in the host, use it in a container.
  2. Container-to-container: create a socket in a container, use it in another con...
vivid lintelBOT
vivid lintelBOT
#

Bumps dagger.io/dagger from 0.4.1 to 0.4.2.

Commits

84d04f9 sdk: Bump engine dependency to v0.3.7 (#4070)
d42af64 container: Support WithDirectory, WithFile & WithNewFile (#3827)
51a90fa Merge pull request #4016 from shykes/api-dockerbuild
0669d1c sdk: Bump engine dependency to v0.3.6 (#4049)
b6b40f0 feat: api: directory { dockerBuild }
f721dd4 Merge pull request #4025 from vito/unix-sockets
d2c6331 add Container { withoutUnixSocket }
4a0275f a...

#

Bumps strawberry-graphql from 0.142.3 to 0.144.1.

Release notes
Sourced from strawberry-graphql's releases.

🍓 0.144.1
This release fixes a regression that prevented Generic types
from being used multiple types.
🍓 0.144.0
Added extra validation that types used in a schema are unique.
Strawberry starts to throw an exception DuplicatedTypeName when two types defined in a schema have the same name.
🍓 0.143.0
Added an error to be used when over...

vivid lintelBOT
ornate vigilBOT
#

I've gotten a good chunk of work done on a port of the v0.2/Europa API to the v0.3+/multi-language engine.

I'd like to:

  • speak to the current progress on that
  • write about the parts of the API that aren't currently working (largely because of features that aren't yet implemented in the v0.3+ engine)
  • get feedback on the interest level in continued work on this port
  • get feedback on the interest in potential future CUE SDKs -- what I've been calling a GraphQL-native CUE SDK (...
vivid lintelBOT
#

After trying many different approaches that all had very subtle flaws which eventually doomed them, I ended up with this majorly stripped down change from what I was originally going for. However, it is still a step in the right direction.

I realize everything involving the current state of our CI is confusing, so trying to over-explain it a bit here, hope it's helpful to keep everyone in sync.

Goals

  1. ✅ Fix catch 22 where backwards incompatible API change would result in our CI bei...
vivid lintelBOT
vivid lintelBOT
#

What is the issue?

I am trying to publish a docker image to a local registry to evaluate dagger. After a few tries I can manage to export the container, but I am not able to publish.

The SDK guide should include an example of how to publish an image, rather than just showing how to export the build to the host system.

Steps I have done so far:

  1. run local registry with docker run -d -p 5000:5000 --restart=unless-stopped --name registry registry:2
  2. add `"insecure-registries...
vivid lintelBOT
#

context: https://discord.com/channels/707636530424053791/1048264718369951854

I think we could use some tooling to help us for generating better changelog, and maybe even automate some version bumping.

I see we could maybe use: https://pkg.go.dev/golang.org/x/exp@v0.0.0-20221204150635-6dcec336b2bb/apidiff#section-readme for tracking the engine and the Go SDK. I don't know for other languages.

cc @gerhard @aluzzardi @sipsma @vito

vivid lintelBOT
ornate vigilBOT
vivid lintelBOT
#

What is the issue?

Sometimes, their names are explicit enough, sometimes, they are not

eg.: https://pkg.go.dev/dagger.io/dagger#ContainerOpts
What is a platform? What's its format? Going to https://pkg.go.dev/dagger.io/dagger#Platform doesn't give more information. Especially that the platform supported are limited to linux/ for now

We should fill out more of these documentation to make the generated SDK reference documentation more useful to our users.

cc: @aluzzardi @shykes...

vivid lintelBOT
#

What is the issue?

The getting started for Dagger CUE on GitLab CI doesn't work.

In the before_script the dagger CLI is installed instead of dagger-cue CLI:

  before_script:
    - |
      # install dagger
      cd /usr/local
      wget -O - https://dl.dagger.io/dagger/install.sh | sh
      cd -

      dagger-cue version

To fix it, I'm going to open a PR where :

vivid lintelBOT
vivid lintelBOT
#

Bumps strawberry-graphql from 0.142.3 to 0.146.0.

Release notes
Sourced from strawberry-graphql's releases.

🍓 0.146.0
This release updates the Sanic integration and includes some breaking changes.
You might need to update your code if you are customizing get_context or
process_result
get_context
get_context now receives the request as the first argument and the response as
the second argument.
process_result
process_result is now async and...

#

Bumps @typescript-eslint/eslint-plugin from 5.45.0 to 5.45.1.

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

v5.45.1
5.45.1 (2022-12-05)
Bug Fixes

eslint-plugin: [keyword-spacing] unexpected space before/after in import type (#6095) (98caa92)
eslint-plugin: [no-shadow] add call and method signatures to ignoreFunctionTypeParameterNameValueShadow (#6129) (9d58b6b)
eslint-plugi...

#

Bumps typedoc-plugin-markdown from 3.13.6 to 3.14.0.

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

typedoc-plugin-markdown@3.14.0
Features

Add objectLiteralTypeDeclarationStyle option (#362)
Beautify parameter table output of destructured params (#364)

Fixes

Fix missing descriptions for function params (#357)
Add conditional check to signature comments (#368)

Changelog
So...

#

Bumps eslint from 8.28.0 to 8.29.0.

Release notes
Sourced from eslint's releases.

v8.29.0
Features

49a07c5 feat: add allowParensAfterCommentPattern option to no-extra-parens (#16561) (Nitin Kumar)
e6a865d feat: prefer-named-capture-group add suggestions (#16544) (Josh Goldberg)
a91332b feat: In no-invalid-regexp validate flags also for non-literal patterns (#16583) (trosos)

Documentation

0311d81 docs: Configuring Plugins page intro, page tweaks, and re...

#

Bumps typedoc-plugin-markdown from 3.13.6 to 3.14.0.

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

typedoc-plugin-markdown@3.14.0
Features

Add objectLiteralTypeDeclarationStyle option (#362)
Beautify parameter table output of destructured params (#364)

Fixes

Fix missing descriptions for function params (#357)
Add conditional check to signature comments (#368)

Changelog
So...

#

Bumps @typescript-eslint/parser from 5.45.0 to 5.45.1.

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

v5.45.1
5.45.1 (2022-12-05)
Bug Fixes

eslint-plugin: [keyword-spacing] unexpected space before/after in import type (#6095) (98caa92)
eslint-plugin: [no-shadow] add call and method signatures to ignoreFunctionTypeParameterNameValueShadow (#6129) (9d58b6b)
eslint-plugin: [prefer-optional-c...

#

Bumps docusaurus-plugin-typedoc from 0.17.5 to 0.18.0.

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

0.18.0 (2022-12-03)
Features

Add option sidebar.collapsed (#359)
Implement generate-typedoc cli command (#356)

Commits

See full diff in compare view

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

#

I would like to be able to enforce that all entries within a Directory have the same creation/modification timestamps so that I can have more reproducible builds.

Proposed API:

scalar UnixSeconds

extend type Directory {
  withTimestamps(timestamp: UnixSeconds!): Directory!
}

I'm not certain about the time representation at all; if there's a more canonical representation let me know.

vivid lintelBOT
#

We have many requests from users to support a few interrelated features:

vivid lintelBOT
vivid lintelBOT
#

fixes #4104

Adds the following API:

extend type Directory {
  "This directory with all entry creation/modification times set to the given time"
  withTimestamps(timestamp: Int!): Directory!
}

In hindsight there might be a less confusing name - we've got a plural withTimestamps yet a singular timestamp param. The name is plural because it modifies the contents recursively to a single timestamp.

One caveat: when mounting the Directory into a container the m...

vivid lintelBOT
ornate vigilBOT
ornate vigilBOT
#

I've gotten a good chunk of work done on a port of the v0.2/Europa API to the v0.3+/multi-language engine.

Very nice! It looks like we are close to being able to merge this, which would be fantastic.

That said, the current major blockers are

  • Secure secrets support in the current engine is only available through environment variables, and a few (resolvable) architectural issues make it impossible to support [...]

core.#NewSecret

Isn't that supported via [File { sec...

vivid lintelBOT
#

Bumps axios from 1.2.0 to 1.2.1.

Release notes
Sourced from axios's releases.

v1.2.1
[1.2.1] - 2022-12-05
Changed

feat(exports): export mergeConfig #5151

Fixed

fix(CancelledError): include config #4922
fix(general): removing multiple/trailing/leading whitespace #5022
fix(headers): decompression for responses without Content-Length header #5306
fix(webWorker): exception to sending form data in web worker #5139

Refactors

refactor(types): AxiosProgressEve...

vivid lintelBOT
ornate vigilBOT
#

There are some interesting ideas here!

I'd need to experiment with a few things to make sure this would work. cue/tools/flow tasks are a bit tricky sometimes... but I think there's a way to define the tasks so that this structure would work.

There are some rumblings in the CUE community around a cleaner definition of function calls... and that could help with this. But... it's also only in the design stage, so not ready for deeper experimentation.

I'll think on it some more, an...

vivid lintelBOT
vivid lintelBOT
ornate vigilBOT
#

Isn't that supported via File { secret }?

If you use File { secret } to get a SecretID but you accessed that file by running a command with secure tokens (like vault read), the SecretID would contain those secrets somewhere.

Similarly if you use WithNewFile to create a file with secret contents, the SecretID itself contains the secret value in plaintext. (Obfuscated behind base64, but still unsafe.)

So we need a w...

ornate vigilBOT
#

My strong preference would be to ship this ASAP, unless the engineering effort is too great, or we can't reduce migration pain to an acceptable level.

After discussing this live with @jlongtine today, I have changed my perspective. It would be great to be able to merge this, but we shouldn't force a merge that introduces security regressions or painful breaking changes.

I do think it's useful to use these requirements as a guide to prioritize work: some of these issues are badly neede...

vivid lintelBOT
#

Note
This is only marked as Draft because it shouldn't be merged before NodeJS SDK release tomorrow. It's good to review now and good to merge after that release.


This is the first step of updating the session interface: https://github.com/dagger/dagger/issues/3830

We need to start by getting rid of the CLI's dependency on the Go SDK to cut that circular dependency. The follow ups after this will update the SDKs to download the CLI instead of using the engine-session bin...

vivid lintelBOT
ornate vigilBOT
vivid lintelBOT
#

Bumps github.com/containerd/containerd from 1.6.10 to 1.6.11.

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

containerd 1.6.11
Welcome to the v1.6.11 release of containerd!
The eleventh patch release for containerd 1.6 contains a various fixes and updates.
Notable Updates

Add pod UID annotation in CRI plugin (#7735)
Fix nil pointer deference for Windows containers in CRI plugin (#7737)
Fix lease labels unexpectedly overwr...

#

Bumps prettier from 2.8.0 to 2.8.1.

Release notes
Sourced from prettier's releases.

2.8.1
🔗 Changelog

Changelog
Sourced from prettier's changelog.

2.8.1
diff
Fix SCSS map in arguments (#9184 by @​agamkrbit)

// Input
$display-breakpoints: map-deep-merge(
(
"print-only": "only print",
"screen-only": "only screen",
"xs-only": "only screen and (max-width: #{map-get($grid-breakpoints...

#

Bumps spectaql from 1.5.8 to 2.0.0.

Changelog
Sourced from spectaql's changelog.

2.0.0

BREAKING CHANGE: Drops support for Node 12. Requires Node >=14.
BREAKING CHANGE: Requires npm >= 7.
BREAKING CHANGE: The run and loadData commands are now asynchronous and return a promise.
Fixes myriad bugs.
Adds better support for various example generation scenarios.
BREAKING CHANGE: Subscriptions are now listed under Operations, immediately after Queries a...

vivid lintelBOT
#

Bumps github.com/containerd/containerd from 1.6.10 to 1.6.12.

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

containerd 1.6.12
Welcome to the v1.6.12 release of containerd!
The twelfth patch release for containerd 1.6 contains a fix for CVE-2022-23471.
Notable Updates

Fix goroutine leak during Exec in CRI plugin (GHSA-2qjp-425j-52j9)

See the changelog for complete list of changes
Please try out the release binaries and r...

vivid lintelBOT
#

However, if we add documentation on a required parameter that is not part of a struct, this piece of documentation does not appear on Go and Node SDK.

I was improving the doc to fix https://github.com/dagger/dagger/issues/4089#issuecomment-1340980931 and bunch of stuff but I figure out this bug.
We need to fix this issue to strongly improve the documentation.

Repro case

Update container.graphqls:line 189

-  "Publish this container as a new image, returnin...
vivid lintelBOT
#

What is the issue?

I'm trying to write a new file with the following script:

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

connect(async (client: Client) => {

  const stringWithQuotes = "This string has quotes \""
  const newFile = await client
       .container()
       .directory("/")
       .withNewFile("myfile", stringWithQuotes)
       .file("myfile").id()
})

Log output

(node:41070) ExperimentalWarning: --experimental-loader is...
vivid lintelBOT
#

What is the issue?

I wanted to regenerate locally some SDK code.
It failed inside the engine of a ./hack/make sdk:nodejs:generate and I couldn't get more details.
I wanted to see on my host FS what was failing, so I decided to do a:

$ go run ./cmd/client-gen/ --lang nodejs -o sdk/nodejs/api/client.gen.ts

Log output

Error: failed to start engine session bin: EOF: Error: unknown engine provider: 

Please visit https://dagger.io/help#go for troubleshooting guidan...
vivid lintelBOT
vivid lintelBOT
#

Bumps golang.org/x/crypto from 0.1.0 to 0.4.0.

Commits

eb2c406 go.mod: update golang.org/x dependencies
2c47667 cryptobyte: add support for ReadASN1Integer into []byte
0ec7e83 internal/wycheproof: update Go 1.20 crypto/ecdh API
6fad3df ssh: support rsa-sha2-256/512 on the server side
21d60a1 all: remove redundant type conversion
183a9b7 go.mod: update golang.org/x dependencies
334521b ssh: fix typo
a3485e1 all: use math/bits.RotateLeft
See full diff in co...

#

Bumps golang.org/x/term from 0.1.0 to 0.3.0.

Commits

97ca0e3 go.mod: update golang.org/x dependencies
f72a2d8 go.mod: update golang.org/x dependencies
f6f2839 term: remove unused variable
8365914 go.mod: update golang.org/x dependencies
See full diff in compare view

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

#

Bumps golang.org/x/sys from 0.1.0 to 0.3.0.

Commits

3ca3b18 windows: add GetLargePageMinimum
d684c6f execabs: isGo119ErrDot: use errors.Is instead of string-matching
fc697a3 unix: add ParseOneSocketControlMessage to parse control messages without allo...
5726498 unix: in Linux sendmsgN actually send one normal byte
See full diff in compare view

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

#

Bumps @typescript-eslint/parser from 5.45.1 to 5.46.0.

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

v5.46.0
5.46.0 (2022-12-08)
Bug Fixes

eslint-plugin: [ban-types] update message to suggest object instead of Record<string, unknown> (#6079) (d91a5fc)

Features

eslint-plugin: [prefer-nullish-coalescing] logic and test for strict null checks (#6174) (8a91cbd)

Changelog
Sourced ...

#

Bumps @typescript-eslint/eslint-plugin from 5.45.1 to 5.46.0.

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

v5.46.0
5.46.0 (2022-12-08)
Bug Fixes

eslint-plugin: [ban-types] update message to suggest object instead of Record<string, unknown> (#6079) (d91a5fc)

Features

eslint-plugin: [prefer-nullish-coalescing] logic and test for strict null checks (#6174) (8a91cbd)

...

#

Bumps typescript from 4.9.3 to 4.9.4.

Release notes
Sourced from typescript's releases.

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

fixed issues query for Typescript v4.9.4.

Downloads are available on:

npm
NuGet package

Changes:

e2868216f637e875a74c675845625eb15dcfe9a2 Bump version to 4.9.4 and LKG.
eb5419fc8d980859b98553586dfb5f40d811a745 Cherry-pick #51704 to re...

#

Bumps spectaql from 1.5.8 to 2.0.1.

Changelog
Sourced from spectaql's changelog.

2.0.1

All lifecycle scripts only use npm (never yarn).

2.0.0

BREAKING CHANGE: Drops support for Node 12. Requires Node >=14.
BREAKING CHANGE: Requires npm >= 7.
BREAKING CHANGE: The run and loadData commands are now asynchronous and return a promise.
Fixes myriad bugs.
Adds better support for various example generation scenarios.
BREAKING CHANGE: Subscriptions are...

vivid lintelBOT
ornate vigilBOT
#

Hi all! I hope everyone is having a great holiday season. We are working on our 2023 event and CFP (call for papers) plans as we approach the new year.

Many of you have reached out to let us know that you are going to do a talk about Dagger, and we love it!

I want to use this post to ask the following of the community:

  • Are you using Dagger in a demo? Please DM me(MirandaCarter#3268) on the Dagger Discord Server if you plan to demo with Dagger for an event or meet-up. I'll hap...
vivid lintelBOT
#

Draft because this also includes a commit from https://github.com/dagger/dagger/pull/4143 (PTAL at that one, should be an easy merge and can undraft this one once its in)

Major changes:

  1. No more separate engine-session binary, now session is a hidden subcommand of the CLI
    • For now the CLI is thus included w/ the engine image, same as engine session before. See below for next steps
  2. SDKs read json encoded url+session token from stdout instead of just port. They are now compatib...
vivid lintelBOT
vivid lintelBOT
#

Sorry I haven't been able to pitch in during the error handling PR. I come after the fact.

I've read the documentation of https://docs.dagger.io/current/sdk/nodejs/reference/classes/common_errors.EngineSessionPortParseError and it seems to me that either the name of the error is confusing, or its behavior is.

If it's a parse error, then it should be thrown at parsing time. It should not be thrown if it times out.

I guess (with my limited JS/TS knowledge) that it's thrown by a functio...

vivid lintelBOT
#

What is the issue?

I want to use the new errors from the NodeJS SDK v0.3.0, but I don't know how to access it.
It seems they are not exported from the SDK index.ts.

Log output

/home/dolanor/src/demos/node_modules/ts-node/src/index.ts:859
    return new TSError(diagnosticText, diagnosticCodes, diagnostics);
           ^
TSError: ⨯ Unable to compile TypeScript:
build.ts:2:43 - error TS2307: Cannot find module '@dagger.io/dagger/common/errors' or its corresponding type dec...
vivid lintelBOT
vivid lintelBOT
#

Bumps amplitude-js from 8.21.2 to 8.21.3.

Release notes
Sourced from amplitude-js's releases.

v8.21.3
8.21.3 (2022-12-09)
Bug Fixes

bump analytics-connector (#565) (ffb5298)

Changelog
Sourced from amplitude-js's changelog.

8.21.3 (2022-12-09)
Bug Fixes

bump analytics-connector (#565) (ffb5298)

Commits

75dcafd chore(release): 8.21.3 [skip ci]
ffb5298 fix: bump analytics-connector (#565)
See full diff in compare view

[![Dep...

#

Bumps sass from 1.56.0 to 1.56.2.

Release notes
Sourced from sass's releases.

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

The embedded compiler now supports version 1.2.0 of the embedded protocol.

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

#

Bumps spectaql from 1.5.8 to 2.0.2.

Changelog
Sourced from spectaql's changelog.

2.0.2

Exit with an explicit 0 code when no need to build vendor packages. anvilco/spectaql#606

2.0.1

All lifecycle scripts only use npm (never yarn).

2.0.0

BREAKING CHANGE: Drops support for Node 12. Requires Node >=14.
BREAKING CHANGE: Requires npm >= 7.
BREAKING CHANGE: The run and loadData commands are now asynchronous and return a promise.
Fixes myriad bugs....

vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

Localhost is often configured with entries for both ipv4 (127.0.0.1) and ipv6 entries (::1). Which one clients resolve to is inconsistent, so I found that sometimes nodejs would end up trying to connect to the ipv6 endpoint when the session was being listened to on ipv6.

Now we just consistently listen on 127.0.0.1. Technically it's possible for hosts to be ipv6 only or for a different loopback interface to be pointed to by /etc/hosts (e.g. 127.0.1.1), but these cases are extremely obscure...

vivid lintelBOT
#

Signed-off-by: Erik Sipsma

Fixes https://github.com/dagger/dagger/issues/3025

I looked a bit into the upcoming build history API in buildkit v0.11 but realized the way its implemented makes it very hard to use for this case (it's all the progress for the whole build, not just one exec), so I think the approach in this pr, while inherently ugly, to be the only viable way.

We use a secret feature of buildkit that lets you obtain the mounts of a failed exec and use them in `NewContaine...

vivid lintelBOT
vivid lintelBOT
ornate vigilBOT
#

Hi, not sure whether this is useful for you.

I'm investing use of cue & dagger in order to be more Infrastructure-as-Configuration versus code. In that context, I created a tiny container registry solution with cue + dagger-cue. In GHA context federation/OIDC is used.

- name: azure login by federation
  uses: azure/login@v1
  with:
      client-id: ${{ env.clientIdU }}
      subscription-id: ${{ env.subscriptionIdU }}
      tenant-id: ${{ env.tenantIdU }}
      ...
vivid lintelBOT
vivid lintelBOT
#

Bumps typescript from 4.9.3 to 4.9.4.

Release notes
Sourced from typescript's releases.

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

fixed issues query for Typescript v4.9.4.

Downloads are available on:

npm
NuGet package

Changes:

e2868216f637e875a74c675845625eb15dcfe9a2 Bump version to 4.9.4 and LKG.
eb5419fc8d980859b98553586dfb5f40d811a745 Cherry-pick #51704 to re...

#

Bumps mocha from 10.1.0 to 10.2.0.

Release notes
Sourced from mocha's releases.

v10.2.0
10.2.0 / 2022-12-11
:tada: Enhancements

#4945: API: add possibility to decorate ESM name before import (@​j0tunn)

:bug: Fixes

#4946: Browser: color of failed test icon (@​kleisauke)

:book: Documentation

#4944: Remove duplicated header (@​PauloGoncalvesBH)

Changelog
Sourced from mocha's changelog.

10.2.0 / 2022-12-11
:tada: Enhancements

#4945: API: add possib...

#

Bumps @typescript-eslint/eslint-plugin from 5.46.0 to 5.46.1.

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

v5.46.1
5.46.1 (2022-12-12)
Note: Version bump only for package @​typescript-eslint/typescript-eslint

Changelog
Sourced from @​typescript-eslint/eslint-plugin's changelog.

5.46.1 (2022-12-12)
Note: Version bump only for package @​typescript-eslint/eslint-plugin

...

#

Bumps @typescript-eslint/parser from 5.46.0 to 5.46.1.

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

v5.46.1
5.46.1 (2022-12-12)
Note: Version bump only for package @​typescript-eslint/typescript-eslint

Changelog
Sourced from @​typescript-eslint/parser's changelog.

5.46.1 (2022-12-12)
Note: Version bump only for package @​typescript-eslint/parser

Commits

c943b84 chore: publish v5....

#

Bumps typedoc from 0.23.21 to 0.23.22.

Release notes
Sourced from typedoc's releases.

v0.23.22
Features

Add support for defining the kind sort order, #2109.

Bug Fixes

Normalize all file paths on Windows, #2113.
Fix @link tags within lists, #2103.

Changelog
Sourced from typedoc's changelog.

v0.23.22 (2022-12-11)
Features

Add support for defining the kind sort order, #2109.

Bug Fixes

Normalize all file paths on Windows, #2113.
Fix @link tags...

vivid lintelBOT
vivid lintelBOT
#

What is the issue?

As reported first on Discord https://discord.com/channels/707636530424053791/1051860116175073292

When running pipenv run python test.py for the example python file the below message is thrown

File "C:\Users\winuser\.virtualenvs\dgrpy-7tEWe_Su\Lib\site-packages\dagger\engine\docker.py", line 120, in start_sync
    engine_session_bin_path = tmp_bin_path.rename(engine_session_bin_path)
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^...
vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
ornate vigilBOT
vivid lintelBOT
vivid lintelBOT
#

Overview

Even though you can easily reach for a named parameter in Python, I think we should make it required for optional parameters.

This is to avoid someone actually using positional params even though it's obvious that named is better here.

Example

# don't allow this
ctr.with_exec(["wat"], None, None, "/out/stderrr")

# force this instead
ctr.with_exec(["wat"], redirect_stderr="/out/stderr")
vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

Problem

The transition to a multi-language model has greatly improved the Dagger developer experience in many ways. But in its current form it has introduced a regression: there no longer is a standard way to discover and run pipelines from the CLI.

Dagger engine 0.2 (Europa) Dagger engine 0.3 (Cloak)
Discover pipelines dagger do --list
Run a pipeline dagger do

Solution

Overall design

The current plan is to implem...

vivid lintelBOT
#

If you provide a path that exceeds a certain length you will get an error from buildkit like

ClientError: lstat /var/lib/buildkit/runc-overlayfs/cachemounts/buildkit1109656980/app/eyJsbGIiOnsiZGVmIjpbIkdvSUNDa2xzYjJOaGJEb3ZMeTlWYzJWeWN5OXNaVzl6YW05aVpYSm5MME52WkdVdmFtOWlhV3hzWVM5aVlXTnJaVzVrTDI5dGJtbGhMMkoxYVd4a0wyRnlaMjh0YldGdWFXWmxjM1J6RWwwS0UyeHZZMkZzTG5Ob1lYSmxaR3RsZVdocGJuUVNSbWh2YzNRNkwxVnpaWEp6TDJ4bGIzTnFiMkpsY21jdlEyOWtaUzlxYjJKcGJHeGhMMkpoWTJ0bGJtUXZiMjF1YVdFdlluVnBiR1F2WVhKbm...
vivid lintelBOT
#

Overview

Some top-level fields return an object if you have an ID:

def directory(self, id: DirectoryID | Directory | None = None) -> Directory: ...
def file(self, id: FileID | File) -> File: ...

If you already have an object it doesn’t make sense to use these fields to get the same object. So these fields only make sense if you have an ID somehow, and need to get the object they represent.

Note: It’s not clear when you’d need these fields in a codegen client....

vivid lintelBOT
#

Some top-level fields return an object if you have their ID:

type Query {
    container(id: ContainerID, platform: Platform): Container!
    directory(id: DirectoryID): Directory!
    file(id: FileID!): File
    secret(id: SecretID!): Secret!    
    socket(id: SocketID): Socket!
}

There’s two exceptions to this “rule”. I think it makes sense for us to rename these parameters to make it more consistent:

type Container {
-    withRootfs(id: DirectoryID...
vivid lintelBOT
vivid lintelBOT
#

Signed-off-by: Erik Sipsma

This PR is probably on the border of too large, but a lot of the changes are just re-arrangements of existing code, equivalent code in 3 SDKs and/or tests. If other prefer I can start by just merging the Go stuff and then send out separate PRs for python+nodejs.


Overall current state:

  1. Go - solid afaict
  2. Python - I did not put any effort into a large scale refactorization yet as I don't know the best way to approach it. I don't think we need the ...
vivid lintelBOT
vivid lintelBOT
#

What are you trying to do?

I'd like to set resource limits to build calls made to Dagger API.

Why is this important to you?

Having build resource limits will prevent abuse of the shared Dagger/Buildkit cluster we maintain

How are you currently working around this?

Not working around it currently.
Thanks to @sipsma pointing out that Buildkit already supports this so it would be something that Dagger API needs to support. https://discord.com/channels/707636530424053791/105084...

vivid lintelBOT
vivid lintelBOT
#

What is the issue?

I haven't found any examples of how this is suppose to work, but maybe its obvious and I'm not looking hard enough.

I know I can run the pipelines locally, but can I run pipelines locally and mock out all the actual commands? So I can test the logic without actually doing a deployment?

Is the solution to just factor your code in a way where you can unit test its components? Even if I do that I'd still want a way to "integration" test where I run the whole pipelin...

vivid lintelBOT
#

Bumps github.com/containerd/containerd from 1.6.10 to 1.6.13.

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

containerd 1.6.13
Welcome to the v1.6.13 release of containerd!
The thirteenth patch release for containerd 1.6 contains various fixes and updates.
Notable Updates

Update overlay snapshotter to check for tmpfs when evaluating usage of userxattr (#7788)
Update hcsschim to v0.9.6 to fix resource leak on exec (#7808)
...

vivid lintelBOT
vivid lintelBOT
#

I've noticed, either while dogfooding or looking at community demos, that the DX is lacking in synchronization mechanism and people are building workarounds around that.

Problem 1: Single pipeline synchronization

Sometimes, you want to synchronously wait for something to complete

Current workaround: Call a synchronous function and throw away the result.

, err = ctr.ExitCode(ctx)
, err = dir.Entries(ctx)

Proposed solution: Explicit Wait() function

...
#

Realized as I was chatting about something that the serving of a nested session needs to occur inside the shim() func, whereas today it's in the setupBundle() func: https://github.com/sipsma/dagger/blob/6272f1919c78abb46c83fe5e1e460a71ef7a9980/cmd/shim/main.go#L207-L207

Otherwise, the local dirs referenced by the nested session will be incorrect and outside the container.

The fix is simple but going to add some explicit tests for this. It got missed because previously our test cover...

vivid lintelBOT
#

Major changes:

  1. Each push to main now publishes the CLI to our s3 buckets (alongside the existing publish of engine image on main)
    • It pushes it to path dagger/releases//dagger___.tar.gz. This matches the paths we use for official releases (just replaces tag w/ commit sha)
    • This required setting up the nightly feature in goreleaser, which in turn required splitting out the goreleaser config into separate files to avoid templating nightmares, which in turn required we use gorele...
vivid lintelBOT
#

I'm forwarding a user request I had while helping them (@tiramiseb)

The question was: do we really need dagger.Connect()?
As nothing is send to the server until a context is passed to a solving function, why not initialize the connection at that time?
What if the connection was done lazily at the first query that is actually sent? (with some sync.Once, etc)

vivid lintelBOT
#

Overview

Follow up to:

Related:

With the recent changes to provisioning and the intent to simplify things, the current architecture in the Python SDK can use some simplification as well.

Tasks

  • [x] Abandon DAGGER_HOST based registration system
    • [x] Move connection parameters from dagger.Config into internal object (host a...
vivid lintelBOT
#

Overview

Follow up to:

Initial implementation had the actual type in the error message, but it’s not always simple to get a good string representation of a type, so it was left out of the change.

However, it really helps in debugging to show it:

  File "test.py", line 21, in test
    .with_directory("/spam", dir_id)
- TypeError: Wrong type for 'directory' parameter. Expected a 'Directory' instead.
+ TypeError: Wrong type 'DirectoryID...
ornate vigilBOT
#

This is a discussion to portray the different conversations and ideas I've been speaking with some of the Dagger team members around giving a second iterations to our docs and getting started experience. The objective is to highlight the current improvement opportunities and present a list of actionable items with the hope to make them issues so we can incrementally improve the whole experience.

The current areas of opportunities (non-prioritized) we've identified are:

  • Lack of a u...
vivid lintelBOT
vivid lintelBOT
#

Splitting this out from the task list here so it can be tracked by users and discussed separately.

Given how common a question and enormous a pain point this is, I think we should document:

  1. The new _EXPERIMENTAL_* env knobs for connecting an SDK to an already provisioned engine
  2. Where our engine image is located (so users can set it up themselves)
  3. How to obtain a CLI corresponding to a given engine image

We need to decide wher...

vivid lintelBOT
#

What is the issue?

As evidenced in https://github.com/dagger/dagger/pull/4207, the NodeJS/Typescript codegen doesn't currently support GraphQL input types.

Log output

#26 docker-entrypoint.sh yarn test
#26 0.304 yarn run v1.22.19
#26 0.354 $ mocha
#26 0.643 (node:39) ExperimentalWarning: Custom ESM Loaders is an experimental feature. This feature could change at any time
#26 0.643 (Use `node --trace-warnings ...` to show whe...
vivid lintelBOT
#

Related:

Users often need CA certs or mirror configuration in order to push/pull container images.

Right now, the only way to accomplish that is to customize the engine image and install those certs in the right directory + setup a configuration file for mirrors. This is often extremely inconvenient.

In many cases the user has the required CA certs locally or has access to the correct mir...

ornate vigilBOT
#

Hi,

I'm not sure if it's possible in general to run a docker compose file, because I have nothing found in the documentation. Examples are all based on docker files itself.

To the problem. I have a docker compose file which starts different services that I need to execute E2E tests in a pipeline. One of the docker containers that gets started contains my JS based application. The application has a package.json which contains one command to run the application and one to run the Playwr...

ornate vigilBOT
ornate vigilBOT
#

Yes, I was about to echo what @gerhard mentioned. When Vikram gets back from PTO, he will be focusing on the next version of the docs and creating a proposal for next steps.

I agree with all these issues and improvements. For the guides, we should think about a way to highlight them from the blog homepage and Dagger homepage too.

vivid lintelBOT
#

In order to support privileged execs, it'd be preferable to gives operators a way of configuring access in a way that doesn't involve them forking the engine or starting it with custom args. Instead, there could be a way of configuring access to privileged execs at runtime and at a fine-grained, per-client basis.

This could take many forms. One first step could be to add support for something like an "Admin API" that exposes a simple on/off switch. This could just be a graphql api like:
`...

vivid lintelBOT
#

Bumps github.com/containerd/containerd from 1.6.10 to 1.6.14.

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

containerd 1.6.14
Welcome to the v1.6.14 release of containerd!
The fourteenth patch release for containerd 1.6 fixes a regression in the CRI plugin related to swap
Notable Updates

Fix memory.memsw.limit_in_bytes: no such file or directory error in CRI plugin (#7838)

See the changelog for complete list of changes
...

vivid lintelBOT
#

Bumps typedoc from 0.23.21 to 0.23.23.

Release notes
Sourced from typedoc's releases.

v0.23.23
Features

Added ts.Signature to emitted EVENT_CREATE_SIGNATURE event, #2002.

Bug Fixes

Links to members hidden by filter settings now temporarily override the filter, #2092.
If src/ and src/x are specified as entry points, src/ will no longer be ignored, #2121.

v0.23.22
Features

Add support for defining the kind sort order, #2109.

Bug Fixes

Normalize ...

#

Bumps sass from 1.56.2 to 1.57.0.

Release notes
Sourced from sass's releases.

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

Add a split($string, $separator, $limit: null) function to sass:string that splits a string into separate substrings based on a separator string.

JavaScript API

Potentially breaking bug fix: Custom functions...

ornate vigilBOT
#

Hi @akkie,

Thanks for this discussion and for trying out Dagger. We'll do out best to help you transition to Dagger smoothly 😇

By the way, do not hesitate to create a thread on our Discord, under the help section. Also, feel free to ping me (@guillaume), or anyone from the team.

To summarize, there is no e2e docs on your use-case because it touches 2 main subjects that are currently under development on our sid...

ornate vigilBOT
#

Take into account that you'll have to make some modifications to your apps since service resolution by name won't work the same way as it currently works in compose. More details about this in the issue Guillaume referenced here:

So basically, whatever strategy you want to follow today, it'll require some tweaking from the current setup

vivid lintelBOT
#

Bumps graphql-request from 5.0.0 to 5.1.0.

Commits

973bfd7 chore(deps-dev): bump express from 4.17.1 to 4.17.3 (#416)
9b1f9f8 chore(deps): bump qs from 6.5.2 to 6.5.3 (#415)
c17f821 feat: pass operationName and variables to requestMiddleware (#412)
f524fcb chore(deps): bump minimatch from 3.0.4 to 3.1.2 (#413)
dd5d8a2 chore(deps): bump apollo-server-core from 3.10.1 to 3.11.1 (#414)
88c1a46 feat: upgrade typescript (#411)
6a6b126 fix: variables n...

#

Bumps @typescript-eslint/parser from 5.46.1 to 5.47.0.

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

v5.47.0
5.47.0 (2022-12-19)
Features

eslint-plugin: [no-floating-promises] add suggestion fixer to add an 'await' (#5943) (9e35ef9)

Changelog
Sourced from @​typescript-eslint/parser's changelog.

5.47.0 (2022-12-19)
Note: Version bump only for package @​typescript-eslint/parser

Com...

#

Bumps eslint from 8.29.0 to 8.30.0.

Release notes
Sourced from eslint's releases.

v8.30.0
Features

075ef2c feat: add suggestion for no-return-await (#16637) (Daniel Bartholomae)
7190d98 feat: update globals (#16654) (Sébastien Règne)

Bug Fixes

1a327aa fix: Ensure flat config unignores work consistently like eslintrc (#16579) (Nicholas C. Zakas)
9b8bb72 fix: autofix recursive functions in no-var (#16611) (Milos Djermanovic)

Documentation

6a8cd94 docs:...

#

Bumps sass from 1.57.0 to 1.57.1.

Release notes
Sourced from sass's releases.

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

No user-visible changes.

See the full changelog for changes in earlier releases.

Changelog
Sourced from sass's changelog.

1.57.1

No user-visible changes.

Commits

5522c17 Run "dart pub upgrade&qu...

vivid lintelBOT
#

Signed-off-by: Erik Sipsma

Fixes: https://github.com/dagger/dagger/issues/4215
Related: https://github.com/dagger/dagger/issues/3830

Just putting this in the internal docs for now, so it'll only be in markdown on the github repo. Can migrate to official website if desired but after thinking about it more given this is only meant for power users right now it's probably better to leave it off there until it's been more polished+solidified.

Realized as I was writing the docs there's a...

vivid lintelBOT
#

What are you trying to do?

Release prerelease versions of the node SDK.

IMO there are 3 possibilities of doing this.

  • Release a new prerelease version for every commit to main (${version}-dev-${GITHUB_SHA})
  • Release a new prerelease version every day via cronjob(Seems to be the most common and the one I have used)
  • Some other logic like publishing manually

Why is this important to you?

Creating pre-releases is quite common

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

What is the issue?

idea from @kpenfound -
We need to help new users understand "how to dagger." This isn't referring to SDK usage or syntax. What I mean is giving a new user the usage patterns that will make them successful with dagger. Mapping an existing pipeline 1:1 to dagger will probably work, but it may not be a good experience.

vivid lintelBOT
#

Bumps attrs from 22.1.0 to 22.2.0.

Release notes
Sourced from attrs's releases.

22.2.0
Highlights
It's been a lot busier than the changelog indicates, but a lot of the work happened under the hood (like some impressive performance improvements). But we've got still one big new feature that's are worthy the holidays:
Fields now have an alias argument that allows you to set the field's name in the generated init method. This is especially useful fo...

#

Suggestion from @marcosnils :

"Learn Dagger" tutorial with the option to log-in using Github a-la nextjs learn (https://nextjs.org/learn/foundations/about-nextjs). The good thing about doing this is that if the user decides to log-in using Github, we might design the flow in a way that by using the SSO credentials we could create a repository and setup the GHA flow automatically ourselves. In that flow, the "dagger" setup will be super smooth

vivid lintelBOT
#

There are currently some areas of our API that don't quite fully encompass what Buildkit allows us to do. I feel that we should get as close as we can to full coverage (within the boundaries of DX concerns).

A few examples of this:

There are also additional parts of the dockerbuild API that should be built out.

And I'm sure there are other areas. I can flesh out additional issues!

ornate vigilBOT
ornate vigilBOT
vivid lintelBOT
vivid lintelBOT
#

The group API allows to programmatically group related operations together for status reporting and visualization purposes (e.g. logs).

Groups are hierarchical and can contain any number of sub-groups.

Example Usage

Taking this repository as an example, we perform hundreds of operations (e.g. exec, copies) which all get reported back as a single flat stream, with all operations mixed together.

This repository's CI is organized in 20 or so logical "parts": 3 SDKs with a build/li...

vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

The current example uses /run/docker.sock which is fine for Linux, but other platforms like MacOS use /var/run/docker.sock which also works via symlinks on Linux, so we should use the more general example in case somebody uses this as-is.

old:

echo eyJob3N0X3BhdGgiOiIvcnVuL2RvY2tlci5zb2NrIn0= | base64 -D
{"host_path":"/run/docker.sock"}%

new:

echo -n eyJob3N0X3BhdGgiOiIvdmFyL3J1bi9kb2NrZXIuc29jayJ9 | base64 -D
{"host_path":"/var/run/docker.sock"}%

Signed-o...

vivid lintelBOT
#

Bumps @typescript-eslint/eslint-plugin from 5.46.1 to 5.47.0.

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

v5.47.0
5.47.0 (2022-12-19)
Features

eslint-plugin: [no-floating-promises] add suggestion fixer to add an 'await' (#5943) (9e35ef9)

Changelog
Sourced from @​typescript-eslint/eslint-plugin's changelog.

5.47.0 (2022-12-19)
Features

eslint-plugin: [no-floating-pro...

vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

Signed-off-by: Erik Sipsma

Recent changes accidentally introduced a small change in how we name archives:

before: dagger/releases/0.3.7/dagger_v0.3.7_linux_arm64.tar.gz
after:  dagger/releases/0.3.7/dagger_0.3.7_linux_arm64.tar.gz

Noticed here: https://github.com/dagger/dagger/pull/4255#pullrequestreview-1229367604

I think the newer name scheme is nicer in that it's more consistent, however It's easier to just go back to the previous naming scheme than it is to try updat...

ornate vigilBOT
ornate vigilBOT
vivid lintelBOT
#

Bumps @typescript-eslint/eslint-plugin from 5.46.1 to 5.47.1.

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

v5.47.1
5.47.1 (2022-12-26)
Bug Fixes

ast-spec: correct some incorrect ast types (#6257) (0f3f645)
eslint-plugin: [member-ordering] correctly invert optionalityOrder (#6256) (ccd45d4)

v5.47.0
5.47.0 (2022-12-19)
Features

eslint-plugin: [no-floating-promises] add sug...

#

Bumps @typescript-eslint/parser from 5.47.0 to 5.47.1.

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

v5.47.1
5.47.1 (2022-12-26)
Bug Fixes

ast-spec: correct some incorrect ast types (#6257) (0f3f645)
eslint-plugin: [member-ordering] correctly invert optionalityOrder (#6256) (ccd45d4)

Changelog
Sourced from @​typescript-eslint/parser's changelog.

5.47.1 (2022-12-26)
Note: Version bum...

vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

Bumps axios from 1.2.1 to 1.2.2.

Release notes
Sourced from axios's releases.

1.2.2
[1.2.2] - 2022-12-29
Fixed

fix(ci): fix release script inputs #5392
fix(ci): prerelease scipts #5377
fix(ci): release scripts #5376
fix(ci): typescript tests #5375
fix: Brotli decompression #5353
fix: add missing HttpStatusCode #5345

Chores

chore(ci): set conventional-changelog header config #5406
chore(ci): fix automatic contributors resolving #5403
chore(ci): improved l...

vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

What are you trying to do?

I'm trying to fetch use a file in my host machine and mount that into a container. It'd be nice to do something like

{
  host {
    file(path:"some/file.txt") {
      id
    }
  }
}

However, file is not currently a field of the host query.

Why is this important to you?

So I don't have to make multiple calls.

How are you currently working around this?

I have to use a directory call to get what I need. i.e:

{
  ho...
vivid lintelBOT
#

Bumps json5 from 2.2.1 to 2.2.2.

Release notes
Sourced from json5's releases.

v2.2.2

Fix: Properties with the name proto are added to objects and arrays.
(#199) This also fixes a prototype pollution vulnerability reported by
Jonathan Gregson! (#295).

Changelog
Sourced from json5's changelog.

v2.2.2 [code, diff]

Fix: Properties with the name proto are added to objects and arrays.
(#199) This also fixes a prototype pollution vulnerability repor...

vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

Bumps eslint from 8.30.0 to 8.31.0.

Release notes
Sourced from eslint's releases.

v8.31.0
Features

52c7c73 feat: check assignment patterns in no-underscore-dangle (#16693) (Milos Djermanovic)
b401cde feat: add options to check destructuring in no-underscore-dangle (#16006) (Morten Kaltoft)
30d0daf feat: group properties with values in parentheses in key-spacing (#16677) (Francesco Trotta)

Bug Fixes

35439f1 fix: correct syntax error in prefer-arrow-call...

#

Bumps eslint-config-prettier from 8.5.0 to 8.6.0.

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

Version 8.6.0 (2023-01-02)

Added: [vue/multiline-ternary]. Thanks to @​xcatliu!

Commits

414495d eslint-config-prettier v8.6.0
ebcb0bf Update npm packages (#236)
879e82e feat: off vue/multiline-ternary rule (#234)
1218d22 ci: harden workflows (#232)
a57a3bb ci: bump github actions (#221)
ab47f02 Bump minimist from 1.2.5 to 1....

#

Bumps httpx from 0.23.1 to 0.23.2.

Release notes
Sourced from httpx's releases.

Version 0.23.2
0.23.2 (2nd Jan, 2023)
Added

Support digest auth nonce counting to avoid multiple auth requests. (#2463)

Fixed

Multipart file uploads where the file length cannot be determine now use chunked transfer encoding, rather than loading the entire file into memory in order to determine the Content-Length. (#2382)
Raise TypeError if content is passed a dict-instance....

vivid lintelBOT
#

What are you trying to do?

I've recently been considering moving pieces of my existing (non-Dagger) CI pipeline to self-hosted infrastructure on Google's spot instances. Because these instances could be preempted at any time, it would be ideal if progress on my pipeline were saved incrementally, in as granular a way as possible. It occurred to me that Dagger's cache model (where each execution step can be cached, potentially to long-lived external storage) might make solving this problem...

vivid lintelBOT
ornate vigilBOT
#

I am excited about improving our docs of course, but advise against a “docs 2.0” effort. We’ve had endless big bang “2.0” efforts, I know it’s tempting but it is never worth it. The ideas listed here are good, but they should be broken up into a backlog of orthogonal improvements, and rolled out incrementally. Otherwise feature creep and subsequent remorse are guaranteed.

Create a unified multi-language "getting started" flow which helps the user going from 0 to a deployed app has inte...

vivid lintelBOT
#

Bumps @typescript-eslint/parser from 5.47.0 to 5.48.0.

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

v5.48.0
5.48.0 (2023-01-02)
Bug Fixes

website: fix typo (#6285) (3f8d105)

Features

eslint-plugin: specify which method is unbound and added test case (#6281) (cf3ffdd)

v5.47.1
5.47.1 (2022-12-26)
Bug Fixes

ast-spec: correct some incorrect ast types (#6257) (0f3f645)
eslint-plugin: [me...

vivid lintelBOT
ornate vigilBOT
#

We’ve had endless big bang “2.0” efforts, I know it’s tempting but it is never worth it. The ideas listed here are good, but they should be broken up into a backlog of orthogonal improvements, and rolled out incrementally. Otherwise feature creep and subsequent remorse are guaranteed.

I agree with this sentiment. I actually had some difficult to come up with a straightforward title for the initiative and I just put "Dagger 2.0" just to kick it off. You'll also notice that I intentional...

vivid lintelBOT
#

Each SDK handles error messages differently:

  • one tricky error that is hard to debug is when the dagger-engine has been stopped.
  • No unified solution was proposed

Here, we basically hint to the user that it might be due to having manually stopped the dagger engine. The solution is to either:

  1. start the container again
  2. remove it

For each SDK, this clarifies a little bit the error:

Typescript

Python

Go

vivid lintelBOT
vivid lintelBOT
#

Following up the conversation from this thread: https://discord.com/channels/707636530424053791/1059587293247193320 there's current no straightforward way to send secrets to a build step without making some changes to the Dockerfile.

The current way to achieve this is by leveraging build_args and modifying the Dockerfile as follows:

FROM alpine

ARG SECRET

RUN --mount=type=secret,id=$SECRET,target=/secrets/muysecret \
cat /secrets/muysecret

A possibl...

vivid lintelBOT
#

We had to temporarily go back to mounting in the buildkit socket into dagger-in-dagger containers here. I think there is a way to avoid this though. We can run the session outside of the container but then configure the localdir session attachable to use files from within the the container by looking under its /proc//root/. Apparently that magic proc link actually points to a dir that includes all the container mounts in its namespace (not just its rootfs), so it should work for us. The ste...

vivid lintelBOT
#

There's a lot of upstream fixes we've made to buildkit that we want to pick up (will link other issues to this).

It would be great to have this as part of the upcoming engine v0.3.8 release, so adding to that milestone, but it's not strictly necessary so can be pushed if v0.11 is not out by the time the other requirements for 0.3.8 are done.

Did a quick pass at updating on the buildkit rc3 tag, there is a single test failure that I need to look into, but otherwise is smooth so far: http...

vivid lintelBOT
#

What are you trying to do?

This issue aims to improve the current TS SDK by working on:

  • Templates system
  • Documentation (Related to #4033)

Templates system

The current implementation has too many tmpl files that could be
merged together to simplify the maintainability.
That would make the code much easier to follow since we would not have to jump from file to file.

Currently, we have 18 template files with api.ts.tmpl as root.

│   ├── api.ts.tmpl
│...
vivid lintelBOT
#

Signed-off-by: Erik Sipsma

Related to https://github.com/dagger/dagger/issues/4293

We should still update to the official v0.11 once it's out, but it's unlikely there will be many more substantial updates needed, so may as well get this out of the way now.

Main changes:

  1. There were some fixes upstream to cleanup directories that were only created for mounts, so one of our test cases needed tweaking to explicitly create a dir ins...
vivid lintelBOT
vivid lintelBOT
vivid lintelBOT
#

What are you trying to do?

I want to test if the code works on several Linux distributions using the system dependencies (I.e. dnf/apt). For these, I don’t have a lock file per se, and If I did I wouldn’t want one — I want the cache to invalidate as soon as apt or dnf says there is a newer version. In docker I would use something like mount-type=cache=locked https://docs.docker.com/engine/reference/builder/#run---mounttypecache

More info and context [on discord](https://discordapp.com...

vivid lintelBOT
#

Bumps golang.org/x/sys from 0.3.0 to 0.4.0.

Commits

b60007c unix: add Uvmexp and SysctlUvmexp for NetBSD
b751db5 unix: gofmt hurd files after CL 459895
b360406 unix: support TIOCGETA on GNU/Hurd
3086868 unix: regen on OpenBSD 7.2
2b11e6b unix: remove Mclpool from openbsd types
7c6badc unix: convert openbsd/mips64 to direct libc calls
3b1fc93 unix: avoid allocations for common uses of Readv, Writev, etc.
2204b66 cpu: parse /proc/cpuinfo on linux/arm64 on old ...

vivid lintelBOT
#

SDKs will soon forward stderr from session binary (if not already). Current dagger session command had noise.

When trying to fix the printed errors on stopped engine container, we realized that:

  • dagger session errors were double printed
  • usage was being printed on stderr, whenever it exited with a code != 0

Context here: #maintainers message

As you were the one the fmt.Fprintf(os.Stderr, "Error: %v\n", err) l...

vivid lintelBOT
#

Bumps github.com/docker/cli from 23.0.0-beta.1+incompatible to 23.0.0-rc.1+incompatible.

Commits

139e924 Merge pull request #3929 from thaJeztah/update_engine
cc85941 vendor: github.com/docker/docker v23.0.0-beta.1.0.20221221173850-cba986b34090
70d24e8 vendor: github.com/moby/swarmkit/v2 v2.0.0-20221215132206-0da442b2780f
bab905a vendor: golang.org/x/crypto v0.2.0
929f23f vendor: golang.org/x/net v0.4.0
2df9ff9 vendor: golang.org/x/term v0.3.0
1b75c7c vendor...

#

Bumps golang.org/x/crypto from 0.2.0 to 0.5.0.

Commits

3d872d0 go.mod: update golang.org/x dependencies
bc7d1d1 bcrypt: reject passwords longer than 72 bytes
7e3ac20 internal/wycheproof: also use Verify in TestECDSA
23edec0 ssh: ensure that handshakeTransport goroutines have finished before Close ret...
f495dc3 acme: eliminate arbitrary timeouts in tests
eb2c406 go.mod: update golang.org/x dependencies
2c47667 cryptobyte: add support for ReadASN1Integer i...

#

Bumps httpx from 0.23.2 to 0.23.3.

Release notes
Sourced from httpx's releases.

Version 0.23.3
0.23.3 (4th Jan, 2023)
Fixed

Version 0.23.2 accidentally included stricter type checking on query parameters. This shouldn've have been included in a minor version bump, and is now reverted. (#2523, #2539)

Changelog
Sourced from httpx's changelog.

0.23.3 (4th Jan, 2023)
Fixed

Commits

08a557e Version 0.23.3 (#2540)
bddd774 Revert "Raise TypeError on...

vivid lintelBOT
vivid lintelBOT