As @rawkode pointed here: #node-sdk-dev⬢ message
there is no mention of authentication on the host. Maybe we could add it on docs @vikram-dagger ?
#github-feed
1 messages · Page 4 of 1
We use SDK objects as much as possible, except in obvious case (when getting an object from its ID, we need to pass the ID, not the object itself, otherwise there is no value).
There is some part in the GraphQL API that needs to be updated (some param are name id but we pass them the object directly, and it would be better if they were renamed something else: https://github.com/dagger/dagger/issues/4192
fixes: #4214
Bumps @typescript-eslint/eslint-plugin from 5.47.1 to 5.48.0.
Release notes
Sourced from @typescript-eslint/eslint-plugin'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)
Changelog
Sourced from @typescript-eslint/eslint-plugin's changelog.
5.48.0 (2023-01-02)
Fea...
We forgot to add this in the NodeJS SDK when adding socket API.
It shows we really need to harmonize Go and NodeJS SDK to share more functionalities in the template functions. cf: #4032
For reference:
https://github.com/dagger/dagger/actions/runs/3846110644/jobs/6551036114#step:6:653
#19 156.0 ==================
#19 156.0 WARNING: DATA RACE
#19 156.0 Read at 0x00c0006c2a03 by goroutine 281:
#19 156.0 testing.(*common).logDepth()
#19 156.0 /usr/local/go/src/testing/testing.go:883 +0xc4
#19 156.0 testing.(*common).log()
#19 156.0 /usr/local/go/src/testing/testing.go:876 +0xa4
#19 156.0 testing.(*common).Logf()
#19 156.0 /usr/local/go/...
Bumps github.com/containerd/containerd from 1.6.13 to 1.6.15.
Release notes
Sourced from github.com/containerd/containerd's releases.
containerd 1.6.15
Welcome to the v1.6.15 release of containerd!
The fifteenth patch release for containerd 1.6 fixes an issue with CNI in the CRI plugin
Notable Updates
Fix no CNI info for pod sandbox on restart in CRI plugin (#7848)
See the changelog for complete list of changes
Please try out the release binarie...
Bumps golang.org/x/mod from 0.6.0 to 0.7.0.
Commits
7c05a44 sumdb/note: remove dependency on golang.org/x/crypto/ed25519
See full diff in compare view
These two commands are quite similar to the point where they should probably be combined into one. This will require some thinking since dagger session has a json output consumed the SDKs that isn't ideal for humans using dagger listen among other little issues like that. These can most likely be addressed through flags that tweak the behavior (i.e. a flag to enable json output that the sdks use).
This is a non-essential spin off task from the previous overall effort to update the sess...
Context
When running any of the SDKs, whenever a session error gets triggered, output error messages are hard to decipher, leaving users with no actionable actions to debug, except requesting more information on Discord.
Current cases:
- the user manually stops his engine container
- the user is referencing a wrong engine, with its environment variables
Currently, the only error feedback retrieved is a hardcoded buildkit failed to respond message, either retrieved by SDKs, ...
Whenever a dagger session connection fails, the output error message is get forwarded by the Python SDK.
This behavior was already commented in the codebase, but not referenced as an issue yet:
- https://github.com/dagger/dagger/blob/main/sdk/python/src/dagger/session.py#L63
- https://github.com/dagger/dagger/blob/main/sdk/python/src/dagger/session.py#L74
Below is an example with a modified version of our dagger session where it should retrieve the stderr of buildkit.
Instead, w...
Similar to #4321
Whenever a dagger session connection fails, the output error message is not forwarded by the Node SDK.
Below is an example with a modified version of our dagger session where it should retrieve the stderr of buildkit.
Instead, we get the stack trace error with a hardcoded string "No line was found to parse the engine connect params":
➜ typescript_sdk node --loader ts-node/esm copy.ts
(node:83510) ExperimentalWarning: Custom ESM Loaders is an experimental fe...
As discussed here : https://github.com/dagger/dagger/pull/4240#discussion_r1061342567
We should use the most appropriate Typedoc tags when documenting the SDK.
export type DirectoryWithDirectoryOpts = {
/**
* Exclude artifacts that match the given pattern.
- * (e.g. ["node_modules/", ".git*"])
export type DirectoryWithDirectoryOpts = {
/**
* Exclude artifacts that match the given pattern.
+ * @example
+ * ["node_modules/", ".git*"]
Signed-off-by: Marcos Lilljedahl
What are you trying to do?
Comments from @dolanor applied, I'll also make sure every query follow the convention we defined above:
description using the param names. (ending with a .)And that every query params with doc associated has a line break.
We can take care of example formatting and additional example in a follow-up PR.
Having a linter to ensure those roles are set on our schema is a good idea.
This [linter](https://github.com/c...
Close to the issue https://github.com/dagger/dagger/issues/3885
This first iteration is using the pattern proposed by @sipsma.
func AddAFewMounts(c *dagger.Container) *dagger.Container {
return c.
WithMountedDirectory("/foo", c.Host().Directory("foo").
WithMountedDirectory("/bar", c.Host().Directory("bar")
}
func main() {
output, err := Container().
From("alpine").
WithWorkdir("/foo").
With(AddAFewMounts).
Exec("blah").Stdout().Contents()
...
Fixes #4212
Signed-off-by: Helder Correia
Signed-off-by: Helder Correia
Just played around with tsup (love esbuild and always wanted to try it) and tried it out on the dagger nodesdk.
The result might be interesting IMO.
Those are some of the things I played around with
- Moved all sources inside the src directory
- Used tsup (esbuild wrapper) to build/bundle cjs and esm
Like always I am open to feedback.
Signed-off-by: Benjamin Strasser
This commit adds information on the docs release process.
Closes #3542
Signed-off-by: Vikram Vaswani
This PR was auto-generated.
What are you trying to do?
At the moment, we can mark things as sensitive ONLY from environment variables that exist before the Dagger client is created.
We do this with: client.host().envVariable("X").secret()
In a mono-repository environment, or any environment where more than a single secrets backend is used - this can be rather difficult to orchestrate. Do we blanket make every secret available before we run, or can we do this smarter?
I've tried two approaches.
- Cont...
Bumps github.com/moby/buildkit from 0.11.0-rc3 to 0.11.0-rc4.
Release notes
Sourced from github.com/moby/buildkit's releases.
v0.11.0-rc4
Welcome to the 0.11.0-rc4 release of buildkit!
This is a pre-release of buildkit
Please try out the release binaries and report any issues at
https://github.com/moby/buildkit/issues.
Notable changes
Fix indentation in in-toto and traces #3423
Possibility to control attestation filenames #3428
Fix order of build steps i...
Bumps prettier from 2.8.1 to 2.8.2.
Release notes
Sourced from prettier's releases.
2.8.2
🔗 Changelog
Changelog
Sourced from prettier's changelog.
2.8.2
diff
Don't lowercase link references (#13155 by @DerekNonGeneric & @fisker)
<!-- Input -->
We now don't strictly follow the release notes format suggested by [Keep a Changelog].
<!-- Prettier 2.8.1 -->
We now don't strictly follow the release notes format suggested by Keep a Cha...
Bumps docusaurus-plugin-sass from 0.2.2 to 0.2.3.
Release notes
Sourced from docusaurus-plugin-sass's releases.
v0.2.3
What's Changed
Bump minimist from 1.2.5 to 1.2.6 by @dependabot in rlamana/docusaurus-plugin-sass#24
Bump loader-utils from 2.0.0 to 2.0.3 by @dependabot in rlamana/docusaurus-plugin-sass#26
Bump loader-utils from 2.0.3 to 2.0.4 by @dependabot in rlamana/docusaurus-plugin-sass#27
Bump json5 from 2.2.1 to 2.2.3 by @de...
Bumps @typescript-eslint/eslint-plugin from 5.48.0 to 5.48.1.
Release notes
Sourced from @typescript-eslint/eslint-plugin's releases.
v5.48.1
5.48.1 (2023-01-09)
Note: Version bump only for package @typescript-eslint/typescript-eslint
Changelog
Sourced from @typescript-eslint/eslint-plugin's changelog.
5.48.1 (2023-01-09)
Note: Version bump only for package @typescript-eslint/eslint-plugin
...
Bumps typedoc from 0.23.23 to 0.23.24.
Release notes
Sourced from typedoc's releases.
v0.23.24
Bug Fixes
Fixed an issue where signature comments were preferred over property comments for indirectly created function-properties, #2135.
Fixed symlink handling when expanding entry points, #2130.
Thanks!
@boneskull
Changelog
Sourced from typedoc's changelog.
v0.23.24 (2023-01-07)
Bug Fixes
Fixed an issue where signature comments were preferred o...
When using -X to override a variable at link time, this caveat is important:
This is only effective if the variable is declared in the source
code either uninitialized or initialized to a constant string
expression. -X will not work if the initializer makes a function
call or refers to other variables.
Now we set Version to DevelopmentVersion in an init func instead, which allows it to be uninitialized and thus usable w/ -X.
Signed-off-by: Erik Sipsma
Test manually on my...
Signed-off-by: Erik Sipsma
Signed-off-by: Erik Sipsma
Should fix the problem mentioned in 2 here that was noticed during the release. There were duplicated runs for test+lint, one for pull_request and one for push because we ran the checks against a push to any branch, which includes the branch that the engine bump PR is opened against (bump-engine)
Signed-off-by: Erik Sipsma
Fixes problem encountered during releases today where a tag push workflow tried using the "main" format of the s3 url instead of the "releases" one, e.g. https://github.com/dagger/dagger/actions/runs/3878065764
- Use the new typo size relative to the Dagger style guide.
- Change
codetags background colors.
Signed-off-by: jffarge
Signed-off-by: Erik Sipsma
User was asking about connecting to podman container here: #1062413462082420757 message
Bumps github.com/moby/buildkit from 0.11.0-rc3 to 0.11.0.
Release notes
Sourced from github.com/moby/buildkit's releases.
v0.11.0
Welcome to the 0.11.0 release of buildkit!
Please try out the release binaries and report any issues at
https://github.com/moby/buildkit/issues.
Notable Changes
Builtin Dockerfile frontend has been updated to v1.5.0 https://github.com/moby/buildkit/releases/tag/dockerfile%2F1.5.0
BuildKit and compatible frontends can now pr...
What is the issue?
Create the structure and text for the common quickstart guide.
What is the issue?
Create Go example code for common quickstart guide
What is the issue?
Create Node.js example code for common quickstart guide
What is the issue?
Create Python example code for common quickstart guide
What is the issue?
This task is to integrate analytics into the common quickstart guide to answer the following questions:
- Is the multi-language approach engaging for readers?
- Is this approach preferable to single-language guides?
- Is there a clear preference for one language over others?
- etc
- docs: add linting support for node snippets
- fixes issue parsing DAGGER_SESSION_PORT and DAGGER_SESSION_TOKEN
Goal
- remove extraneous template commands (use
}}instead of-}}as we already have{{-in general) - remove template files if too simple (simple range)
Problem
In order to unify SDKs behavior (on all platforms) and solve https://github.com/dagger/dagger/issues/3963: the NodeSDK needs to
follow the value of the XDG_CACHE_HOME env var prior using the fallback value given by the library.
Context
Given these tests: https://github.com/dagger/dagger/issues/3963#issuecomment-1377488220, we see that the Node SDK does not follow the value of the XDG_CACHE_HOME env var at all.
Solution
The python library doesn't follow the v...
Closes #4244
Allow users to build a particular target in a multi-stage Dockerfile.
Extends these APIs:
(container *Container) Build(s *containerSchema) build
This feature was recently requested by active users, on Discord: #general message
PS: the .gitignore add is for me, as I'm relying on go workspaces to have the linter on VSCode. Did not want to make a single PR to add that.
Signed-off-by: gr...
If XDG_CACHE_HOME not set fallback to the system default.
Close to https://github.com/dagger/dagger/issues/3963
Signed-off-by: jffarge
Bumps google.golang.org/grpc from 1.51.0 to 1.52.0.
Release notes
Sourced from google.golang.org/grpc's releases.
Release 1.52.0
New Features
xdsclient: log node ID with verbosity INFO (#5860)
ringhash: impose cap on max_ring_size to reduce possibility of OOMs (#5801)
Behavior Changes
client: return an error from Dial if an empty target is passed and no custom dialer is present; the ClientConn would otherwise be unable to connect and perform RPCs (#5732...
Experimental tool to generate graphs from a dagger journal file (which is experimental itself).
Not ready for prime time, that's why it's a standalone tool (cmd/dagger-graph) rather than integrated with the CLI.
This is built on top of the latest engine features (sub-pipelines, journal, ...). I've been using this to debug my pipelines, thought I'd share.
Usage:
_EXPERIMENTAL_DAGGER_JOURNAL="./journal.log" go run mycode.go
dagger-graph ./journal.log ./gra...
This serves as an index for all the issues related to secrets. If someone takes ownership on this issue, this should start by triaging the issues list below, corresponding to a proposal to add support for secrets.
- [ ] #4289
- [ ] #2550
- [ ] #3323
- [ ] #4339
- [ ] #3442
Improve GraphQL doc with more examples.
Generator templates correctly format examples.
Resolves: #4323
Signed-off-by: Tom Chauveau
Overview
Dagger has a NodeJS SDK. What if it also had a DenoJS SDK?
Deno is a solid alternative to NodeJS, by the creator of NodeJS, and has great traction. It could help gain additional exposure with the kind of forward-thinking developers that tend to enjoy Dagger.
dagger's CI is currently a black box. In order to make any improvements, we first need to measure:
- Tracing
- See the overall time breakdown for CI runs
- Metrics
- Which operations are the slowest
- Trends (is it getting slower, faster, the same, ...)
- Caching information (is it working, what's the hit ratio, ...)
/cc @gerhard
[dagger/dagger] Pull request opened: #4371 chore: Rename test\-dagger\-engine to dagger\-engine\.dev
Because it is a dev dagger-engine that was built from the current source code.
My first instinct was to rename this to dagger-engine-dev, similar to dagger-engine-, but there is garbage collection that uses the dagger-engine- prefix, and I didn't want to refactor that in this context. Yes, I was effectively side-stepping that problem since I didn't want to be pulling too much change at once. That is due a refactoring soon, so no point in digging into it now.
By the way, if you have an e...
WithDevEngine implies that the wrapped container will use the dev engine. This is misleading and results in surprising behaviour, as described in https://github.com/dagger/dagger/pull/4300#issuecomment-1379391184
AdvertiseDevEngine is more accurate: the dev engine is being advertised for any component that is interested in using it, but nothing is enforced. As we discovered, some components will continue using the engine in which they already run (this used to be the stable engine). Th...
What is the issue?
To make sure user get the latest version of the SDK, we should update the installation command :
From:
npm install @dagger.io/dagger --save-dev
To:
npm install @dagger.io/dagger@latest --save-dev
This command can also be run inside an existing project to update dagger SDK version.
cc @vikram-dagger
AFAIK client.Close() (all languages) shuts down the connection and that's it.
This means we're not properly shutting down the session and there are some side effects. For instance, there's a few pieces of code here and there doing a time.Sleep to make sure all logs are outputted to the terminal.
Proposal:
- All SDKs: Properly shutdown the session on
Close()(e.g. terminate the process?) - Session: Support "clean" shutdown
/cc @sipsma
If applied, this commit updates the Node.js get started guide:
- adds assumption the user has an existing application and provides optional instructions to create
an example application - adds sample code for CommonJS applications
Closes #4311
Signed-off-by: Vikram Vaswani
@jpadams pointed out how users could miss clickable method :
#pro7sat message
Those links should be highlighted.
Close to the issue #4378
Signed-off-by: jffarge
Bumps github.com/docker/cli from 23.0.0-rc.1+incompatible to 23.0.0-rc.2+incompatible.
Commits
257ff41 Merge pull request #3958 from thaJeztah/bump_go_1.19.5
b9e1ad3 update to go1.19.5
f163d24 Merge pull request #3956 from thaJeztah/update_btrfs_status
d1f02a2 deprecated: update deprecation for btrfs on CentOS/RHEL 7
4c0a3c3 Merge pull request #3954 from thaJeztah/deprecate_centos7_btrfs
bdc7e37 deprecation: mark btrfs driver as deprecated for CentOS 7 and R...
Problem
Since dagger pulls the engine image from ghcr, it'll try to use a token if present in the ~/.docker/config,json file and i invalid or expired, it'll fail with an error similar to this one:
go run main.go
panic: EOF: Error: resolving image digest: GET https://ghcr.io/token?scope=repository%3Adagger%2Fengine%3Apull&service=ghcr.io: DENIED: denied
Which can be difficult for users to troubleshoot.
Alternatives
1 Do nothing.
2 Better error handling a...
Bumps eslint from 8.31.0 to 8.32.0.
Release notes
Sourced from eslint's releases.
v8.32.0
Features
fc20f24 feat: add suggestions for redundant wrapping in prefer-regex-literals (#16658) (YeonJuan)
Bug Fixes
b4f8329 fix: ignore directives for no-fallthrough (#16757) (gfyoung)
Documentation
17b65ad docs: IA Update page URL move (#16665) (Ben Perlmutter)
5981296 docs: fix theme switcher button (#16752) (Sam Chen)
6669413 docs: deploy prerelease docs und...
Bumps prettier from 2.8.2 to 2.8.3.
Release notes
Sourced from prettier's releases.
2.8.3
Support Angular 15.1
🔗 Changelog
Changelog
Sourced from prettier's changelog.
2.8.3
diff
Allow self-closing tags on custom elements (#14170 by @fisker)
See Angular v15.1.0 release note for details.
// Input
<app-test/>
// Prettier 2.8.2
SyntaxError: Only void and foreign elements can be self closed "app-test" (1:1)
> 1 | <app-test/>...
What is the issue?
If the variable (of type dagger.#Secret) changes, the cache is invalidated.
If I run a build from a Dockerfile and even if the variable changes, the layer is not invalidated.
Log output
No response
Steps to reproduce
Dockerfile
FROM alpine
RUN --mount=type=secret,id=MYSECRET echo
$ MYSECRET=hello docker buildx build --secret id=MYSECRET -t secret-test .
...
=> [internal] load metadata for docker.io/library/alpine...
Bumps @typescript-eslint/parser from 5.47.0 to 5.48.1.
Release notes
Sourced from @typescript-eslint/parser's releases.
v5.48.1
5.48.1 (2023-01-09)
Note: Version bump only for package @typescript-eslint/typescript-eslint
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 (...
Problem
Many users get confused with their async pipeline.
When should I use await ? Is my pipeline executing ?
The error doesn't give any clue of what's happening.
throw new UnknownDaggerError("Encountered an unknown error while requesting data via graphql", { cause: e });
A better approach
Display an understandable error message if users omit to await the promise.
Closes https://github.com/dagger/dagger/issues/4245
Allows user to have the complete control over the labels of a given container:
- Add labels (
withLabelAPI) - Remove label (
withoutLabelAPI) - Print the value of a single label (
labelAPI) - Print all the labels of a container (
labelsAPI)
Adds corresponding graphQL tests, SDK codegen and graphQL docs.
The terminology is consistent with other APIs (cf. envVariable), and will help solving inherent docker issue https://gi...
Bumps @typescript-eslint/eslint-plugin from 5.48.1 to 5.48.2.
Release notes
Sourced from @typescript-eslint/eslint-plugin's releases.
v5.48.2
5.48.2 (2023-01-16)
Note: Version bump only for package @typescript-eslint/typescript-eslint
Changelog
Sourced from @typescript-eslint/eslint-plugin's changelog.
5.48.2 (2023-01-16)
Note: Version bump only for package @typescript-eslint/eslint-plugin
...
What is the issue?
On Windows, the functionality to download the cli if a path is not given, does not work on Windows. This is because some places used within the Bin class for path matching are not consistent with windows paths.
Log output
NodeJS sdk Connect
✔ Should parse DAGGER_SESSION_PORT and DAGGER_SESSION_TOKEN correctly
1) Connect to local engine and execute a simple query to make sure it does not fail
2) throws error
Automatic Provisioned CLI Binar...
This addresses the issue found in #4389.
Did the following:
- separate cli-downloader functionality from
Binclass and move it into its own class,CliDownloader - updates tests
If applied, this commit adds a new quickstart guide covering multiple languages and also adds a link to it in the navigation menu.
Closes #4354
Signed-off-by: Vikram Vaswani
- core: pipeline support for container.rootfs
- core: pipeline support for git.tree
Fixes #4321
Before
dagger.exceptions.ProvisionError: Dagger engine failed to start
After
dagger.exceptions.SessionError: Dagger engine failed to start: Command '/Users/helder/Library/Caches/dagger/dagger-0.3.9 session' returned non-zero exit status 1. Error: failed to run container: docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?.
Signed-off-by: Helder Correia
Bumps beartype from 0.11.0 to 0.12.0.
Release notes
Sourced from beartype's releases.
Beartype 0.12.0
Beartype 0.12.0 expands the infinitely vast (yet mostly empty) universe of @beartype into the hitherto uncharted realms of configuration, exception identification, Nuitka, typing.NamedTuple, and Python 3.11. Also, other things were done. We swear it!
This minor release resolves 16 issues and merges 2 pull requests. Noteworthy changes include:
Compati...
Bumps @typescript-eslint/parser from 5.48.1 to 5.48.2.
Release notes
Sourced from @typescript-eslint/parser's releases.
v5.48.2
5.48.2 (2023-01-16)
Note: Version bump only for package @typescript-eslint/typescript-eslint
Changelog
Sourced from @typescript-eslint/parser's changelog.
5.48.2 (2023-01-16)
Note: Version bump only for package @typescript-eslint/parser
Commits
46a7c73 chore: publish v5....
Signed-off-by: Marcos Lilljedahl
Signed-off-by: Miranda Carter
Problem
When implementing https://github.com/dagger/dagger/pull/4387 tests using the Go SDK, we realized that SDKs fail to execute some endpoints that do work as graphQL queries.
After talking with @vito, it turns out that this touches all schemas that return arrays of custom structs:
- envVariables
- labels (future implem...
Signed-off-by: Helder Correia
Ruff, as a linter, is crazy fast but the biggest advantage for dagger is cutting down on dependencies while getting more validations in return.
What are you trying to do?
I'm trying to build a set of libraries on top of the Go SDK to provide higher level interfaces to Dagger making it easier for people to work with it.
Some of those libraries/features may require to encapsulate dagger.Client or dagger.Container in custom interfaces. For example: I have a custom Client that detects if Dagger is running on GitHub Actions and forwards all GitHub related environment variables automatically to all Containers.
In order t...
- engine: bump buildkit to v0.11.1
- ci: bump go sdk to 0.4.3
Problem
Dagger can create new secrets from the contents of an artifact or container (File { secret }). But the resulting secret is then leaked in the cache. For this reason, File { secret } is currently considered unsafe. The risk can be mitigated, for example by only using this method for secrets that carry an acceptable risk (ie not production credentials), rigorously scoping and rotating them, limiting cache sharing, etc. B...
Bumps github.com/moby/buildkit from 0.11.0-rc3 to 0.11.1.
Release notes
Sourced from github.com/moby/buildkit's releases.
v0.11.1
Welcome to the 0.11.1 release of buildkit!
This is a pre-release of buildkit
Please try out the release binaries and report any issues at
https://github.com/moby/buildkit/issues.
Notable changes
Builtin Dockerfile frontend has been updated to 1.5.1, fixing possible panic in certain warning condition #3505
Fix possible hang whe...
Bumps axios from 1.2.2 to 1.2.3.
Release notes
Sourced from axios's releases.
1.2.3
Release notes:
Bug Fixes
types: fixed AxiosRequestConfig header interface by refactoring it to RawAxiosRequestConfig; (#5420) (0811963)
Contributors to this release
Dmitriy Mozgovoy
Changelog
Sourced from axios's changelog.
1.2.3 (2023-01-10)
Bug Fixes
types: fixed AxiosRequestConfig header interface by refactoring it to RawAxiosRequestConfig; (#5420) (0811963)
Co...
Bumps poethepoet from 0.17.1 to 0.18.1.
Release notes
Sourced from poethepoet's releases.
v0.18.1
Fixes
Fix error when running switch tasks or tasks with the 'uses' option in dry-run mode #115
Fix handling of backslashes for escaping when parsing envfiles #118
Full Changelog: https://github.com/nat-n/poethepoet/compare/v0.18.0...v0.18.1
v0.18.0
Enhancements
Add new expr task type for evaluating a single python expression as a task.
Full Changelog: ...
Bumps amplitude-js from 8.21.3 to 8.21.4.
Release notes
Sourced from amplitude-js's releases.
v8.21.4
8.21.4 (2023-01-18)
Bug Fixes
remove events when 200, no need to check response (#572) (5b52d16)
upgrade dependencies to resolve dependabot vulnerability alerts (#567) (9207b46)
Changelog
Sourced from amplitude-js's changelog.
8.21.4 (2023-01-18)
Bug Fixes
remove events when 200, no need to check response (#572) (5b52d16)
upgrade d...
Bumps pytest from 7.2.0 to 7.2.1.
Release notes
Sourced from pytest's releases.
7.2.1
pytest 7.2.1 (2023-01-13)
Bug Fixes
#10452: Fix 'importlib.abc.TraversableResources' deprecation warning in Python 3.12.
#10457: If a test is skipped from inside a fixture, the test summary now shows the test location instead of the fixture location.
#10506: Fix bug where sometimes pytest would use the file system root directory as rootdir <rootdir>{.interpret...
Bumps flake8-bugbear from 22.12.6 to 23.1.17.
Release notes
Sourced from flake8-bugbear's releases.
23.1.17
Rename B028 to B907, making it optional/opinionated.
23.1.14
Add B906: visit_ function with no further calls to a visit function. (#313)
Add B028: Suggest !r when formatted value in f-string is surrounded by quotes. (#319)
Commits
4435548 Update README + version for 23.1.17 release
91188aa Rename B028 to B907, making it optional/opini...
This will add an HTML id attribute to each field in each type, and wrap them in an anchor tag to make the fields clickable and shareable.
Signed-off-by: Julián Cruciani
We need to have a video that is short and sweet. Most of our videos are over 10 minutes long.
We should create a video like this pulumi example and call it " What is CI/CD as Code?" It should be at most 5 minutes. We should point out that they can use various SDKs.
Example - https://www.youtube.com/watch?v=6f8KF6UGN7g
Once this is done, I will add it somewhere in the docs intro and in the Dagger GitHub README like Pulumi's.
add straightforward getting started section and add trademark link
Signed-off-by: Miranda Carter
Problem
As reported by @rawkode, Dagger currently cannot mark secret values as sensitive. As a result, it cannot scrub them out of Dagger's various output streams, the way it could in the 0.2 CUE APIs.
Below is the known status of this problem, broken down by source of the sensitive value:
| Source of the secret value | Dagger 0.2 scrubbed the value | Dagger 0.3 scrubs the value | Dagger 0.3 could scrub the value without a new API |
|---|---|---|---|
| Raw contents of a file... |
Problem
Dagger can do things that no other CI/CD platform can, thanks to its programmable nature. But at the same time, there are very basic things that every CI/CD platform can do, except Dagger. For example:
- Every CI/CD platform (except Dagger) can, given a directory, detect whether it is configured to use that platform
- Every CI/CD platform (except Dagger) can, given a directory, discover available pipelines and how to run them
- Every CI/CD platform (except Dagger) can, gi...
Define an interface and common way to format type into the SDK language.
This creates a standard implementation for our current and future SDKs.
Signed-off-by: Tom Chauveau
Bumps spectaql from 2.0.3 to 2.0.4.
Changelog
Sourced from spectaql's changelog.
2.0.4
Update dependencies.
Fix typos in documentation.
Commits
See full diff in compare view
[](https://docs.github.com/en/github/managing-security-vulnerabilities/abou...
Additional changes identified from #4390
- separate cli-downloader functionality from Bin class and move it into its own class, CliDownloader
- updates tests
Hi @aluzzardi, I saw that you were using D2 for https://github.com/dagger/dagger/tree/main/cmd/dagger-graph, looks great!
I wanted to just bring up that we have an API that can make programmatic generation of D2 diagrams a lot easier/simpler to manage/debug than writing the script with fmt lines: https://pkg.go.dev/oss.terrastruct.com/d2@v0.1.5/d2oracle
Here's a blog post with runnable code on how it might be used: https://terrastruct.com/blog/post/generate-diagrams-programmatically/. A...
This issue is being created to document the research behind the new quickstart that will live inside docs.dagger.io.
While trying to run this:
import { connect } from "@dagger.io/dagger"
// initialize Dagger client
connect(async (client) => {
const contextDir = client.host().directory(".")
const image = await client.container().build(contextDir).publish("ttl.sh/foo")
// print output
console.log("Image pushed to" + image)
}, { LogOutput: process.stderr })
with a simple Dockerfile it fails to run with the following error:
#10 ERROR: failed to push ttl...
Signed-off-by: jffarge
Bumps oss.terrastruct.com/d2 from 0.1.5 to 0.1.6.
Release notes
Sourced from oss.terrastruct.com/d2's releases.
v0.1.6
Many meaningful quality of life improvements and bug fixes, along with a few small features. Overall, a stabilizing set of changes, while some huge features are brewing in the background for the next release!
Thank you to the new contributors that have been joining us. If you want to get involved, there's lots of issues tagged with "...
Signed-off-by: Erik Sipsma
The state path changed recently, this catches up the doc with it. Hit by user here: #1065955877678501919 message
If you connect to an existing dagger session (e.g. via dagger-in-dagger or via dagger run) and specify a workdir it's ignored and instead the workdir will be the workdir of the session process.
I think the very minimum would be to throw an error if this happens (a workdir other than the one of the session is specified) just to at least replace the confusing behavior w/ annoying but comprehensible behavior.
It also might be possible to actually allow different clients to have different...
What is the issue?
We should provide documentation/guidance for effective methods of abstracting + reusing (within a repo or org):
- pipeline components. wrappers for building parts of a container that are reused across multiple parts of a pipeline
- subpipelines. Reusing entire subpipelines across multiple pipelines like a github action
- entire pipelines. Reuse common pipelines across multiple repos without reimplementing
Problem
Dagger can safely load static secrets, by accessing a snapshot of the client's environment variables. But there is no safe way do load dynamic secrets. This limits the use of Dagger in production.
In this context, a dynamic secret is a secret that requires executing arbitrary code in order to be retrieved. Examples of dynamic secrets include:
- Secrets stored in an encrypted file, that must be loaded with a tool such as
gpg,ageorsops - Secrets stored in a sec...
Attempt to solve the broken workflow, just bumped the version to the latest.
cc @mircubed
Create an example using a GraphQL client to write a CI pipeline in a language we don't yet have an SDK for such as Java, Rust, or Ruby
Bumps github.com/docker/cli from 23.0.0-rc.1+incompatible to 23.0.0-rc.3+incompatible.
Commits
e1152b2 Merge pull request #3977 from alirostami01/master
be30cb3 Fix section docker ps --size
f7c322e Merge pull request #1900 from yuchengwu/8831-doc-user-restrict
5d04b1c note --user args usage restriction
8627a6d Merge pull request #3971 from thaJeztah/sync_cobra_streams
fe694e8 Merge pull request #3973 from thaJeztah/no_escape
1493806 Merge pull request #3968 ...
Bumps @typescript-eslint/eslint-plugin from 5.48.2 to 5.49.0.
Release notes
Sourced from @typescript-eslint/eslint-plugin's releases.
v5.49.0
5.49.0 (2023-01-23)
Bug Fixes
typescript-estree: fix typo in FAQ link (#6346) (eefc578)
Features
eslint-plugin: [naming-convention] add support for #private modifier on class members (#6259) (c8a6d80)
Changelog
Sourced from @typescript-eslint/eslint-plu...
Bumps @typescript-eslint/parser from 5.48.2 to 5.49.0.
Release notes
Sourced from @typescript-eslint/parser's releases.
v5.49.0
5.49.0 (2023-01-23)
Bug Fixes
typescript-estree: fix typo in FAQ link (#6346) (eefc578)
Features
eslint-plugin: [naming-convention] add support for #private modifier on class members (#6259) (c8a6d80)
Changelog
Sourced from @typescript-eslint/parser's changelog.
5.49.0 (20...
What is the issue?
The Dagger license dates are not current
Several of the Dagger licenses to 2022 and need to be updated for 2023.
Licenses to be updated
- [ ] Dagger - https://github.com/dagger/dagger/blob/main/LICENSE
- [ ] Go SDK - https://github.com/dagger/dagger-go-sdk/blob/main/LICENSE
- [ ] Node.js SDK - https://github.com/dagger/dagger/blob/main/sdk/nodejs/LICENSE
- [ ] Python SDK - https://github.com/dagger/dagger/blob/main/sdk/python/LICENSE
- [ ] Sphinx confi...
We need a new poll or to update this one since the team has already publicly delivered on several and launched the GraphQL API (this is the API that drives the language-specific SDKs).
Docs
I vote for Rust next. (And I did vote for it.) PowerShell would be compelling as well. The CL...
Amplitude has been replaced by Posthog and should be completely remove from the docs website.
Signed-off-by: jffarge
What is the issue?
When the Node SDK reference documentation is generated, the following warnings are seen:
/sdk/nodejs/api/client.gen.ts:277:17 - warning Encountered an unescaped open brace without an inline tag
277 * The format is {os}/{platform}/{version} (e.g. darwin/arm64/v7, windows/amd64, linux/arm64).
/sdk/nodejs/api/client.gen.ts:277:20 - warning Unmatched closing brace
277 * The format is {os}/{platform}/{version} (e.g. darwin/arm64/v7, windows/amd64, l...
What is the issue?
Summary
There are several items in discovery now for how to improve how Dagger works with secrets. This issue clarifies why we need documentation for working with secrets and provides a rough scaffold for how that content.
Why this matters
Secrets support in Dagger allows you to utilize confidential information -- such as passwords, API keys, SSH keys, etc -- when running your Dagger Plans, without
expos...
Close to #4434
Curly braces were generating warnings while generating reference documentation.
Signed-off-by: jffarge
Currently stuck, as the codegen doesn't seem happy with enums yet
Extend API to manage cache sharing mode, when mounting cache volumes
Signed-off-by: Jenn Allen
Fix for https://github.com/dagger/dagger/issues/4432 / #4432
Bumps axios from 1.2.3 to 1.2.4.
Release notes
Sourced from axios's releases.
Release v1.2.4
Release notes:
Bug Fixes
types: renamed RawAxiosRequestConfig back to AxiosRequestConfig; (#5486) (2a71f49)
types: fix AxiosRequestConfig generic; (#5478) (9bce81b)
Contributors to this release
Dmitriy Mozgovoy
Daniel Hillmann
Changelog
Sourced from axios's changelog.
1.2.4 (2023-01-22)
Bug Fixes
types: renamed RawAxiosRequestConfig back to AxiosRequestCo...
Bumps ruff from 0.0.228 to 0.0.231.
Release notes
Sourced from ruff's releases.
v0.0.231
What's Changed
fix: issue D401 only for non-test/property functions and methods by @scop in charliermarsh/ruff#2071
feat: flake8-use-pathlib PTH100-124 by @sbrugman in charliermarsh/ruff#2090
refactor: remove redundant enum by @sbrugman in charliermarsh/ruff#2091
feat: Implement TRY201 by @alonme in charliermarsh/ruff#2073
Avoid nested-if violations when out...
Signed-off-by: Marcos Lilljedahl
This library was used in a previous SDK version
It's not used anymore
Signed-off-by: jffarge
Bumps ua-parser-js from 0.7.31 to 0.7.33.
Changelog
Sourced from ua-parser-js's changelog.
Version 0.7.31 / 1.0.2
Fix OPPO Reno A5 incorrect detection
Fix TypeError Bug
Use AST to extract regexes and verify them with safe-regex
Version 0.7.32 / 1.0.32
Add new browser : DuckDuckGo, Huawei Browser, LinkedIn
Add new OS : HarmonyOS
Add some Huawei models
Add Sharp Aquos TV
Improve detection Xiaomi Mi CC9
Fix Sony Xperia 1 III misidentified as Acer...
Related: https://github.com/dagger/dagger/pull/4440
Signed-off-by: Helder Correia
Context
When implementing #4437 , in order to have autocompletion, I relied on the GraphQL enum type:
enum CacheSharingMode {
SHARED
PRIVATE
LOCKED
}
Everything works on raw GraphQL queries, but whenever I tried generating the SDK code, it failed for all of them. The enum codegen implementation for NodeSDK has been added by @dolanor, directly on #4437 . @dolanor ...
What are you trying to do?
Problem
Dagger enables developers to write pipelines in the language of their choice. Today, Dagger includes SDKs in these development languages: Go, Node.js (Javascript and Typescript), and Python. Dagger also supports running pipelines via a CLI and a GraphQL API. However, it still needs to support authoring pipelines in Rust, one of the most popular languages for the last several years.
Hypothesis
Rust is one of the most popular and desired d...
Closes #4445
Signed-off-by: Helder Correia
Create an example pipeline that uses conditionals based on git changes or other inputs to determine what to execute
It would be useful to be able to query the digest of a directory or container. A typical use case would be to use that digest as a tag when pushing an image to a docker registry - thus ensuring that a given version of an image is only pushed to one tag.
cc @kpenfound
What is the issue?
Docs page
URL: https://docs.dagger.io/sdk/nodejs/783645/get-started#step-4-test-against-multiple-nodejs-versions
Issue
If you copy-pasta the Node.js multibuild example for common JavaScript, the code does not run. The two preceding examples DO work.
Cause
The example does not include the final parentheses ( ) required by JavaScript for the function call. I originally did not have the linter enabled when I tried to run the example. As a result, runni...
Signed-off-by: Jenn Allen
Fix for #4451. This update adds missing parentheses to the multibuild example for CommonJS JavaScript. Without these, the script does not run.
[dagger/dagger] Pull request opened: #4454 fix: Merge container from env vars with existing env vars
Fixes https://github.com/dagger/dagger/issues/4085
Merges existing env vars with the container env vars.
[dagger/dagger] Pull request opened: #4455 fix: Merge container from env vars with existing env vars
Fixes https://github.com/dagger/dagger/issues/4085
Merges existing env vars with the container env vars.
Problem
Opening a Dagger session from a client library takes too long.
This has been reported twice in the last week.
Solution
Make it faster :)
What are you trying to do?
GraphiQL supports tabs: https://github.com/graphql/graphiql/releases/tag/graphiql%401.8.0.
Why is this important to you?
Enabling tabs would provide a great user experience for testing the GraphQL API. Rather than putting multiple operations into one tab and then clicking the Play button to select the operation to run, you could enter each operation on its distinct tab.
How are y...
What is the issue?
I was trying dagger with the Get Started
page. The failing function is the Export function.
Log output
input:1: container.from.withMountedDirectory.withWorkdir.withExec.directory.export destination "C:\Users\***\GolandProjects\FilesManagement\build" escapes workdir
Steps to reproduce
code:
`func daggerBuild() error {
ctx := context.Background()
client, er...
This PR was auto-generated.
Bumps ruff from 0.0.231 to 0.0.235.
Release notes
Sourced from ruff's releases.
v0.0.235
Summary
Follow-up release to v0.0.234 to fix two non-fatal issues related to CLI output.
(No new rules or functionality.)
What's Changed
Avoid duplicate CI runs triggered by pushes to pull requests by @andersk in charliermarsh/ruff#2178
Restore single-file license by @charliermarsh in charliermarsh/ruff#2180
Windows compatibility by @sbrugman in charliermarsh...
@pellared has done a fantastic job on Goyek and we've had some great discussion on this in the past. I think it adheres to a more "pure" Go form that is very similar in style to Go tests. The catch is because it does less "magic", it results in effort, albeit not a lot, to generate reusable shared libraries to use across multiple repos. Definitely feels like more idiomatic Go. ⚡
The biggest difference for me personally was that Mage does some "magic" in discovering tasks via AST and the f...
Noticed a few things during the release today:
- We need a note in the instructions about the engine bump PR workflows not running automatically
- The SDK tests being run manually have been automated on both macos and linux, there's no need to run them anymore
- We didn't have any explicit instructions on verifying the sdk publishes worked, added those
I ran through these quickly after a release and couldn't compile the typescript version due to the node var not being of type string when provided as the id of a container.
Fixing this by just not using IDs; you can just use node directly.
Signed-off-by: Erik Sipsma
It would be amazing to have a way to add "breakpoints" to the DAG, and interactively inspect the state at the given point (via an interactive shell for example).
This has been requested and proposed many times, and we even saw a proof-of-concept by @aluzzardi :) This issue is for tracking and lobbying purposes 😄
When viewing our docs in dark mode, words formatted as code aren't readable:
Seems to be the same on at least Firefox and Chrome. This used to work for me so I guess something changed relatively recently.
cc @slumbering
Related to: #3375
Signed-off-by: Tom Chauveau
From docs website build
1:19:42 PM: Found example to be rendered for pipeline
1:19:42 PM: Error processing the example for pipeline. Error: ENOENT: no such file or directory, open '/opt/build/repo/website/docs-graphql/data/examples/queries/pipeline/gql.md'
fixes #4466
Signed-off-by: Jeremy Adams
while not "idiomatic" to Go, the auto-discover and import functions based on a package import makes it easier to share and reuse tasks without having extra registration effort.
It is still possible with goyek. Yet it is not forced and it is not [well] documented 😉 One can define tasks using goyek.Define in shared packages and then they can be auto-imported using the import _ package/path/syntax.
Close to
- #4464
Signed-off-by: jffarge
What is the issue?
When platform_variants of the type Optional[Sequence[Container]] is passed to Container.export and Container.publish the the following error is raised:
TypeError: Cannot convert value to AST: .
More information in Discord: #python-sdk-dev🐍 message
Log output
No response
Steps to reproduce
import asyncio
import dagger
async def main():
cfg = dag...
What is the issue?
Now that we're on conda we need to update docs to use it (e.g., links, installation, badge).
Fixes #4469
Signed-off-by: Helder Correia
Bumps ruff from 0.0.231 to 0.0.236.
Release notes
Sourced from ruff's releases.
v0.0.236
What's Changed
Rules
feat: implement TRY002 and TRY003 by @karpa4o4 in charliermarsh/ruff#2135
Implementing TRY400 by @Flowake in charliermarsh/ruff#2115
Implement some rules from flake8-logging-format (G) by @edgarrmondragon in charliermarsh/ruff#2150
Settings
Add strictness setting for flake8-typing-imports by @charliermarsh in charliermarsh/ruff#2221
Im...
Bumps @docusaurus/core from 2.2.0 to 2.3.0.
Release notes
Sourced from @docusaurus/core's releases.
2.3.0 (2023-01-26)
:rocket: New Feature
docusaurus-theme-translations
#8541 feat(theme-translations): default translations for Slovenian (sl-SI) (@MatijaSi)
docusaurus-plugin-content-blog
#8378 feat(blog): add options.createFeedItems to filter/limit/transform feed items (@johnnyreilly)
docusaurus-theme-classic, ...
Bumps @docusaurus/preset-classic from 2.2.0 to 2.3.0.
Release notes
Sourced from @docusaurus/preset-classic's releases.
2.3.0 (2023-01-26)
:rocket: New Feature
docusaurus-theme-translations
#8541 feat(theme-translations): default translations for Slovenian (sl-SI) (@MatijaSi)
docusaurus-plugin-content-blog
#8378 feat(blog): add options.createFeedItems to filter/limit/transform feed items (@johnnyr...
Bumps @docusaurus/theme-mermaid from 2.2.0 to 2.3.0.
Release notes
Sourced from @docusaurus/theme-mermaid's releases.
2.3.0 (2023-01-26)
:rocket: New Feature
docusaurus-theme-translations
#8541 feat(theme-translations): default translations for Slovenian (sl-SI) (@MatijaSi)
docusaurus-plugin-content-blog
#8378 feat(blog): add options.createFeedItems to filter/limit/transform feed items (@johnnyreil...
Problem
We have two places for the community to give feedback and ask questions: Discord and Github discussions. There should be more bridges between them.
Solution
Pin a post on our github discussions, referencing and linking to our discord server.
Suggested by @d3rp3tt3 , thank you Jenn!
What is the issue?
Docs Page
URL: https://devel.docs.dagger.io/api/254103/build-custom-client
In the repo: https://github.com/dagger/dagger/edit/main/docs/current/api/254103-build-custom-client.md
The Issue
The Rust and PHP examples for creating a custom GraphQL client to use Dagger do not include the steps to install the languages. As a result, when you run the following example to create the starter projects, you get errors in the terminal.
Rust
Command
`cargo...
We do not want to send a GITHUB_TOKEN with write permissions to repository forks. This would allow anyone that forks our repository to read the GITHUB_TOKEN & make write changes to our repository - dagger/dagger - with this token. That would be a security vulnerability, which is why this config option is disabled:
While we could restrict write permissions to pull-requests: write only, we would need to do it across all workflows, and also remember to do the same for any new workfl...
What is the issue?
This task is to transfer the repository from https://github.com/vikram-dagger/hello-dagger to https://github.com/dagger/hello-dagger so that it resides in the organization's location rather than a personal one.
Bumps github.com/containerd/containerd from 1.6.14 to 1.6.16.
Release notes
Sourced from github.com/containerd/containerd's releases.
containerd 1.6.16
Welcome to the v1.6.16 release of containerd!
The sixteenth patch release for containerd 1.6 includes various bug fixes and updates.
Notable Updates
Fix push error propagation (#7990)
Fix slice append error with HugepageLimits for Linux (#7995)
Update default seccomp profile for PKU and CAP_SYS_NI...
Bumps eslint from 8.32.0 to 8.33.0.
Release notes
Sourced from eslint's releases.
v8.33.0
Features
2cc7954 feat: add restrictDefaultExports option to no-restricted-exports rule (#16785) (Nitin Kumar)
Documentation
17f4be2 docs: Fix examples in no-multiple-empty-lines rule (#16835) (jonz94)
9c7cfe3 docs: 'Source Code' content in 'Set up Development Environment' page (#16780) (Ben Perlmutter)
ede5c64 docs: Custom processors page (#16802) (Ben Perlmutter)...
Bumps pytest-subprocess from 1.4.2 to 1.5.0.
Release notes
Sourced from pytest-subprocess's releases.
1.5.0
Features
#109: Match also os.PathLike.
#105: Add program matcher.
Other changes
#110: Produce TypeError on Win Py<3.8 for Path args.
Changelog
Sourced from pytest-subprocess's changelog.
1.5.0 (2023-01-28)
Features
Bumps ruff from 0.0.231 to 0.0.237.
Release notes
Sourced from ruff's releases.
v0.0.237
What's Changed
Breaking Changes
--explain, --clean, and --generate-shell-completion are now implemented as subcommands (#2190):
ruff . # Still works! And will always work.
ruff check . # New! Also works.
ruff --explain E402 # Still works.
ruff rule E402 # New! Also works. (And preferred.)
Oops! The command has to come first.
ruff --format json ...
Right now ghcr.io is returning 500 errors which is resulting in any calls following the default provision path to fail on this line: https://github.com/sipsma/dagger/blob/19d61667f361fd925a2f8526823778e1b3cc3384/internal/engine/docker.go#L50-L50
Instead, if we get an error there we should have some fallback codepath that just tries to use any local engine that already exists.
Verify if a thrown error is a connection refused which is the error thrown when a user calls a computed function without using await.
In that case, it will display a clear error message so the user can await the function.
Resolves: #4386
Signed-off-by: Tom Chauveau
Closes #4458
Context
When using .Export(), workdir scope is checked using strings.HasPrefix().
However, on Windows:
workdir and dest have different separators, making this comparison break.
We now rely on filepath.ToSlash to make sure dest and wd + "/" are resolving to the comparable path
Repro
Given this repro, on Windows:
package main
import (
"context"
"fmt"
"os"
"dagger.io/dagger"
)
func main() {
...
So that we can troubleshoot when logs & traces don't make sense.
This is a follow-up to:
If we cannot contact the remote repository, try to first use an already existing docker dagger engine.
If there none failed
Signed-off-by: laurent Grondin
What are you trying to do?
This feature has been requested by the user in Discord YourTechBud
Using dagger to build some code and images. I want to restrict the cpu and memory allocated to this. How can I do that?
Why is this important to you?
N/A
How are you currently working around this?
N/A
This PR will change the layout of the docs in the Quickstart that contain an `` by placing it into the right.
With this change, the user will not have to scroll to the editor while reading the documentation, as everything will be in the viewport.
TODO:
- [ ] Responsiveness
- [ ] Move tabs to the top of the editor
Bumps typescript from 4.9.4 to 4.9.5.
Release notes
Sourced from typescript's releases.
TypeScript 4.9.5
For release notes, check out the release announcement.
Downloads are available on:
npm
NuGet package
Changes:
69e88ef5513a81acf69ec78f4af1f927da0d0584 Port ignore deprecations to 4.9 (#52419)
daf4e817a18def96b70ac34703b158ff0e6d58df Port timestamp fix to 4.9 (#52426)
Commits
ccf3d3c Bump version to '4.9.5' and LKG.
69e88ef Port ignore de...
Bumps ruff from 0.0.231 to 0.0.238.
Release notes
Sourced from ruff's releases.
v0.0.238
What's Changed
⚠️ Breaking Changes ⚠️
select, extend-select, ignore, and extend-ignore have new semantics (#2312)
Previously, the interplay between select and its related options could lead to unexpected behavior. For example, ruff --select E501 --ignore ALL and ruff --select E501 --extend-ignore ALL behaved differently. (See #2312 for more examples.)
The new se...
Bumps @typescript-eslint/parser from 5.49.0 to 5.50.0.
Release notes
Sourced from @typescript-eslint/parser's releases.
v5.50.0
5.50.0 (2023-01-31)
Bug Fixes
ast-spec: a JSXEmptyExpression is not a possible JSXExpression (#6321) (4b27777)
eslint-plugin: [ban-ts-comment] counts graphemes instead of String.prototype.length (#5704) (09d57ce)
eslint-plugin: [prefer-optional-chain] fix ThisExpression and Privat...
Bumps typescript from 4.9.4 to 4.9.5.
Release notes
Sourced from typescript's releases.
TypeScript 4.9.5
For release notes, check out the release announcement.
Downloads are available on:
npm
NuGet package
Changes:
69e88ef5513a81acf69ec78f4af1f927da0d0584 Port ignore deprecations to 4.9 (#52419)
daf4e817a18def96b70ac34703b158ff0e6d58df Port timestamp fix to 4.9 (#52426)
Commits
ccf3d3c Bump version to '4.9.5' and LKG.
69e88ef Port ignore de...
Bumps @typescript-eslint/eslint-plugin from 5.49.0 to 5.50.0.
Release notes
Sourced from @typescript-eslint/eslint-plugin's releases.
v5.50.0
5.50.0 (2023-01-31)
Bug Fixes
ast-spec: a JSXEmptyExpression is not a possible JSXExpression (#6321) (4b27777)
eslint-plugin: [ban-ts-comment] counts graphemes instead of String.prototype.length (#5704) (09d57ce)
eslint-plugin: [prefer-optional-chain] fix This...
This commit upgrades Docusaurus to 2.3.0 and fixes errors in the yarn.lock file arising from the auto-upgrade of the mermaid component by dependabot. See https://discord.com/channels/707636530424053791/1070067396196454481 and https://github.com/dagger/dagger/commit/ba9b44256337d68f2cfd9f55ffc7103eaed212c2
In the case of ./hack/make engine:test running this seems to be unnecessary. In other words, all tests pass without a dev engine container.
Tasks that need it can either declare it as a dependency, or we can invoke it explicitly if required, e.g.
./hack/make engine:dev
./hack/make
More importantly, running both ./hack/make engine:dev and ./hack/make engine:test and feeding data into the same journal.log results in telemetry that doesn't make sense. This ...
After a quick sync with @marcosnils, we realized the iframes of the embeded API Playground instances don't share localstorage, even if they are the same domain.
If we visit the quickstart, login, and then switch the language, the login prompt appears again unless we refresh the page.
- Remove step to cd into the
cidirectory since it's not required
Signed-off-by: Marcos Lilljedahl
[User mentioned on Discord](#1070089909328674847 message):
Solely because I've spent a good bit of time on this for my own experiments replicating parts of a Gitlab yml pipeline in Dagger, a guide on 'Working with Secrets & Environment Variables' is going to help a lot of curious people. Every company's CICD pipeline uses environment variables and secrets one way or another, whether it's accounts, environments, feature testing, ...
Reimplements a customer RegistryAuth provider that extends the current DockerRegistry auth to integrate an in memory map storage.
Extends container GraphQL API with queries to add or remove registry credentials.
Resolves: #3138
Resolves: #4242
Resolves: #4310
Signed-off-by: Tom Chauveau
This utilises distinct empty types in TS to make the TS compiler recognise custom scalar types as distinct. For example,
type ContainerID = string & {__ContainerID: never}
Will result in a type error if a user passes a regular string into a function accepting this type (the dagger SDK has since changed its arg, but the type benefit works the same way):
async function container(id?: ContainerID): Promise {}
container('alpine:latest') // this will throw a type err...
fixes #4163
- install and configure CNI plugins in Engine image
- configure DNS for container-to-container addressing
- extend Container API for retrieving hostname/addresses
TODO:
- [ ] complete container API for exposing ports
- [ ] health checking (port probe, maybe wait for stdout)
- [ ] start dependent services just-in-time, detach when done
- [ ] extend just-in-time service lifecycle to container.File, container.Directory, etc
This commit adds various quickstart fixes
Signed-off-by: Vikram Vaswani
Bumps github.com/docker/cli from 23.0.0-rc.1+incompatible to 23.0.0-rc.4+incompatible.
Commits
e92dd87 Merge pull request #3996 from laurazard/skip-broken-credentials
9e3d5d1 Fix issue where one bad credential helper causes none to be returned
3ae101f Merge pull request #3991 from dvdksn/docs/refactor-docs-dir
3a11830 Merge pull request #3990 from jedevc/manifest-oci
1e3622c docs: move doc generation scripts to subdir
4a500f6 Merge pull request #3986 from Ak...
Bumps black from 22.12.0 to 23.1.0.
Release notes
Sourced from black's releases.
23.1.0
Highlights
This is the first release of 2023, and following our stability policy, it comes with a number of improvements to our stable style, notably improvements to empty line handling and the removal of redundant parentheses in several contexts.
There are also many changes to the preview style; try out black --preview and give us feedback to help us set the stable style ...
Bumps ruff from 0.0.231 to 0.0.239.
Release notes
Sourced from ruff's releases.
v0.0.239
What's Changed
Rules
[pyupgrade] Implement import-replacement rule (UP035) by @colin99d in charliermarsh/ruff#2049
[flake8-raise] Add Plugin and RSE102 Rule by @saadmk11 in charliermarsh/ruff#2354
[flake8-quotes] Allow implicit multiline strings with internal quotes to use non-preferred quote by @charliermarsh in charliermarsh/ruff#2416
Documentation
Add a...
Bumps sass from 1.57.1 to 1.58.0.
Release notes
Sourced from sass's releases.
Dart Sass 1.58.0
To install Sass 1.58.0, download one of the packages below and add it to your PATH, or see the Sass website for full installation instructions.
Changes
Remove sourcemap comments from Sass sources. The generated sourcemap comment for the compiled CSS output remains unaffected.
Fix a bug in @extend logic where certain selectors with three or more combinators ...
What is the issue?
I was just trying the API Playground and catched a little bug in autocompletion hints.
Issue
Expected
The hints do not overlap with other elements. [Graphql.org example](https://graphql.org/swapi-graphql?query=%23 Welcome to GraphiQL
%23
%23 GraphiQL is an in-browser tool for writing%2C validating%2C and
%23 testing%2...
Warning Merge after https://github.com/dagger/dagger/pull/4498
This was not worth failing the engine / test job for:
https://github.com/dagger/dagger/actions/runs/4068033458/jobs/7006095804#step:9:38
Provide a definitive guide on how to run Dagger on Github Actions self-hosted runners.
Provide a definitive guide on how to run Dagger on CircleCI self-hosted runners.
Provide a definitive guide on how to run Dagger on Gitlab CI self-hosted runners.
[dagger/dagger] Issue opened: #4516 Support for getting resolved image SHA after \`Container\.From\`
User requested the ability to get the SHA of the image that was pulled as part of Container.From in order to include it in an SBOM they are generating.
This is simple to implement, the harder part is deciding on the API. We can just have a imageRef field in Container, but if you modify the container (i.e. call With*) should we just return the same SHA as was pulled originally? Or should we error out? Or recalculate the SHA (very expensive and raises other questions)?
My immediat...
Bumps github.com/docker/cli from 23.0.0-rc.1+incompatible to 23.0.0+incompatible.
Commits
e92dd87 Merge pull request #3996 from laurazard/skip-broken-credentials
9e3d5d1 Fix issue where one bad credential helper causes none to be returned
3ae101f Merge pull request #3991 from dvdksn/docs/refactor-docs-dir
3a11830 Merge pull request #3990 from jedevc/manifest-oci
1e3622c docs: move doc generation scripts to subdir
4a500f6 Merge pull request #3986 from Akihiro...
Bumps ruff from 0.0.231 to 0.0.240.
Release notes
Sourced from ruff's releases.
v0.0.240
What's Changed
Rules
[pyupgrade]: Remove outdated sys.version_info blocks by @colin99d in charliermarsh/ruff#2099
[flake8-self] Add Plugin and Rule SLF001 by @saadmk11 in charliermarsh/ruff#2470
[pylint] Implement pylint's too-many-statements rule (PLR0915) by @chanman3388 in charliermarsh/ruff#2445
Settings
[isort] Support forced_separate by @akx in char...
- Added entrypoint script to enable cgroupv2 nesting
Signed-off-by: Marcos Lilljedahl
TODO:
- [ ] Integrate with
daggerCLI (e.g.dagger run)- It's currently a separate
main.gothat ingests a journal log (easier for development -- this task should be done last)
- It's currently a separate
- [ ] Pagination for the tree list
- Currently all breaks loose when there's more items in the list that can be displayed on screen
- [ ] Scrolling through logs is broken
- [ ] "Follow" mode sometimes break (e.g. stuck on an item)
- [ ] Color palette is inconsistent -- this should have a set of const...
What is the issue?
From @d3rp3tt3 : I ran into an error when I tried to follow one step of the Google Cloud example: https://docs.dagger.io/sdk/nodejs/620941/github-google-cloud#appendix-a-create-a-github-repository-with-an-example-express-application. I had to add the -e flag before the expression so that sed would take the command.
Updated command: sed -i -e 's/Express/Dagger/g' routes/index.js
Discord: #general message...
What is the issue?
From @d3rp3tt3 :
I am stuck on step 4, "Test the Dagger pipeline on the local host." Specifically, when I run the pipeline, it mostly succeeds, but the container fails to start. Here are the relevant snippets from the Google Cloud logs for the service. The key message looks to be: "terminated: Application failed to start: Failed to create init process: failed to load /usr/local/bin/npm: exec format error"
Solution from @marcosnils confirmed by @d3rp3tt3
I ha...
This commit updates the sed command line in the
Github + Google Cloud guide to correct an issue
reported by a user.
Closes #4523
If applied, this commit updates the sample code and explanation with a clarification regarding the build platform for Google Cloud in the Google Cloud + GitHub guide
Signed-off-by: Vikram Vaswani
If applied, this commit updates the quickstart example application repository URL.
Closes #4479
Signed-off-by: Vikram Vaswani
Dagger Cloud run URL
docker-container://dagger-engine
What happened? What did you expect to happen?
I tried some examples from dagger.io.
And for me is unclear in what cases the image is repulled by the dagger-engine.
Manually pulled images seem to be ignored?
The problem is even more critical if you imagine kubernetes pod running the dagger-engine. Because there will be no info after restart of pod. Mounted docker.sock should have wished effect... but If it will repull, dag...
Bumps @docusaurus/core from 2.3.0 to 2.3.1.
Release notes
Sourced from @docusaurus/core's releases.
2.3.1 (2023-02-03)
:bug: Bug Fix
docusaurus-theme-common
#8628 fix(theme-common): fix issue in tab scroll position restoration on tab click (@slorber)
#8619 fix(theme-common): localStorage utils dispatch too many storage events leading to infinite loop (@slorber)
#8618 fix(theme-common): prepare usage of useSyncExter...
Bumps @docusaurus/theme-mermaid from 2.3.0 to 2.3.1.
Release notes
Sourced from @docusaurus/theme-mermaid's releases.
2.3.1 (2023-02-03)
:bug: Bug Fix
docusaurus-theme-common
#8628 fix(theme-common): fix issue in tab scroll position restoration on tab click (@slorber)
#8619 fix(theme-common): localStorage utils dispatch too many storage events leading to infinite loop (@slorber)
#8618 fix(theme-common...
Updates dagger query documentation to use --doc flag instead of passing in GraphQL queries through stdin.
Closes #4198
Signed-off-by: Rahul Modpur
- docs: Reword a few things in the Quickstart
- might be subjective, feel free to reject anything that doesn't stick
- docs: Fix typo
- docs: Make diagram accurate
- the Dagger Engine is the OCI container runtime. All pipeline ops run inside the Dagger Engine.
- docs: Drop @latest from the package
- In the case of Go, this will default to the latest published package version, which is what we want. Versioned is unlikely to break in the future, while
latestis a moving target...
- In the case of Go, this will default to the latest published package version, which is what we want. Versioned is unlikely to break in the future, while
Fix some things in GraphQL API docs
-
Enable syntax highlighting of PHP & Rust in docusaurus which is not enable by default (https://docusaurus.io/docs/markdown-features/code-blocks#supported-languages). The code blocks of these languages are here (https://docs.dagger.io/api/254103/build-custom-client#step-2-create-an-api-client).
-
Fix schema of one of the GraphQL response
Signed-off-by: Rahul Modpur
Updating doc. to point out usage of Stderr() on the example code, not ExitCode()
Signed-off-by: Neil Pathare
Dinamically handle jenkins agents from code.
Example:
Run build, test, lint, typecheck commands on 4 or more agents based on how many subtasks have each target (i.e: if my unit test without cache take 20 min, I want to split them on furtherer two different agent)
Bumps @docusaurus/preset-classic from 2.3.0 to 2.3.1.
Release notes
Sourced from @docusaurus/preset-classic's releases.
2.3.1 (2023-02-03)
:bug: Bug Fix
docusaurus-theme-common
#8628 fix(theme-common): fix issue in tab scroll position restoration on tab click (@slorber)
#8619 fix(theme-common): localStorage utils dispatch too many storage events leading to infinite loop (@slorber)
#8618 fix(theme-com...
This will add a new layout to the Quickstart as previously thought on #4419.
The idea behind it is to improve the UX by allowing the user to scroll while maintaining the content and the editor in the same viewport.
Before making this change, we must modify every .mdx file in the quickstart, as the PoC is only implemented in the quickstart-publish.mdx file.
Signed-off-by: Julián Cruciani
What is the issue?
Some users have reported that seems like after bumping go to 1.20, some pipelines have randomly started to fail with an EOF error:
- https://discord.com/channels/707636530424053791/1070997951503151104
- https://discord.com/channels/707636530424053791/1071076724458131610
Log output
time="2023-02-03T16:10:48Z" level=debug msg="session finished: "
time="2023-02-03T16:10:49Z" level=debug msg="remove snapshot" key=a3pnf2678hnh2qw8fsy4dyuws snapshotter=overl...
Bumps ruff from 0.0.231 to 0.0.241.
Release notes
Sourced from ruff's releases.
v0.0.241
What's Changed
Deprecates
Soft-deprecate update-check by @akx in charliermarsh/ruff#2530
Rules
feat: add autofix for PLR0402 by @spaceone in charliermarsh/ruff#2504
Allow F811 noqa declarations on containing import lines by @charliermarsh in charliermarsh/ruff#2553
Features
Mark fixable issues in printer output by @charliermarsh in charliermarsh/ruff#25...
Bumps @typescript-eslint/parser from 5.50.0 to 5.51.0.
Release notes
Sourced from @typescript-eslint/parser's releases.
v5.51.0
5.51.0 (2023-02-06)
Bug Fixes
eslint-plugin: [sort-type-constituents] fixed behavior change (#6384) (5bf7f7f), closes #6339
eslint-plugin: do not use .at(), Node 14 does not support it (#6402) (077ed1b)
Features
eslint-plugin: [naming-convention] improve performance by removing ...
Bumps @typescript-eslint/eslint-plugin from 5.50.0 to 5.51.0.
Release notes
Sourced from @typescript-eslint/eslint-plugin's releases.
v5.51.0
5.51.0 (2023-02-06)
Bug Fixes
eslint-plugin: [sort-type-constituents] fixed behavior change (#6384) (5bf7f7f), closes #6339
eslint-plugin: do not use .at(), Node 14 does not support it (#6402) (077ed1b)
Features
eslint-plugin: [naming-convention] improve per...
Signed-off-by: Erik Sipsma
Needs cleanup but essentially working (passes included test case).
Cache is currently configured by setting an env var when the engine is spawned, e.g. _EXPERIMENTAL_DAGGER_CACHE_CONFIG=type=registry;ref=127.0.0.1:5000/test-cache. Support for registry, gha, s3 and azblob values on type are all in place.
This will evolve as time goes on but the env var unblocks us as the API is fleshed out.
This is a first step towards the idea outline...
What is the issue?
This task is to write a tutorial similar to https://docs.dagger.io/sdk/nodejs/620941/github-google-cloud/ but focused on Gitlab + Dagger Go SDK + Google Cloud. Since Gitlab doesn't let you use their hosted runners unless you provide credit card information, this tutorial will explain the process using a self-hosted runner.
Signed-off-by: Marcos Lilljedahl
Bumps ruff from 0.0.231 to 0.0.243.
Release notes
Sourced from ruff's releases.
v0.0.243
What's Changed
Rules
Add flake8-pie single_starts_ends_with by @sbdchd in charliermarsh/ruff#2616
Bug Fixes
fix(pep8-naming): typing.NamedTuple and typing.TypedDict treatment by @scop in charliermarsh/ruff#2611
Support ignore-names for all relevant pep8-naming rules by @charliermarsh in charliermarsh/ruff#2617
Avoid removing quotes from runtime annotations...
Bumps mypy from 0.991 to 1.0.0.
Commits
bc18017 Promote 1.0.0+dev to 1.0.0 (#14594)
c2876bf [1.0 backport] [used before def] add documentation (#14592) (#14597)
8ef98cc Various documentation and error message tweaks (#14574)
9aa1776 Improve Generics docs page (#14587)
cb2ec3d Improve protocols documentation (#14577)
2cfc46c Improve the Common Issues page (#14581)
7cf1391 Make a top-level TypedDict page (#14584)
dd2c9a6 Improve some dynamic typing docs (#145...
[dagger/dagger] Pull request opened: #4548 Fix TestDirectoryWithTimestamps for non\-ext4 filesystems
Signed-off-by: Joel Longtine
Bumps platformdirs from 2.6.2 to 3.0.0.
Release notes
Sourced from platformdirs's releases.
3.0.0
What's Changed
Fix CI by @gaborbernat in platformdirs/platformdirs#125
Use the correct project name in documentation by @pradyunsg in platformdirs/platformdirs#131
Fix CI by @gaborbernat in platformdirs/platformdirs#138
Fix macos user_site_dir by @ThomasWaldmann in platformdirs/platformdirs#137
New Contributors
@ThomasWaldmann made their f...
Speaking with @vikram-dagger about docs next steps as highlighted here (https://github.com/dagger/dagger/discussions/4213), a topic came up about our docs target user/persona not being clear to everyone which makes it difficult for us to optimize our docs experience and effectively measure their goal.
We briefly dug into it and in a first pass we generalized what we think are current target users into 4 personas:
- DevOps engineers that suffer the pain of maintaining large CI/CD pipel...
Didn't see dotnet added there. Thought might be worth mentioning c# despite my love for PowerShell. 😀
Without this the child proc became a zombie, which isn't good if lots of clients are being made in a long-running process.
Additionally, this may fix an issue where it seems that the Go GC is collecting the stdin pipe object for the child process before the process has closed.
Signed-off-by: Erik Sipsma
Might fix https://github.com/dagger/dagger/issues/4538 (running tests locally to see if I can reproduce it still with this change, have not so far).
Either way though, we wa...
This commit adds a new tutorial about using Dagger with GitLab, self-hosted runner and Google Cloud.
It reuses common content from other tutorials and therefore converts those common sections into reusable partials. It also moves some images to common paths for the same reason.
Closes #4544
Signed-off-by: Vikram Vaswani
context from a random reddit thread:

quoting @shykes:
Thinking about it more, I guess converting everything to dagger except one workflow might be the ideal balance. I know @aluzzardi had thoughts on this. Maybe we make this an issue and get everyone’s thoughts there?
Regardless of the reddit drama, it's somewhat true that some users will probably take a look at ...
Bumps prettier from 2.8.3 to 2.8.4.
Release notes
Sourced from prettier's releases.
2.8.4
🔗 Changelog
Changelog
Sourced from prettier's changelog.
2.8.4
diff
Fix leading comments in mapped types with readonly (#13427 by @thorn0, @sosukesuzuki)
// Input
type Type = {
// comment
readonly [key in Foo];
};
// Prettier 2.8.3
type Type = {
readonly // comment
[key in Foo];
};
// Prettier 2.8.4
type Type = {
// comment
readonly [key in Foo];
};
G...
Bumps sphinx from 5.3.0 to 6.1.3.
Release notes
Sourced from sphinx's releases.
v6.1.3
Changelog: https://www.sphinx-doc.org/en/master/changes.html
v6.1.2
Changelog: https://www.sphinx-doc.org/en/master/changes.html
v6.1.1
Changelog: https://www.sphinx-doc.org/en/master/changes.html
v6.1.0
Changelog: https://www.sphinx-doc.org/en/master/changes.html
v6.0.1
Changelog: https://www.sphinx-doc.org/en/master/changes.html
v6.0.0
Changelog: https://www.sphin...
Bumps sphinx-rtd-theme from 1.1.1 to 1.2.0.
Changelog
Sourced from sphinx-rtd-theme's changelog.
1.2.0
Dependency changes
docutils 0.18 is supported. (#1381)
Sphinx 6 support added
Added sphinxcontrib-jquery as a dependency (#1385 #1421)
Python 3.11 is officially supported and tested. (#1395)
Python 3.4 and 3.5 are officially not supported (#1395)
Changes
Automatically use sphinxcontrib-jquery in Sphinx 6+ (#1399)
Use new context vars lo...
Problem
When running Dagger in a CI workflow, one must decide how to map its Dagger pipeline(s) to CI job(s). We don't help users navigate this decision.
Solution
Document best practices, and clarify how to decide on the best approach.
Context
There are two possible approaches to mapping Dagger pipelines to CI jobs:
- 1-to-N: One big CI job triggers all Dagger pipelines
- 1-to-1: Each Dagger pipeline is triggered by a dedicated CI job
These approaches ...
This is something that I want to pull @d3rp3tt3 asap into when she gets on board :)
Fixes the publish errors happening in main right now: https://github.com/dagger/dagger/actions/runs/4128172221/jobs/7133047657
There's a cross-compilation issue when building runc due to its use of CGO. Instead of setting up the cross compilation tool chains I opted to just download the official release as it's highly unlikely we will need to use anything besides an officially release runc binary.
This wasn't caught before merge because our PR workflows only built an engine image for th...
since GHA workflows don't run for PR's created with the default
$GITHUB_TOKEN, we're opening the PR in draft state instead and then
triggering the worklow based on the review_requested event type.
closes #4050
Signed-off-by: Marcos Lilljedahl
Code imported by the CLI was importing a constant from the new
remotecache package in dagger, but that created a transitive dependency
on some containerd packages which only build for Linux. This was causing
builds of the CLI for darwin to fail.
This works around that issue by reversing the import dependency so that
the remotecache package imports from internal/engine instead.
Also adding a workflow so we catch this in PRs going forward. This wasn't caught before because PR...
Signed-off-by: Erik Sipsma
What are you trying to do?
I want to make a shallow clone and point to a specific branch/tag (equivalent of git clone --branch --depth 1
Why is this important to you?
To improve performance and avoid to pull the entire repository
How are you currently working around this?
Initialize a new container from a base image containing the git package and run a git command in the container
Signed-off-by: Helder Correia
Problem
It is commonly reported that building a go program is slower in Dagger. There is no fundamental reason that this should be the case.
Solution
Help users identify the root cause of their slow go build, and help them fix it. If necessary, fix the root cause in the product and docs.
Bumps golang.org/x/crypto from 0.3.0 to 0.6.0.
Commits
a9f661c go.mod: update golang.org/x dependencies
310bfa4 cryptobyte: reject negative Unwrite argument
59ff472 all: fix some comments
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: elimina...
Cache mount contents are not included in remote cache exports in buildkit.
In cases where dagger has ephemeral local cache and a fast connection to its remote cache backend it may often be highly beneficial to be able to support synchronizing the shared cache mounts with that backend. For example, if using S3 as a remote cache backend on EC2 instances, S3 would essentially serve as a faster and more reliable source to download package artifacts from.
One approach I've been thinking abou...
As discussed with @vikram-dagger, we are going to find the necessary information to validate the different personas and adjust their characteristics/add new ones, depending on what we find.
After doing that, we should add to the docs different user learning paths, one for each persona.
I'll create actionable items, as I'm sure we can gather some conclusions with the data we already have.
As discussed in #4291, it would be great to present all references of all different SDKs in the same page.
Right now, every SDK has their own specific generation, with a tool of their own language.
We should find a possible implementation and try to estimate how much engineering time it would take to implement something like this.
Dagger might be a possible answer, as we could create different containers, one for each SDK, and export the type/interface/functions.
Context:
- [Python SDK](...
After a discussion with @vikram-dagger, we agreed that the next best move of #4291 would be to centralize the guides we currently have.
To do this, we would implement an index where we can see all the different guides, with tags (indicating the SDK, difficulty maybe, etc.). This will bring more visibility to the guides, as this index will be the entrypoint to all of them.
This was causing problems because the init ended up in our new cmd/engine/main.go imports and thus disabled all logrus outputs for the daemon.
Fix is to just relocate the disabling of the log output to only exactly where we need it in our cli's main func.
Signed-off-by: Erik Sipsma
What is the issue?
This task is to add author/date/tags/other metadata to all guides for use in the guides index.
What is the issue?
This task involves analyzing the complete collection of guides and defining the work required for each one. There are some considerations here:
- Leave it as single-language or add equivalent code in other languages?
- The CUE guides, as an example, may require additional work/thought as there are a large number of them eg. https://docs.dagger.io/sdk/cue/232322/guides
- The get started guides for each SDK are another example where we might prefer to leave those a...
What is the issue?
This task is to add URL redirects in Docusaurus/Netlify for some guides where the URL scheme is not currently/will not eventually be consistent eg. https://docs.dagger.io/sdk/go/406009/multiplatform-support and https://docs.dagger.io/544174/multistage-build are both guides in the Go section but their URLs don't follow the same format.
What is the issue?
Currently, the index page for guides is manually generated and has minimal information eg. https://docs.dagger.io/sdk/go/275922/guides
We intend to centralize all the guides under a new "Guides" primary node in the navigation tree.
Ideally this Guides page should hold a dynamically generated index with the following characteristics:
- Chronologically sorted
- For each guide, display title, author, date of publication, abstract (maybe?) and tags
- Allow filteri...
The code needs cleaning up, thrown together to enable testing of the idea, but it seems to work. Included an integ test that
- spins up a local s3 implementation (minio)
- spins up 5 dagger engines that each do cache exports to that s3 endpoint with different execs
- and finally spins up another new engine that reruns each of the execs from the previous 5 engines and verifies they are cached
Crucially, all 6 of the engines have the exact same cache config settings, all the additive m...
These dependencies were installed via some other package. graphql-core by gql and rich by typer. If the project uses them directly then they should be required explicitly.
Signed-off-by: Helder Correia
What is the issue?
I am simply trying to create an image from a Dockerfile and push it to a local registry instance. I setup the instance like this:
docker run -d -p 5000:5000 --restart=always --name registry registry:2
Here is my code:
connect(async (client: Client) => {
const rootDir = resolve("./");
const source = client.host().directory(rootDir, {
exclude: [
"node_modules",
"**/node_modules/",
"**/dist/",
".git",
".hu...
We should use Dagger to deploy our current docs both in production and staging.
This idea was mentioned several times and was last discussed with @mircubed.
As stated in #4571, we must create an index in our documentation that holds all guides.
Requirements
- The index should be filterable
- The index should have tags to illustrate the topic it refers to
- The index should be placed in the sidebar
### Tasks
- [ ] Research best way to implement the index in Docusaurus i.e. standalone page vs doc page
- [ ] Implement the guide index
Fixes #3838
The error was only captured if log_output wasn’t set. For the common use case of setting it to sys.stderr though, it’s not really lost, but always reading in a thread and writing to multiple places ensures the exception message always has it.
Signed-off-by: Helder Correia
Some advanced (#1073552228390031400 message) users are running the dagger engine separately and then using the _EXPERIMENTAL_DAGGER* flags to hint their SDK's accordingly.
The issue arises that if miss-matching session CLI's and engines are used, users could potentially get weird errors and/or behaviors.
Possible solutions
- Print a warning message about these versions being different
cc @sipsma
Bumps github.com/docker/cli from 23.0.0-rc.1+incompatible to 23.0.1+incompatible.
Commits
a5ee5b1 Merge pull request #4018 from thaJeztah/23.0_backport_fix_ci_events
27b19a6 ci: fix branch filter pattern
ab4ef4a Merge pull request #4004 from thaJeztah/23.0_backports
14aac2c vendor: github.com/docker/docker v23.0.0
0cd15ab vendor: github.com/containerd/containerd v1.6.16
168f1b5 cli/command/container: exit 126 on EISDIR error
53ed25d Fix bad ThrottleDevice pa...
Bumps github.com/containerd/containerd from 1.6.14 to 1.6.17.
Release notes
Sourced from github.com/containerd/containerd's releases.
containerd 1.6.17
Welcome to the v1.6.17 release of containerd!
The seventeenth patch release for containerd 1.6 includes various updates.
Notable Updates
Add network plugin metrics (#8018)
Update mkdir permission on /etc/cni to 0755 instead of 0700 (#8030)
Export remote snapshotter label handler (#8054)
Add suppor...
What is the issue?
It looks like we leak 2 goroutines per API call.
Log output
[...]
2023/02/10 16:59:56 run: 9407 ip: 10.87.50.246/16 elapsed: 43m11.060688359s goroutines: 18818
2023/02/10 16:59:56 run: 9408 ip: 10.87.50.247/16 elapsed: 43m11.30768587s goroutines: 18820
2023/02/10 16:59:56 run: 9409 ip: 10.87.50.248/16 elapsed: 43m11.580243301s goroutines: 18822
2023/02/10 16:59:57 run: 9410 ip: 10.87.50.249/16 elapsed: 43m11.906...
When docker build is used with buildkit mode in the same machine, images present through docker pull are shared with buildkit automatically (not sure how it actually works under the hood). Some users (https://discord.com/channels/707636530424053791/1073696894380949545) which are currently trying out dagger pre-pull docker images as part of their node bootstrap and would like those images to be present in their Dagger pipelines as well so they don't have to be re-downloaded.
Discord context: #1074736111131304057 message
Summary:
Container.From() and Container.Build() create a new container. Chaining this with .client.Container() instead of directly client.From()/container.Build(), or client.ContainerFrom()/client.ContainerBuild() introduces opportunity for potential footguns.
For example:
const foo = await client
.container()
.withEnvVariable('BUST_CACHE', Math.rand...
Bumps ruff from 0.0.244 to 0.0.246.
Release notes
Sourced from ruff's releases.
v0.0.246
What's Changed
Breaking Changes
Remove multiple-statements-on-one-line-def (E704) by @charliermarsh in charliermarsh/ruff#2773
Rules
[flake8-pyi]: add rules for unrecognized platform check (PYI007, PYI008) by @SigureMo in charliermarsh/ruff#2805
[flake8-simplify]: combine-if-conditions by @colin99d in charliermarsh/ruff#2823
[flake8-django] Implemented fla...
Bumps @typescript-eslint/eslint-plugin from 5.51.0 to 5.52.0.
Release notes
Sourced from @typescript-eslint/eslint-plugin's releases.
v5.52.0
5.52.0 (2023-02-13)
Bug Fixes
eslint-plugin: [no-import-type-side-effects] correctly ignore zero-specifier imports (#6444) (d5a6688)
eslint-plugin: [no-unnecessary-condition] account for optional chaining on potentially void values (#6432) (e1d9c67), closes #5...
Bumps execa from 6.1.0 to 7.0.0.
Release notes
Sourced from execa's releases.
v7.0.0
Breaking
Require Node.js 14 and later (#497) a09cbc0
Fixes
Emit end event on streams when process fails (#518) 30c7a7a
Fix incorrect execaNode signature in index.d.ts (#506) 1f7677c
https://github.com/sindresorhus/execa/compare/v6.1.0...v7.0.0
Commits
6bb4a6d 7.0.0
09df476 Meta tweaks
30c7a7a Emit end event on streams when process fails (#518)
1f7677c Fix ...
Bumps eslint from 8.33.0 to 8.34.0.
Release notes
Sourced from eslint's releases.
v8.34.0
Features
9b2fcf7 feat: array-callback-return supports Array.prototype.toSorted (#16845) (SUZUKI Sosuke)
Bug Fixes
923f61d fix: false positive with assignment in no-extra-parens (#16872) (Francesco Trotta)
Documentation
f0a9883 docs: split rules documentation (#16797) (Ben Perlmutter)
67aa37b docs: fix typo in command-line-interface.md (#16871) (Kevin Rouchut)
33...
Bumps typedoc from 0.23.24 to 0.23.25.
Release notes
Sourced from typedoc's releases.
v0.23.25
Breaking Changes
Upgraded Shiki, if your highlight theme was set to material-<theme>, the value will need to be changed to
material-theme-<theme>, see the Shiki release notes.
Features
Added new excludeNotDocumentedKinds variable to control which reflection types can be removed
by the excludeNotDocumented option, #2162.
Added typedoc.jsonc, t...
Bumps @typescript-eslint/parser from 5.51.0 to 5.52.0.
Release notes
Sourced from @typescript-eslint/parser's releases.
v5.52.0
5.52.0 (2023-02-13)
Bug Fixes
eslint-plugin: [no-import-type-side-effects] correctly ignore zero-specifier imports (#6444) (d5a6688)
eslint-plugin: [no-unnecessary-condition] account for optional chaining on potentially void values (#6432) (e1d9c67), closes #5255
eslint-plugin: [n...
Signed-off-by: Jeremy Adams
After running the following code in the Node SDK, the pipeline breaks.
import * as dagger from '@dagger.io/dagger';
dagger.connect(
async (client) => {
const node = client.directory().withNewFile(
'Dockerfile',
`
FROM node:alpine
RUN node --version
`
);
let arg = { name: "foo", value: "foo" }
const foo = await client
.container()
.build(node, { buildArgs: [arg] })
.withExec(['date'])
....
When encountering multiple object args, the regex was only removing double quotes from the first one.
This fix will remove double quotes for every arguments.
With() method test has been also updated. Having or not double quotes in the querytree doesn't matter as they will be computed by buildArgs()
Signed-off-by: jffarge
Co-authored-by: Julián Cruciani
If applied, this commit moves all guides to a new guides/ directory and lists them
under a new "Guides" node at the top-level navigation tree. It also adds descriptive metadata
to each guide such as author name, date, tags, etc.
Signed-off-by: Vikram Vaswani
Signed-off-by: jffarge
References https://github.com/dagger/dagger/issues/4516
- introduced imageRef field to the container payload
- exposed the imageRef as "sha" in the api
- logic is to get the image ref in From() and set it to the container payload and if there are any modifications to the container with* methods, then make it empty and when it is empty, throw an error as suggested in the issue.
- introduced a new method containerFromPayload(payload) as it can be reused in multiple places.
- Generated sdk ...
Signed-off-by: Miranda Carter
This is more a composite of Dagger + Angular knowledge.
- I've got cached volume for both
.angular/cacheandnode_modules. ng builddoesn't seem too smart on Angular 13 to pickup on no changes.- I could switch to
nxwhich does better, but trying to stick with default toolchain if I can.
The build still takes 3-5 minutes after the first run, not seeming to recognize that the rebuild doesn't really need to happen. Any quick things I can check to improve so the local repeat bu...
Bumps oss.terrastruct.com/d2 from 0.1.5 to 0.2.0.
Release notes
Sourced from oss.terrastruct.com/d2's releases.
v0.2.0
Here's what a D2 diagram looks like in 0.1 (left) vs 0.2 (right):
Much more legible, especially in larger diagrams! This upgrade trims a lot of the excess whitespace present before and makes diagrams more compact. We've also combed through each shape to improve their label and icon positions, paddings, and aspect ratios at different siz...
Bumps sass from 1.58.0 to 1.58.1.
Release notes
Sourced from sass's releases.
Dart Sass 1.58.1
To install Sass 1.58.1, download one of the packages below and add it to your PATH, or see the Sass website for full installation instructions.
Changes
Emit a unitless hue when serializing hsl() colors. The deg unit is incompatible with IE, and while that officially falls outside our compatibility policy, it's better to lean towards greater compatibility.
See...
summoning our FE guru's @slumbering and @crjm
What is the issue?
When you do a multistage build with dagger (build in one container and put the files in a secondary container) and publish that secondary container, the output from the build stage is duplicated. This duplication does not happen if there's only one container or if you do any execution other than publishing.
Log output
Single container build:
> _EXPERIMENTAL_DAGGER_JOURNAL="./journal.log" go run main.go
#1 resolve image config for docker.io/library/alpine:l...
This wasn't working with non-"root" directories, i.e. directories with a sub-dir, as they often are when coming from a container, which is often when you would want to tweak the timestamps.
What is the issue?
When I use an env variable as a secret, I would like to re-execute the pipeline if I update the env var.
Log output
First execution
DBGTHE: {"query":"query{host{envVariable(name:\"MY_SECRET_ID\"){secret{id}}}}","operationName":""}
DBGTHE: {"query":"query{container{from(address:\"alpine:latest\"){withSecretVariable(name:\"MY_SECRET_ID\", secret:\"eyJob3N0X2VudiI6Ik1ZX1NFQ1JFVF9JRCJ9\"){withExec(args:[\"sh\",\"-c\",\"echo super secret: $MY_SECRET_ID; date;...
What is the issue?
When I use an env variable as a secret, I would like to not get it leaked.
If the secret contains some whitespace, a simple echo would output it and break those characters which will defeat the secret scrub first implementation (which base itself on perfect string match). We need to improve it.
Log output
First execution
DBGTHE: {"query":"query{host{envVariable(name:\"MY_SECRET_ID\"){secret{id}}}}","operationName":""}
DBGTHE: {"query":"query{con...
I don't know how much I can contribute but if there's anything I can do especially testing out new versions I would like to help as much as I can. I have a docker builder repo built on classic dagger. I'm definitely ok with reworking it to get on the latest dagger cue sdk. But I would like to figure out how to help this moved so I don't feel stranded while waiting.
This commit adds scripts and instructions to create API Playground embeds
for use in the documentation.
Closes #1768
Bumps typing-extensions from 4.4.0 to 4.5.0.
Changelog
Sourced from typing-extensions's changelog.
Release 4.5.0 (February 14, 2023)
Runtime support for PEP 702, adding typing_extensions.deprecated. Patch
by Jelle Zijlstra.
Add better default value for TypeVar default parameter, PEP 696. Enables
runtime check if None was passed as default. Patch by Marc Mueller (@cdce8p).
The @typing_extensions.override decorator now sets the .override
at...
Bumps ruff from 0.0.244 to 0.0.247.
Release notes
Sourced from ruff's releases.
v0.0.247
What's Changed
Rules
[NPY001] deprecated type aliases by @sbrugman in charliermarsh/ruff#2810
[RUF006] Implement asyncio-dangling-task to track asyncio.create_task calls by @charliermarsh in charliermarsh/ruff#2935
CLI
Implement shell autocompletion for rule codes by @not-my-profile in charliermarsh/ruff#2906
Bug Fixes
Handle multiple receiver decorators...
Bumps github.com/containerd/containerd from 1.6.14 to 1.6.18.
Release notes
Sourced from github.com/containerd/containerd's releases.
containerd 1.6.18
Welcome to the v1.6.18 release of containerd!
The eighteenth patch release for containerd 1.6 includes fixes for CVE-2023-25153 and CVE-2023-25173
along with a security update for Go.
Notable Updates
Fix OCI image importer memory exhaustion (GHSA-259w-8hf6-59c2)
Fix supplementary groups not being ...
Bumps google.golang.org/grpc from 1.51.0 to 1.53.0.
Release notes
Sourced from google.golang.org/grpc's releases.
Release 1.53.0
API Changes
balancer: support injection of per-call metadata from LB policies (#5853)
resolver: remove deprecated field resolver.Target.Endpoint and replace with resolver.Target.Endpoint() (#5852)
Special Thanks: @kylejb
New Features
xds/ringhash: introduce GRPC_RING_HASH_CAP environment variable to override the maximum ri...
This PR adds support to (optionally) associate labels to Pipelines:
pipeline := c.Pipeline("my pipeline", dagger.PipelineOpts{
Description: "hello world",
Labels: []dagger.PipelineLabel{
{
Name: "os",
Value: runtime.GOOS,
},
{
Name: "arch",
Value: runtime.GOARCH,
},
},
})
_, err = pipeline.Container().From("alpine").
WithExec([]string{"apk", "add", "curl", "bash", "jq"}).
ExitCode(ctx)
Furthermore, out of the box, a few labels are ...
Bumps golang.org/x/image from 0.1.0 to 0.5.0.
Commits
e6c2a4c tiff: don't pre-allocate giant slices before reading
3db422c go.mod: update golang.org/x dependencies
bb712eb go.mod: update golang.org/x dependencies
9b8a3be font/plan9font: limit the font image's dimensions
c5235ae font/plan9font: fix byteoffset for non-zero origin
0888fdd font/plan9font: fix bounds overflow
9fdfde7 go.mod: update golang.org/x dependencies
See full diff in compare view
[!...
What is the issue?
This task is to convert existing code snippets (excepting those which have external dependencies) in docs to interactive API Playground embeds.
Done:
- All code snippets are represented as API Playground embeds (excepting those which have external dependencies)
Bumps mypy from 1.0.0 to 1.0.1.
Commits
ecf05e6 bump version to 1.0.1
18c4693 [Backport] Fix generic TypedDict/NamedTuple fixup (#14701)
a9051d2 [backport] [mypyc] Fix test case testI64Cast on 32-bit architectures (#14700)
83db085 [backport] [used before def] handle walrus declaration in match subject corre...
c090ca2 [backport] [used before def] correctly handle walrus operator (#14646) (#14654)
0c99585 [backport] Fix crash on deferred value constrained Ty...
Bumps sass from 1.58.0 to 1.58.2.
Release notes
Sourced from sass's releases.
Dart Sass 1.58.2
To install Sass 1.58.2, download one of the packages below and add it to your PATH, or see the Sass website for full installation instructions.
Changes
Command Line Interface
Add a timestamp to messages printed in --watch mode.
Print better calc()-based suggestions for /-as-division expression that contain calculation-incompatible constructs like unary minu...
Some users (cc @cpuguy83 ) have observed that when chaining several WithMountedDirectory calls, sometimes the engine becomes extremely slow or completely unresponsive.
Discord thread: https://discord.com/channels/707636530424053791/1075544944388882522
@cpuguy83 managed to come up with a simple repro here.
Repro snippet: https://gist.github.com/cpuguy83/b61f22d05fd05a6407008d944f5858f4
Bumps golang.org/x/net from 0.4.0 to 0.7.0.
Commits
8e2b117 http2/hpack: avoid quadratic complexity in hpack decoding
547e7ed http2: avoid referencing ResponseWrite.Write parameter after returning
39940ad html: parse comments per HTML spec
87ce33e go.mod: update golang.org/x dependencies
415cb6d all: fix some comments
7e3c19c all: correct typos in comments
296f09a http2: case insensitive handling for 100-continue
f8411da nettest: fix tests on dragonfly and j...
First of all, sorry for the late reply, was gathering a bit more context before adding my comment. I'm going to answer this in two sections.
I actually never used Angular before and I'm not aware of the granularity the buildkit caching actually has/the internal workings of it. However, I have been tinkering with different ways to cache artifacts for a few tools from the JS ecosystem, so the conclusions I have for now should apply to all frameworks/tools from the ecosystem.
Triggeri...
First of all, sorry for the late reply, was gathering a bit more context before adding my comment. I'm going to answer this in two sections.
I actually never used Angular before and I'm not aware of the granularity the buildkit caching actually has/the internal workings of it. However, I have been tinkering with different ways to cache artifacts for a few tools from the JS ecosystem, so the conclusions I have for now should apply to all frameworks/tools from the ecosystem.
Triggeri...
What are you trying to do?
I want a more parseable version of this solution. When a withExec command has a non-zero exit code, I still expect there to be a Stdout and Stderr. At the moment I need to parse that out of the err.Error() message.
Why is this important to you...
Bumps ruff from 0.0.247 to 0.0.249.
Release notes
Sourced from ruff's releases.
v0.0.249
What's Changed
Bug Fixes
Relax constraints on pep8-naming module validation by @charliermarsh in charliermarsh/ruff#3043
Do not autofix E731 in class bodies by @JoshKarpel in charliermarsh/ruff#3050
Avoid assert() to assert statement conversion in expressions by @charliermarsh in charliermarsh/ruff#3062
New Contributors
@matthewlloyd made their first cont...
Bumps @typescript-eslint/eslint-plugin from 5.52.0 to 5.53.0.
Release notes
Sourced from @typescript-eslint/eslint-plugin's releases.
v5.53.0
5.53.0 (2023-02-20)
Features
eslint-plugin: [consistent-generic-constructors] handle default parameters (#6484) (e8cebce)
eslint-plugin: [no-mixed-enums] add rule (#6102) (16144d1)
typescript-estree: expose a wrapper cache clearing function for advanced usecas...
Bumps @typescript-eslint/parser from 5.52.0 to 5.53.0.
Release notes
Sourced from @typescript-eslint/parser's releases.
v5.53.0
5.53.0 (2023-02-20)
Features
eslint-plugin: [consistent-generic-constructors] handle default parameters (#6484) (e8cebce)
eslint-plugin: [no-mixed-enums] add rule (#6102) (16144d1)
typescript-estree: expose a wrapper cache clearing function for advanced usecases (#6476) (d816496)
...
Bumps sass from 1.58.0 to 1.58.3.
Release notes
Sourced from sass's releases.
Dart Sass 1.58.3
To install Sass 1.58.3, 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.
Dart Sass 1.58.2
To install Sass 1.58.2, download one of the packages below and add it to your PATH, or see the Sass website for...
What is the issue?
sdk/nodejs/api/client.gen.ts:2644:33 - warning Encountered an unescaped open brace without an inline tag
2644 * Can be formatted as https://{host}/{owner}/{repo}, git@{host}/{owner}/{repo}
/sdk/nodejs/api/client.gen.ts:2644:38 - warning Unmatched closing brace
2644 * Can be formatted as https://{host}/{owner}/{repo}, git@{host}/{owner}/{repo}
/sdk/nodejs/api/client.gen.ts:2644:40 - warning Encountered an unescaped open brace without an inline...
What is the issue?
Guides which have the special metadata draft: true should not appear in the guides index.
https://docusaurus.io/docs/next/api/plugins/@docusaurus/plugin-content-docs#draft
Related to #3805
Todo
- [ ] Dig into third-party library code to find more exceptions during execute
- [ ] Add tests
Signed-off-by: Helder Correia
We want the commit that includes skipping of a cache exporter if the resolver returns nil. This enables dagger clients to just always specify the dagger remote cache and then the server-side can decide whether to actually do the export or not by returning non-nil or nil respecitively.
This enables us to skip costly packing of layers when cache export is disabled whereas before it was always running unconditionally.
The other changes in this PR are just for breaking changes to buildkit i...
What are you trying to do?
-
Container.buildmethod can accept context(Directorytype orDirectoryIDtype) -
Below is my VSCode suggestion image.
-
When I see this suggestion firstly, I think that I can pass Docker Build Context Path(path to docker build) as argument.
-
Actually, the string means DirectoryID type.
-
Therefor, I got error like below
-
I thou...
Fixes wrong directory path in the Getting Started code snippets.
What is the issue?
To reproduce:
- Visit https://docs.dagger.io/593914/quickstart-hello
- Click the Play button in the API playground embed (any language)
- Login if prompted
- Click the Play button
- An error message appears like
forwarding ResolveImageConfig: no such job 7lnkxo8kly8o9exjzsue7qgv0

Related to #3805
Signed-off-by: Helder Correia
What are you trying to do?
A consistent, more accessible way to generate new SDKs and add features to be implemented by existing SDKs.
Why is this important to you?
This will allow for the SDKs that users need to be produced by more community members and make them easier to maintain.
How are you currently working around this?
SDKs need deeper knowledge of and integration with Dagger core today.
cc @samalba
This tool is used to ingest telemetry from dagger while running dagger's CI in order to process and analyze.
WIP. Still need to finalize event format and hook up to CI
#4629 was rebased in GitHub when it should have been done locally. Even though there were no merge conflicts, it's easy to forget about auto-generated files.
Bumps github.com/aws/aws-sdk-go from 1.31.6 to 1.34.0.
Changelog
Sourced from github.com/aws/aws-sdk-go's changelog.
Release v1.34.0 (2020-08-07)
Service Client Updates
service/glue: Updates service API and documentation
AWS Glue now adds support for Network connection type enabling you to access resources inside your VPC using Glue crawlers and Glue ETL jobs.
service/organizations: Updates service API and documentation
Documentation updates for som...
What is the issue?
On https://docs.dagger.io/593914/quickstart-hello/ after "add the following code to it.", there's a big black box with this error:
Application error: a client-side exception has occurred (see the browser console for more information).
My console has:
Log output
See screenshot above
Steps to reproduce
Simply visit https://docs.dagger.io/593914/quickstart-hello/ (persists through refresh for me)
SDK version
NA (I didn't even get to install...
Related to #3805
Also refactored a bit from #4629 and added more tests.
Signed-off-by: Helder Correia
Bumps oss.terrastruct.com/d2 from 0.1.5 to 0.2.1.
Release notes
Sourced from oss.terrastruct.com/d2's releases.
v0.2.1
Dark mode support has landed! Thanks to https://github.com/vfosnar for such a substaintial first-time contribution to D2. Only one dark theme option accompanies the support, so if you have a dark theme you like, please feel free to submit into D2!
https://user-images.githubusercontent.com/3120367/221057628-e474b040-4ecb-4177-bb81-a04c95a...
Bumps golang.org/x/sync from 0.0.0-20220722155255-886fb9371eb4 to 0.1.0.
Commits
See full diff in compare view
Bumps @trivago/prettier-plugin-sort-imports from 4.0.0 to 4.1.1.
Release notes
Sourced from @trivago/prettier-plugin-sort-imports's releases.
v4.1.1
What's Changed
Revert "feat: type imports" by @ayusharma in trivago/prettier-plugin-sort-imports#212
Full Changelog: https://github.com/trivago/prettier-plugin-sort-imports/compare/v4.1.0...v4.1.1
v4.1.0
What's Changed
feat: change @vue/compiler-sfc to an optional depend...
Bumps typing-extensions from 4.4.0 to 4.5.0.
Changelog
Sourced from typing-extensions's changelog.
Release 4.5.0 (February 14, 2023)
Runtime support for PEP 702, adding typing_extensions.deprecated. Patch
by Jelle Zijlstra.
Add better default value for TypeVar default parameter, PEP 696. Enables
runtime check if None was passed as default. Patch by Marc Mueller (@cdce8p).
The @typing_extensions.override decorator now sets the .override
at...
Bumps ruff from 0.0.249 to 0.0.252.
Release notes
Sourced from ruff's releases.
v0.0.252
What's Changed
Rules
[pylint] redefined-loop-name (W2901) by @matthewlloyd in charliermarsh/ruff#3022
[pylint] logging-too-many-args (E1205) by @md384 in charliermarsh/ruff#3084
[pylint] logging-too-few-args (E1206) by @md384 in charliermarsh/ruff#3084
Bug Fixes
Include file permissions in cache key by @charliermarsh in charliermarsh/ruff#3104
Skip EXE0...
We currently have to open separate sessions when doing an image/local export. This causes cache export to run in these subsessions, which is confusing because it means the manifest will be written for the subsession and then later the main session. Additionally, if the refs being tracked only end up in these subsessions, then if the manifest written by the main session at the end overwrites those refs might not be part of the export 😵💫
If you use the pooling support this is less of an iss...
Decoupling this from #4615; I needed it for a brief period where I was using Go 1.20 features (errors.Join). Might as well get the bump out of the way for the future.
Most of these "fixes" are actually disabling gosec lints for various places that we spin up a HTTP server.
Fixes #4470
Signed-off-by: Helder Correia
What is the issue?
May cause by https://github.com/dagger/dagger/pull/4505
Here a new search in /etc/resolv.conf added before k8s searches
search dns.dagger
search gitlab.svc.cluster.local. svc.cluster.local. cluster.local. openstacklocal
Then network because very slow to fetch anything.
Log output
No response
Steps to reproduce
No response
SDK version
Go SDK v0.4.6
OS version
Unbuntu
#4505 reverted a codegen.py change due to an outdated merge in aad86c7.
Signed-off-by: Helder Correia
Fixes #4190
Enforcing file name length which is upto 255 chars. Throws an error if file name length exceeds 255 chars.
Added tests.
This commit fixes an error in the quickstart code snippet comments.
Extracting this from #4615 - lots of conversation in this thread: https://github.com/dagger/dagger/pull/4615#discussion_r1116377540
tl;dr client.Close() will now wait for the session command to flush its logs and exit. Previously we wouldn't wait and the session command would be killed via Pdeathsig.
- Follow-up to #4505
- Work around for #4652 until we can find a fix
To enable services you'll now need to export _EXPERIMENTAL_DAGGER_SERVICES_DNS=1, re-provision the engine, and keep that env var set anywhere you use the client.
Changes:
- only mess with
/etc/resolv.confif enabled - only configure CNI + bridge networking if enabled
- all service related APIs return an error if not enabled
I suspect DNS is the issue (seems always a safe bet), but let's assume the worst a...
Previously we had a kind of wonky dnsmasq + resolv.conf setup that seemed to work in local testing but appears to cause problems in other environments. (#4652)
I haven't reproduced those issues, but a few potential weird things stuck out that this commit fixes:
- get rid of
search dns.dagger- we always use qualified domains for container-to-container addresses, so this was unnecessary - relocate original
resolv.confmount toresolv.conf.upstreamso that updates can propagate...
Bumps golang.org/x/net from 0.0.0-20221014081412-f15817d10f9b to 0.7.0.
Commits
See full diff in compare view
Bumps github.com/stretchr/testify from 1.8.1 to 1.8.2.
Commits
f36bfe3 Fix Subset/NotSubset when map is missing keys from the subset (#1261)
0ab3ce1 Fix CallerInfo() source file paths (#1288)
2b00d33 Fix Call.Unset() panic (issue #1236) (#1250)
9acc222 fix: fix bug for check unsafe.Pointer isNil (#1319)
1333b5d Add sub-tests to Suite (#1246)
See full diff in compare view
[ by @mknaw in charliermarsh/ruff#3122
[flake8-pyi]: PYI009, PYI010,...
Bumps @typescript-eslint/parser from 5.53.0 to 5.54.0.
Release notes
Sourced from @typescript-eslint/parser's releases.
v5.54.0
5.54.0 (2023-02-27)
Bug Fixes
typescript-estree: check for relative/root paths in printing file path errors (#6491) (dc14242)
website: corect playground build issue (#6506) (6aad7d3)
Features
eslint-plugin: [promise-function-async] check for promises in implicit return types (#6...
Bumps eslint from 8.34.0 to 8.35.0.
Release notes
Sourced from eslint's releases.
v8.35.0
Features
8e34a04 feat: add afterHashbangComment option to lines-around-comment rule (#16920) (SUZUKI Sosuke)
c8c0c71 feat: Move all and recommended configs into package. (#16844) (Nicholas C. Zakas)
71f6f0d feat: report more cases with ?? in no-constant-binary-expression (#16826) (Daiki Nishikawa)
Bug Fixes
9698bc5 fix: pin esquery v1.4.0 (fixes #16896) (#16897) (...
Follow-up to #4657 - a bind-mounted engine.toml is read-only, so we need to make a writable a copy.
All this cludgery will go away when we get rid of the feature flag.
I also need to update the operator docs to cover the engine config change for CNI. Or maybe I can find a way to make user-provided config additive. Hmm.
This PR adds a top level query setSecret(name: String!, plaintext: String!): Secret! that will associate a user defined secret name to a plaintext value.
Points to figure out
file.secret() deprecation
At the same time, we deprecate file.secret() as it leaks secrets in the cache. It is not a breaking change, yet. But as it is insecure, I thought of actually breaking the file.secret() implementation (especially the one bringing the secret in) by always returning an...
Problem
We had some recent users reporting that part of their pipeline wasn't being executed for which they had to add a WithExec(nil) statement for it to work. Refs:
There's even situations when adding a ExitCode(ctx) doesn't trigger it also. Unsure if there's something to actually fix here or if it...
Bumps oss.terrastruct.com/d2 from 0.1.5 to 0.2.2.
Release notes
Sourced from oss.terrastruct.com/d2's releases.
v0.2.2
style keywords now apply at the root level, letting you style the diagram background and frame like so:
playground link
(also showcases a little 3d hexagon, newly supported thanks to our newest contributor @JettChenT !)
PDF is also now supported as an export format:
demo.pdf
Features 🚀
PDF exports. See docs. #120
Diagram background an...
When visiting the current guide index, we can only filter the guides by clicking in the tags made visible by the first few guides. We should give the user an option to see all available filters when visiting the page so they can search freely across guides.
I'll look into the best implementation for this. I've already mentioned this showcase as inspiration for tag filtering, but agree with @vikram-dagger that we'll ...
Very basic support to start:
- If a cache mount is specified to be synchronized in the
experimental_dagger_s3cache config (still just an env var for now, see the new test case), then when the engine starts it will synchronize those from the s3 bucket where they are stored (under/cacheMounts/). - When the engine shuts down it will synchronize the cache mount back to the remote bucket
This approach is more similar to a backup rather than continuous synchronization. The idea is to s...
pushing early so I can see some actions runs, which hopefully run this change
Steps to reproduce:
- Checkout the following branch https://github.com/marcosnils/kubeconeu-question-5/tree/dagger
- Run
go run ./ci/main.go packageand you'll notice that dagger execution never finishes after displaying something like#3 11.82 Layer 'buildpacksio/lifecycle:cache.sbom' SHA: sha256:a5cda63693b26825fec73e9367bbf216d1134e8c5d32f0459f568117dea3348b
Running the same pipeline with docker works:
docker run -v /var/run/docker.sock:/var/run/docker.sock -v pwd`:/app...
What is the issue?
I am experimenting with Dagger as a first time user. I have been following the official Python SDK getting started docs. To my surprise, even this mostly empty command is taking >20s to return, and I think its due to an outage on Daggers end.
Bit frustrating as it massively slows down the pace at which I can iterate on my 10% day.
Log output
$ time python ci/test.py
failed to resolve image digest...
Problem
Containers run by Dagger can't access their machine's GPUs. This makes using Dagger impractical for some pipelines that would otherwise be a great fit: video encoding, ML inference, training, etc.
Solution
Add GPU access to the Dagger API.
Design considerations
The bottleneck is probably buildkit, which doesn't seem to support GPU access. But I haven't looked into it beyond a quick web search.
Problem
Dagger supports multi-platform operations. The most common use of this feature is to run containers on both x86 and arm architectures. However in its standard, single-node configuration, the engine will use emulation under the hood, resulting in poor performance. In theory, this can be addressed by distributing execution across several machines, one for each architecture - the underlying buildkit runtime provides plumbing to do this. However in practice, configure buildkit i...
In it's current state this just verifies that it's possible to support privileged execs and that we can use that to run dockerd inside a dagger exec and also share bind mounts between those docker containers and other non-privileged dagger execs. The included test case shows that writes both from the non-privileged container and the docker run container are viewable right away to each other.
In order to merge this we will need to create a way of opting into support for privileged execs as ...
Bumps graphql-request from 5.1.0 to 5.2.0.
Release notes
Sourced from graphql-request's releases.
5.2.0
Features
cb79d67 make package hybrid ESM/CJS closes #192 (#455)
Fixes
d5a4012 batchRequests type constraint (#462)
4302ba1 check if property errors from response is an empty array (#454)
Improvements
0fb7062 refactor: introduce eslint
d7d0a8d refactor: typo bathching -> batching (#425)
Chores
7bf2d10 fix githubToken passing
ff372f...
Support for tools that help you identify what about your build isn't deterministic
Tracked externally at https://reproducible-builds.org/tools/)](https://reproducible-builds.org/tools/
Now that there are no known issues (#4652 is fixed) we can probably make this opt-in by default.
I thought about just removing the feature flag, but we might as well give users the option to disable it for the first release or two while all the scaffolding is already in place, just in case something else comes up (as tends to happen with anything networking related).
We should include something like this in the services docs; cc @vikram-dagger:
The new services feature changes Dagg...
Extends Go template capabilities.
Store scalar type private field to return it if it's set by a list execution.
Add test on list of object.
Add Schema setter and getter to fetch global GQL
types.
Add utility functions to Go template.
Improve querybuilder to also parse list of object.
Resolves: #3457
@snow kayak Could you review when you have few minutes? 🙂
I played with some tinygo.org a while back, and I wanted to use Dagger with it.
After talking with @sipsma , it seems it wasn't supported by buildkit.
I just add this issue here as I believe it is quite close to the #4675
This will add the possibility to
This commit replaces the code snippet examples in the API Concepts guide with interactive embeds.
This commit adds multi-language snippets and related text to the Gitlab + Google Cloud guide.
Relates to #4574
Bumps dns-packet from 5.3.1 to 5.4.0.
Changelog
Sourced from dns-packet's changelog.
Version 5.4.0 - 2022-06-14
Feature: Added support for the SSHFP record type.
Version 5.2.0 - 2019-02-21
Feature: Added support for de/encoding certain OPT options.
Version 5.1.0 - 2019-01-22
Feature: Added support for the RP record type.
Version 5.0.0 - 2018-06-01
Breaking: Node.js 6.0.0 or greater is now required.
Feature: Added support for DNSSEC record ty...
Adds two more labels when running in GHA:
github.com/workflow.name:$GITHUB_WORKFLOWgithub.com/workflow.job:$GITHUB_JOB
Via the docs:
| Variable | Description |
|---|---|
| GITHUB_WORKFLOW | The name of the workflow. For example, My test workflow. If the workflow file doesn't specify a name, the value of this variable is the full path of the workflow file in the repository. |
| GITHUB_JOB | The [job_id](https:... |
- Load Git and GitHub labels independently, logging whichever one failed
- Use
go-github.ParseWebHooksince it deals with all the different event payload types
Bumps pytest from 7.2.1 to 7.2.2.
Release notes
Sourced from pytest's releases.
7.2.2
pytest 7.2.2 (2023-03-03)
Bug Fixes
#10533: Fixed pytest.approx{.interpreted-text role="func"} handling of dictionaries containing one or more values of [0.0]{.title-ref}.
#10592: Fixed crash if [--cache-show]{.title-ref} and [--help]{.title-ref} are passed at the same time.
#10597: Fixed bug where a fixture method named teardown would be called as part of...
Bumps platformdirs from 3.0.0 to 3.1.0.
Release notes
Sourced from platformdirs's releases.
3.1.0
What's Changed
rst: fix backtics by @efiop in platformdirs/platformdirs#146
platformdirs: introduce site_cache_dir by @efiop in platformdirs/platformdirs#145
Full Changelog: https://github.com/platformdirs/platformdirs/compare/3.0.1...3.1.0
3.0.1
What's Changed
pyproject.toml: add appdirs keyword by @efiop in platformdirs/platformdirs#144
N...
Previously if you had both the console output and journal file sinks enabled, the journal would end up containing vertices with their Name stripped down from the JSON CustomName encoding to just the "naked" name. This was happening because the console log consumer was mutating the *Vertex. Now we'll make a copy.
@vito let me know if this actually fixes it this time, it didn't happen after running with -count=20 last time
What is the issue?
I was working on a script with the Go SDK, running it repeatedly to test pushes to a registry, when I suddenly got this error:
Please visit https://dagger.io/help#go for troubleshooting guidance.
The time was just after midnight, so I figured some automated process had l...
Fixes https://github.com/dagger/dagger/issues/3986
Added "ValueWithStatus" type, to return the value and its status in one go.
Added tests
What is the issue?
It would be nice to add a way to filter to the new guides page by its content, in addition to tags. This would be a nice complement to the global search box, which as we know is quite broken.
### Tasks
- [ ] #4703
- [ ] #4685
- [ ] Autodoc from `__init__`?
- [ ] Add link to Conda package
Audience: Python users unfamiliar with asynchronous code.
### Items
- [ ] Learning resources
- [ ] Simple concurrency explanation ([analogy](https://fastapi.tiangolo.com/async/#concurrent-burgers)?)
- [ ] [test_multiple.py](https://github.com/helderco/dagger-examples/blob/main/test_multiple.py) vs [test_concurrency.py](https://github.com/helderco/dagger-examples/blob/main/test_concurrency.py) example (~3:12s → ~1:15s)
- [ ] Blocking / Non-blocking
- [ ] How to run sync ...
Most of our examples are for simple scripts. Larger pipelines benefit from a different project organization.
### Tasks
- [ ] Executable with sub-commands matching pipelines
- [ ] Showcase concurrency with "all" sub-command
- [ ] Showcase rich progress status
- [ ] Showcase error handling (capture exceptions) with logging
### Items
- [ ] Engine output
- [ ] Print query from `QueryError`
There's some caveats to using log_output. More [context in Discord](#1080527877688275015 message).
### Engine output
- [ ] Config with `log_output`
- [ ] Can write to any file, not just `sys.stderr`
- [ ] Caveat: output lines out of order
- [ ] Caveat: too much output
- [ ] Caveat: last `print` after closing `dagger.Conn...
We should add the feature to resize the editor and response for the embeds manually, as it would improve the UX.
Right now, the feature does not exist and the height of both the editor and the response elements is hard-coded in CSS.
Follow-up to #4697
This might be a bit overkill, but it felt like a useful exercise just to get us away from global assumptions around the network stack.
- The engine has two new flags
--network-name(defaultdagger) and--network-cidr(default10.87.0.0/16). - We now start
dnsmasqon boot, rather than managing its state in thednsnameCNI plugin and leaving a window of time where/etc/resolv.confpoints to an IP withoutdnsmasqlistening yet. - We now configure `/etc...
This commit adds a new guide explaining how to use services in Dagger.
Bumps golang.org/x/crypto from 0.3.0 to 0.7.0.
Commits
776e461 go.mod: update golang.org/x dependencies
ebe9262 ssh: add support for aes256-gcm@openssh.com
a9f661c go.mod: update golang.org/x dependencies
310bfa4 cryptobyte: reject negative Unwrite argument
59ff472 all: fix some comments
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 s...
Bumps oss.terrastruct.com/d2 from 0.1.5 to 0.2.3.
Release notes
Sourced from oss.terrastruct.com/d2's releases.
v0.2.3
Diagrams that link between objects and the source they represent are much more integrated into your overall documentation than standalone diagrams. This release brings the linking feature to PDFs! Try clicking on "GitHub" object in the following PDF:
linked.pdf
Code blocks now adapt to dark mode:
Welcome new contributor @dong...
This fixes a number of bottlenecks and problems in the previous cache pooling implementation by switching to a new model where a single manager in the engine process handles all import/export from/to the remote target.
The previous approach was based on all the existing buildkit remote cache implementations where the export and import code ran independently for each client session. We already moved to a model where the cache was configured server-side, but we were still using that same app...
Previously exitCode, stdout, and stderr would simply return null if a container had not been executed yet, i.e. a container that's really just an image. Worse, this would actually get turned into the zero-value for each in the Go SDK (0, "") making it look like a successful exec.
Additionally, it was easy to accidentally use an un-exec'd container as a service, e.g. by running an off-the-shelf redis or postgres image without including WithExec(nil). You'd get a weird error ...
surprised that these are not the same. do we have documented that the first works and the second does not?
const dir = client.host().directory('sdk/go')
const out = await dir.entries()
console.log(out)
const dir = client.host().directory('./sdk/go')
const out = await dir.entries()
console.log(out)
What is the issue?
This issue will collect the various improvements we can make in the near term to the documentation for using Jenkins and Dagger together for CI.
Summary of issues
- The Node and Go SDKs have examples of how to use CI with Dagger, but the CLI and Python SDKs do not
- Users must know how to specify where the Dagger CLI gets installed. The docs do not detail that Dagger's uses the $XDG_CACHE_HOME env variable to find/download the CLI. If that variable is not s...
This will lead to more system calls but also more reactive output in the terminal.
linguist-generated=true lets GitHub know these files are generated.
Related to #4706
- Removed catching exceptions when running as a simple script
- Replaced rich with streaming engine logs to be more consistent
Improvements will be addressed in:
- #4706
- #4707
Bumps oss.terrastruct.com/d2 from 0.1.5 to 0.2.4.
Release notes
Sourced from oss.terrastruct.com/d2's releases.
v0.2.4
ELK layout has been much improved by increasing node dimensions to make room for nice even padding around ports:
Do you use ELK more than dagre? We're considerng switching d2's default layout engine to ELK, so please chime in to this poll if you have an opinion! https://github.com/terrastruct/d2/discussions/990
Improvements 🧹
ELK nodes...
Adds this API:
"Absense of value. Used by SDK codegen to skip the return value."
scalar Void
extend type Container {
"""
Evaluates the command and returns an error if it exits with a nonzero exit
code.
"""
run: Void!
}
This is a convenience to replace this pattern:
code, err := container.ExitCode(ctx)
if err != nil {
return err
}
if code != 0 {
return fmt.Errorf("exit code: %d", code)
}
Right now it's redundant because Exi...
Bumps mypy from 1.0.1 to 1.1.1.
Commits
9b777a3 bump version to 1.1.1 for wheels build
6d355f5 [Release 1.1] Cherry-pick some mypyc build fixes (#14820)
a27dec5 Fix --strict-equality crash for instances of a class generic over a `ParamS...
c201658 Remove +dev from version number before release
17fba49 [1.1 backport] [dataclass_transform] include dataclass_fields in transfor...
f2cac4a [1.1 backport] [dataclass_transform] detect transform spec changes in inc...
Bumps spectaql from 2.0.4 to 2.0.5.
Changelog
Sourced from spectaql's changelog.
2.0.5
Remove foundation-sites dependency
Commits
See full diff in compare view
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-s...
Bumps eslint-config-prettier from 8.6.0 to 8.7.0.
Changelog
Sourced from eslint-config-prettier's changelog.
Version 8.7.0 (2023-03-06)
Added: [@typescript-eslint/block-spacing]. Thanks to @ttionya!
Added: [@typescript-eslint/key-spacing]. Thanks to @ttionya!
Commits
a157136 eslint-config-prettier v8.7.0
bb1024f Update npm packages (#244)
5b8afce add rule @typescript-eslint/block-spacing and `@typescript-eslint/key-spaci...
See...
Bumps ruff from 0.0.253 to 0.0.254.
Release notes
Sourced from ruff's releases.
v0.0.254
What's Changed
Rules
[pyupgrade] Replace tuples with type union in isinstance or issubclass calls by @martinlehoux in charliermarsh/ruff#3280
[flake8-pyi] Add flake-pyi PYI033 "Do not use type comments in stubs" by @konstin in charliermarsh/ruff#3302
[flake8-pyi] PYI006 bad version info comparison by @konstin in charliermarsh/ruff#3291
[pycodestyle...
Bumps github.com/moby/buildkit from 0.11.0-rc3.0.20230222163458-34a576c411ea to 0.11.4.
Release notes
Sourced from github.com/moby/buildkit's releases.
v0.11.4
https://hub.docker.com/r/moby/buildkit
Notable changes:
This release contains two security fixes.
Fix the issue where credentials inlined to Git URLs could end up in provenance attestation https://github.com/moby/buildkit/security/advisories/GHSA-gc89-7gcr-jxqc
Containerd has been updated to 1....
This should fix the macOS publish build failures.
Note: no external impact since this is unreleased code, changed after v0.3.13.
This adds a guide for using the AWS CDK with the Go SDK.
@vikram-dagger feel free to rewrite any part as needed or tell me what you need me to change.
Bumps @typescript-eslint/eslint-plugin from 5.53.0 to 5.54.1.
Release notes
Sourced from @typescript-eslint/eslint-plugin's releases.
v5.54.1
5.54.1 (2023-03-06)
Bug Fixes
typescript-estree: do not call export of clearProgramCache (#6540) (181e705)
v5.54.0
5.54.0 (2023-02-27)
Bug Fixes
typescript-estree: check for relative/root paths in printing file path errors (#6491) (dc14242)
website: corect p...
What is the issue?
The current script has the following issues:
- It is necessary to run it manually for every snippet file. This takes a lot of time eg. for a medium-length tutorial consisting of 6 snippets x 3 languages, the script needs to be manually run 18 times and the embed ID needs to be separately copied into the markdown. Would it be possible to have the embed IDs generated at build-time automatically and inserted into the markdown, or have the embed IDs generated in bulk?
...
This PR was auto-generated.
Adds the following API:
extend type Container {
withExposedPort(
# ...
"Make this port reachable via the given port on the host"
publish: Int
)
}
Whenever a service runs, either via run (#4723) or withServiceBinding, the Dagger session will listen on any published ports and forward traffic to the container via the shim.
Note that this is a distinct behavior of run as opposed to exitCode/stdout/stderr.
What is the issue?
WiithMounted[File,Directory,Cache,Secret,Temp} operations are currently assigning root:root permissions inside the containers which makes any pipeline that doesn't use a root user fail.
Log output
#3 test
#3 0.147 uid=1000(foo) gid=1000(foo)
#3 DONE 0.3s
#3 test
0
#3 0.147 -rw-rw-r-- 1 root root 12 Mar 9 14:25 message.txt
As you can see from the repro steps, message.txt gets mounted as root even though current user is foo
...
This commit updates the admonition at the start of the guide and makes the Python embeds more consistent.
After going through the Engine + CLI v0.4.0 release, as well as all SDKs & docs, these improvements made sense:
- last updated badge
- new high-level diagram
- convert 👉 action items to [x] checklist items
- optimise for top to bottom consumption
The only contentious item might be the removal of post-release checks, i.e. https://github.com/dagger/dagger/pull/4461 . The manual checks are so simple - checking the dagger version output - that if we messed that up in our release proces...
What is the issue?
Most of our Go SDK docs - like this page https://docs.dagger.io/sdk/go/371491/install - mention that the Dagger Go SDK requires Go 1.15 or later.
As of https://github.com/dagger/dagger/releases/tag/sdk%2Fgo%2Fv0.5.0, we require Go 1.20 or later. This is what happens when we run Go SDK v0.5.0 with Go v1.19: https://github.com/dagger/registry-redirect/actions/runs/4377426015/jobs/7660890220#step:4:17
This commit updates the documentation to state that the Go SDK requires Go 1.20 or later.
Closes #4742
This commit updates the services guide to use the new feature name "service containers"
What are you trying to do?
I am using container.WithMountedFile but Host() only lets me retrieve a *dagger.Directory, and there is no equivalent for a *dagger.File
Why is this important to you?
It would be nice to have and would eliminate some boilerplate :)
How are you currently working around this?
Right now I'm doing
path := "/path/to/my/file.txt"
file := client.Host().Directory(filepath.Dir(path)).File(filepath.Base(path))
client.Container().From("alpi...
I am interested in this scenario as well. There is any info on when the features 1 and 2 mentioned by @grouville will be implemented?
@Cirius1792 perfect timing for this. We're releasing our "service containers" (https://docs.dagger.io/757394/use-service-containers) feature this week which addresses this concerns. If you want to know more, @vito did a really good intro with some addittional compose sprinkles yesterday in our community call. You can check the recording here: https://dagger-io.zoom.us/rec/share/n6WIx_qMSAU8KiVjm0J-94gUrycpxQWjTwjf6AGXWcvyb_6ztjvfRT_avZoVfduH.KGwTykoBtEreb2oz?startTime=1678381187000
From some brief testing this seemed to reduce the time to prepare layers for remote cache export, with one case previously taking 5 seconds now taking 1 second. This isn't surprising given zstd is generally considered faster than zlib (what underlies gzip, the previous default) in almost all cases.
Bumps platformdirs from 3.1.0 to 3.1.1.
Release notes
Sourced from platformdirs's releases.
3.1.1
What's Changed
site_cache_dir: use /var/tmp instead of /var/cache on unix by @efiop in platformdirs/platformdirs#148
Full Changelog: https://github.com/platformdirs/platformdirs/compare/3.1.0...3.1.1
Changelog
Sourced from platformdirs's changelog.
platformdirs 3.1.1 (2023-03-10)
site_cache_dir use /var/tmp instead of /var/cache on unix, a...
Found while debugging a large job that was running on a small (20 GB) disk. The small disk size caused buildkit to very aggressively prune almost the whole local cache, but that happened in parallel with the export which caused a layer to not be found and failed the export.
The very temporary workaround is to use a larger disk size, but that will just make the issue more rare.
The fix on our end is to grab a lease on the content in the content store in the time between the client passin...
The recent s3 cache manager changes made the pushing of layers asynchronous to the client, which saves them lots of execution time in CI, but the actual packing of layers into compressed tar balls still happen synchronously for them. In one large job, even when using faster zstd compression this still took ~30s.
It's much trickier to make this part asynchronous since the relevant code is baked very deeply into buildkit, but there's two possibilities I'm seeing:
- Update upstream to make ...
What is the issue?
Requested during a community call by @sheldonhull:
"Would love a post/page on caching if someone gets time. Would like to know how to optimize going forward.
Cached volumes for go modules etc. using azure pipelines and github actions"
It really was good timing! I am already experimenting with the new feature! Thank you!
Bumps @sideway/formula from 3.0.0 to 3.0.1.
Commits
5b44c1b 3.0.1
9fbc20a chore: better number regex
41ae98e Cleanup
c59f35e Move to Sideway
See full diff in compare view
Maintainer changes
This version was pushed to npm by marsup, a new releaser for @sideway/formula since your current version.
[, .pipeStderr() and .pipeAll() methods to redirect stdo...
Bumps sass from 1.58.0 to 1.59.2.
Release notes
Sourced from sass's releases.
Dart Sass 1.59.2
To install Sass 1.59.2, 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.
Dart Sass 1.59.1
To install Sass 1.59.1, download one of the packages below and add it to your PATH, or see the Sass website for...
What is the issue?
I was running a pipeline which mounts a binary from my host into Dagger but after removing the binary locally, my pipeline still executed with a cached version of it
Log output
N/A
Steps to reproduce
1 - Build a static binary in your CWD called main
2 - Run the following pipeline once:
package main
import (
"context"
"fmt"
"os"
"time"
"dagger.io/dagger"
)
func main() {
ctx := context.Background()
c, err := dagger.Connect(...
Before this if an async cache export tried to push content that was GC'd by buildkit since the export was requested, then an error could occur. Now we get a lease on the content for that time to prevent GC from deleting it until we no longer need it.
Fixes https://github.com/dagger/dagger/issues/4748
Testing this was not straightforward. I only managed to reproduce it reliably by overriding the engine GC config to be {All: true, KeepBytes: 1} and also adding a `time.Sleep(30*ti...
When a guide title appears in the algolia search bar after typing, clicking on the result takes you to the guide index instead of said guide.

We should fix this behavior by taking the user to said guide instead of the index.
What is the issue?
While troubleshooting some operational logs, I've found that two journal rows for the same vertex ID, contain different set of pipeline values.
In the logs attached below, you'll see that for the same vertex ID, the second line contains a pipeline attribute while the first doesn't.
Strangely, this behavior has only been reported in macOS so far. The same pipeline in a linux machine seems to show the right information.
Log output
{"event":{"Vertexes":...
This discussion arose from #4759
Docusaurus has a default tags page, which https://github.com/facebook/docusaurus/discussions/5542.
Currently it lives here.
It also leads to these pages being rendered.
@vikram-dagger LMK if we should hide these pages.
Bumps execa from 7.0.0 to 7.1.1.
Release notes
Sourced from execa's releases.
v7.1.1
Features
Improve error message when $.sync(options)command is used instead of $(options).synccommand (#551)
Bug fixes
Fix argument concatenation when using $command argument${value} (#553)
Fix default value of the stdin option when using $command: it should be inherit (#550)
v7.1.0
Features
Add $ method to write Node.js scripts like zx. For more informat...
Author/committer name and email are distinct labels, so in total there are four labels for author/committer:
dagger.io/git.author.namedagger.io/git.author.emaildagger.io/git.committer.namedagger.io/git.committer.email
Collects only the first line of the commit message, aka the "title" (verified that this name is accurate via git docs).
dagger.io/git.title
Also silences the noisy default label collection l...
Per the tin, adds t.Parallel() to each test added with services, which speeds up our tests quite a bit.
Bumps webpack from 5.74.0 to 5.76.1.
Release notes
Sourced from webpack's releases.
v5.76.1
Fixed
Added assert/strict built-in to NodeTargetPlugin
Revert
Improve performance of hashRegExp lookup by @ryanwilsonperkin in webpack/webpack#16759
v5.76.0
Bugfixes
Avoid cross-realm object access by @Jack-Works in webpack/webpack#16500
Improve hash performance via conditional initialization by @lvivski in webpack/webpack#16491
Serialize generatedCode in...
What?
Create a multi-language guide to cover the importance of thinking about concurrency for improving performance. It can make a significant impact, but many users aren't familiar with it. No need to be exhaustive, just the essential for dagger, an example, and sharing resources to learn more.
### Common
- [ ] Simple concurrency explanation (an analogy and images may help)
### Language specific
- [ ] Example
- [ ] Explanation
- [ ] Lear...
These are useful since dagger.io/git.remote is a simplified string, normalized from SSH and HTTPS-like origin URIs, not meant to be a clickable URL. So if we want to actually link to the repo associated to a run, we need to pass the repo URL along.
Bumps ruff from 0.0.255 to 0.0.256.
Release notes
Sourced from ruff's releases.
v0.0.256
What's Changed
Bug Fixes
PYI011: allow math constants in defaults by @XuehaiPan in charliermarsh/ruff#3484
Remove erroneous C4-to-C40 redirect by @charliermarsh in charliermarsh/ruff#3488
fix lack of not in error message by @Czaki in charliermarsh/ruff#3497
Ensure that redirect warnings appear exactly once per code by @charliermarsh in charliermarsh/ruff#3...
Bumps sass from 1.58.0 to 1.59.3.
Release notes
Sourced from sass's releases.
Dart Sass 1.59.3
To install Sass 1.59.3, download one of the packages below and add it to your PATH, or see the Sass website for full installation instructions.
Changes
Fix a performance regression introduced in 1.59.0.
The NPM release of 1.59.0 dropped support for Node 12 without actually indicating so in its pubspec. This release temporarily adds back support so that the ...
For our docs URL schema, we've been using the "knowledge base" model, where each article has a unique ID, allowing decoupling between its content and the overall information architecture. This has proven useful overall.
But I think we have applied this model to certain pages where it doesn't make sense. One example is our guides section. A list of guides is not a knowledge base article, and therefore should not have an article ID embedded in its URL....
Following https://github.com/dagger/dagger/pull/4683 I had a clearer idea in my head to use some generics to help for the SDK query builder.
For now, it would reduced generated boilerplate. But I bet we could even fix the field subselection in the same kind of use.
Complete WIP for now as I lack time to work on it but didn't want to forget about it.
You can't instantiate input objects like BuildArg in Container.build with Python SDK v0.4.0:
import dagger
arg = dagger.BuildArg("NAME", "value") # TypeError: BuildArg() takes no arguments
Current workaround:
import dagger
arg = dagger.BuildArg()
arg.name = "NAME"
ar...
Fixes #4773
Signed-off-by: Helder Correia
Make it easier to copy/paste the right commands.
I keep thinking about the automation that will be built using these docs as the source of truth.
This commit adds Python and Node.js code snippets to the "Replace Dockerfile with Go" guide and also updates the title and content accordingly.
Relates to #4574
Sprinkled the cloud token everywhere that we use ./hack/make and had everything also upload the journal.log for debugging.
This will fix guides rendering, as right now the Table of Contents is being shifted to the bottom of the page because of flex properties.
Remote cache export currently still packs layers up synchronously. For particularly large number/size of layers, this can take quite a while (30s has been seen in relatively modest real world cases).
The problem is that this doesn't start until the session has begun to close (specifically, a result has been returned for the Solve) but if the client forcibly ends the session while it's happening it will fail (you will see context cancelled errors in the engine logs for the layer packing f...
The codeblocks inside the guides is a bit more narrow than it should.
The UX when looking at code snippets is not the best, as it requires constant horizontal scrolling to read large lines.
This will render wider codeblocks inside the guides, as they are too narrow now, and they affect UX.
Closes #4783
Bumps github.com/opencontainers/runtime-spec from 1.0.3-0.20220825212826-86290f6a00fb to 1.1.0-rc.1.
Release notes
Sourced from github.com/opencontainers/runtime-spec's releases.
v1.1.0-rc.1
Vote: opencontainers/runtime-spec#1175 ( https://groups.google.com/a/opencontainers.org/g/dev/c/fnCiFoXBsiI/m/1jQm5OArBAAJ )
Changes (v1.0.2 → v1.1.0-rc.1)
Breaking changes (but rather conforms to the existing runc implementation)
config: change prestar...
There's a current issue where the external links in the menu are not rendered correctly.
Docusaurus adds an SVG at the end of these links, but they have an absolute position. This makes the SVG appear at the top of the sidebar (after scrolling up), as it's shown here.

This PR also adds a chain icon next to the Reference link for the GraphQL reference for consistency with th...
If this PR is merged, logs will no longer be duplicated on multi-stage export:
Example of output with changes applied
#1 resolve image config for docker.io/library/alpine:latest
#1 DONE 2.0s
#1 resolve image config for docker.io/library/alpine:latest
#1 DONE 2.1s
#2
#2 DONE 0.0s
#3 from alpine
#3 resolve docker.io/library/alpine:latest 0.1s done
#3 sha256:af6eaf76a39c2d3e7e0b8a0420486e3df33c4027d696c076a99a3d0ac09026af 0B / 3.26MB 0.2s
#3 sha256:af6eaf76a39c2d3e...
What is the issue?
reference: #1086025025947193444 message
It seems reusing a container to put in a platformVariants in Node SDK transform it as the Query Object, and not the container itself
Log output
{ container { publish (address: "registry.gitlab.com/jobilla/backend-services/migrations/migrated-8:latest",platformVariants: [{"_queryTree":[{operation:"container",args:{platform:"linux/amd64"}},{operation...
To avoid using/pulling too many version of some images, I suggest we use a common definition that we can update in one place. It would avoid pulling different images version when running test and reduce test time.
Limits
A bunch of images are part of documentation snippets, they are not run during test (I think), so they don't affect the test duration. But it would be good to have some automated script to update them all at the same time as well.
I guess, some script in the CI to ch...
What happened? What did you expect to happen?
Hi, I'm currently trying out Dagger and I'm liking it a lot so far, but I've recently run into an issue that I haven't been able to solve: my project has tsx as a dependency and @dagger.io/dagger as a devDependency, I need to install them both (or at least @dagger.io/dagger from outside of Dagger to be able to run my pipeline, since I run it from a pnpm script. As I already install all the dependencies from outside Dagger, is it possibl...
With this PR, visiting the docs.dagger.io/tags & docs.dagger.io/tags/{tag} pages, will return the 404 Not Found default page, behaving the same as with other not found resources.
Closes #4761
This will replace the guides filter by tag for a content based search.
This makes it easier for the user to find what it's looking for, improving UX.
@vikram-dagger from the presentation side, I don't see a clash between the docs search and the guides search.
The only downside of having two searchbars in the same page, is that CTRL+K may have an odd behavior.
I don't think it's a blocker though, we can merge this IMO. I'll follow up with a fix for that.
Making this as a parent tracking issue for support for extensions, which are a way to define and share code that's re-usable across any Dagger SDK.
This goal was a fundamental part of the design of Dagger v0.3. We decided to start out simpler and just release the core API to start, but the original full vision of extensions are that they:
- Let you write code in the language of your choice which is then automatically converted into a graphql API
- This code will itself have access to...
Revert "how it works" diagram back to how it was. Happy to discuss changes to our tech marketing, but I want to be consulted first.
Bumps @typescript-eslint/parser from 5.53.0 to 5.56.0.
Release notes
Sourced from @typescript-eslint/parser's releases.
v5.56.0
5.56.0 (2023-03-20)
Bug Fixes
eslint-plugin: [member-ordering] check order when optionalityOrder is present with no optional members (#6619) (6aff431)
eslint-plugin: [no-misused-promises] avoid unnecessary calls to getContextualType (#6193) (745cfe4)
eslint-plugin: [no-misused-pro...
AppArmor enforces that any executions of /usr/sbin/dnsmasq, regardless of namespace, can only read from a handful of allowed paths. We could just rename the dnsmasq binary, but this filename is just as good as any, and I guess we'll get added AppArmor security for free.