[pull] main from containerd:main - #307
Open
pull[bot] wants to merge 1432 commits into
Open
Conversation
TestHostNetworkDnsPreserved: GitHub Actions hosts run systemd-resolved, so /etc/resolv.conf only contains the 127.0.0.53 stub. For host-network containers, nerdctl deliberately provides the resolv.conf that systemd-resolved generates with the actual upstream nameservers (see pkg/resolvconf.Path()), while Docker keeps the stub. Capture the nameservers accordingly in the test setup. This could not happen while the tests ran inside a Docker container with a Docker-generated resolv.conf. Assisted-by: Claude Fable 5 <noreply@anthropic.com> Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
The integration tests are no longer wrapped inside a Docker container. Docker is still used to build the test dependencies (the new `out-test-integration-artifacts` Dockerfile stage), which are then installed on the host with hack/provisioning/linux/test-integration-env.sh, and the tests now run with `go test` via hack/test-integration.sh: - job-test-in-container.yml is removed; its matrix is migrated to job-test-in-host.yml - job-test-in-lima.yml no longer nests Docker inside the guest VM (issue 3858); the artifacts are built on the host and installed in the guest, which is started in plain mode - the test-integration* Dockerfile stages are removed, along with the unused build-minimal stage (the demo stage is retained) - hack/test-integration-rootless.sh (moved from Dockerfile.d) runs the tests inside the systemd user session of the unprivileged user, which is available without a login, as the provisioning script enables lingering for that user Assisted-by: Claude Fable 5 <noreply@anthropic.com> Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
The command passed to `docker run` is executed by the generated docker-entrypoint.service, which had no ordering dependency on the containerd, buildkit, and stargz-snapshotter units, so `docker run -t --rm --privileged ghcr.io/containerd/nerdctl nerdctl run ...` was racy: it failed with "cannot access containerd socket" whenever the command won the race against containerd. Add the ordering through a unit drop-in. Assisted-by: Claude Fable 5 <noreply@anthropic.com> Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
Build the image for the host platform, load it into Docker, and check that `nerdctl run` works inside it, before the multi-platform image is built and (except on pull requests) published to ghcr.io. Assisted-by: Claude Fable 5 <noreply@anthropic.com> Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
`nerdctl (run|exec) -i` (without `-t`) propagates the EOF of its own stdin to the container by calling CloseIO: the shim deliberately keeps its own write end of the stdin FIFO open (so that a detached client does not propagate EOF), and only CloseIO makes the shim close it. The io copy goroutines are started by the cio.Creator, inside container.NewTask (respectively task.Exec), before the task (process) is registered in containerd: - in taskutil.NewTask, when the stdin was short enough to reach EOF during the creation, the container.Task API lookup in the closer failed with "no such task", and the error was discarded at the debug level; - in container.Exec, the closer was only installed after task.Exec returned, and a closer firing before that was a silent no-op. In both cases the CloseIO was lost forever: the container never received EOF on its stdin, and eg: `nerdctl run --rm -i IMAGE cat` hung until killed. Make the closer block on a channel that receives the task (process) handle when the creation returns, so that the CloseIO is always delivered. The race is easily reproducible under load; in the CI it is the cause of the TestRunStdin flakiness, which became a consistent failure on the slow almalinux-8 guests after the tests moved out of Docker. Fix issue 5029 Assisted-by: Claude Fable 5 <noreply@anthropic.com> Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
TestRunRestartWithOnFailure runs a container with --restart=on-failure:2 and then uses nerdtest.EnsureContainerExited to wait for the container to reach the "exited" state. However, a stopped container whose restart labels still satisfy restart.Reconcile() is reported by nerdctl as "restarting", not "exited" (see dockercompat.statusFromNative). For on-failure:2, this means the container only shows "exited" after the containerd restart monitor has performed both restarts and bumped the restart count label to 2. Since the monitor only reconciles every 10 seconds by default, convergence takes ~20+ seconds in the worst case - right at (or beyond) the ~20 seconds budget of EnsureContainerExited (20 retries x 1s sleep), especially on slow CI runners. This is the source of the observed "container ... still not exited after 20 retries" flake. Replace the retry counter with a 60-second deadline (keeping the 1-second poll interval), matching the wait budget already used by TestRunRestartWithUnlessStopped. This also covers TestUpdateRestartPolicy, which calls the same helper with an on-failure:2 policy. Passing runs are not slowed down, as the loop still exits on the first observation of the exited state. Fixes #5030 Assisted-by: Claude Fable 5 <noreply@anthropic.com> Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
Signed-off-by: Daniel Benjamin <benjamindaniel706@gmail.com>
…windows refactor: migrate container_run_network_windows_test.go to nerdtest.Setup
test: extend EnsureContainerExited deadline to fix flaky restart tests
run, exec: fix `-i` hanging when stdin reaches EOF during task creation
CI: run test-integration[-rootless] directly on hosts and Lima guests
…cker/login-action-4.4.0 build(deps): bump docker/login-action from 4.3.0 to 4.4.0
Bumps the golang-x group with 1 update in the / directory: [golang.org/x/text](https://github.com/golang/text). Updates `golang.org/x/text` from 0.38.0 to 0.39.0 - [Release notes](https://github.com/golang/text/releases) - [Commits](golang/text@v0.38.0...v0.39.0) --- updated-dependencies: - dependency-name: golang.org/x/text dependency-version: 0.39.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: golang-x ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [github.com/pelletier/go-toml/v2](https://github.com/pelletier/go-toml) from 2.4.2 to 2.4.3. - [Release notes](https://github.com/pelletier/go-toml/releases) - [Commits](pelletier/go-toml@v2.4.2...v2.4.3) --- updated-dependencies: - dependency-name: github.com/pelletier/go-toml/v2 dependency-version: 2.4.3 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Mujib Ahasan <ahasanmujib8@gmail.com> test case added Signed-off-by: Mujib Ahasan <ahasanmujib8@gmail.com> events: log errors when retrieving container labels Signed-off-by: Mujib Ahasan <ahasanmujib8@gmail.com>
Lots of env vars were shown since commit f21b32b (PR 5035) `CI: run test-integration[-rootless] directly on hosts and Lima guests`. GITHUB_TOKEN and ACTIONS_RUNTIME_TOKEN did not seem leaked so far, though. Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
tigron: hide env from logs by default
…-x-7db428aa2e build(deps): bump golang.org/x/text from 0.38.0 to 0.39.0 in the golang-x group across 1 directory
….com/pelletier/go-toml/v2-2.4.3 build(deps): bump github.com/pelletier/go-toml/v2 from 2.4.2 to 2.4.3
Bumps [github.com/ipfs/go-cid](https://github.com/ipfs/go-cid) from 0.6.1 to 0.6.2. - [Release notes](https://github.com/ipfs/go-cid/releases) - [Commits](ipfs/go-cid@v0.6.1...v0.6.2) --- updated-dependencies: - dependency-name: github.com/ipfs/go-cid dependency-version: 0.6.2 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
Docker with the containerd image store (the default since Docker v29 on
fresh installs, e.g., on the ubuntu-26.04 GitHub Actions runners) refuses
to resolve a reference that is both a tag and an image ID prefix
("ambiguous reference"), while nerdctl and Docker with the classic graph
drivers resolve the tag first.
Introduce a nerdtest.DockerContainerdSnapshotter requirement that detects
the containerd image store from the "driver-type" entry of
`docker info`'s DriverStatus, and skip TestIssue3016 with
require.Not(nerdtest.DockerContainerdSnapshotter).
Assisted-by: Claude Fable 5 <noreply@anthropic.com>
Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
Signed-off-by: Daniel Benjamin <benjamindaniel706@gmail.com>
Bumps the golang-x group with 6 updates: | Package | From | To | | --- | --- | --- | | [golang.org/x/crypto](https://github.com/golang/crypto) | `0.53.0` | `0.54.0` | | [golang.org/x/net](https://github.com/golang/net) | `0.56.0` | `0.57.0` | | [golang.org/x/sync](https://github.com/golang/sync) | `0.21.0` | `0.22.0` | | [golang.org/x/sys](https://github.com/golang/sys) | `0.46.0` | `0.47.0` | | [golang.org/x/term](https://github.com/golang/term) | `0.44.0` | `0.45.0` | | [golang.org/x/text](https://github.com/golang/text) | `0.39.0` | `0.40.0` | Updates `golang.org/x/crypto` from 0.53.0 to 0.54.0 - [Commits](golang/crypto@v0.53.0...v0.54.0) Updates `golang.org/x/net` from 0.56.0 to 0.57.0 - [Commits](golang/net@v0.56.0...v0.57.0) Updates `golang.org/x/sync` from 0.21.0 to 0.22.0 - [Commits](golang/sync@v0.21.0...v0.22.0) Updates `golang.org/x/sys` from 0.46.0 to 0.47.0 - [Commits](golang/sys@v0.46.0...v0.47.0) Updates `golang.org/x/term` from 0.44.0 to 0.45.0 - [Commits](golang/term@v0.44.0...v0.45.0) Updates `golang.org/x/text` from 0.39.0 to 0.40.0 - [Release notes](https://github.com/golang/text/releases) - [Commits](golang/text@v0.39.0...v0.40.0) --- updated-dependencies: - dependency-name: golang.org/x/crypto dependency-version: 0.54.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: golang-x - dependency-name: golang.org/x/net dependency-version: 0.57.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: golang-x - dependency-name: golang.org/x/sync dependency-version: 0.22.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: golang-x - dependency-name: golang.org/x/sys dependency-version: 0.47.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: golang-x - dependency-name: golang.org/x/term dependency-version: 0.45.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: golang-x - dependency-name: golang.org/x/text dependency-version: 0.40.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: golang-x ... Signed-off-by: dependabot[bot] <support@github.com>
….com/ipfs/go-cid-0.6.2 build(deps): bump github.com/ipfs/go-cid from 0.6.1 to 0.6.2
CI: update Ubuntu (26.04)
…-x-357f6793ed build(deps): bump the golang-x group with 6 updates
…ork-base-test-to-tigron test: refactor container_run_network_base_test.go to use Tigron
…t-linux-test-to-tigron test: refactor container_run_mount_linux_test.go to use Tigron
Signed-off-by: Feng Wang <wang6922@outlook.com>
Bumps [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action) from 4.2.0 to 4.3.0. - [Release notes](https://github.com/docker/setup-qemu-action/releases) - [Commits](docker/setup-qemu-action@96fe6ef...1f40c72) --- updated-dependencies: - dependency-name: docker/setup-qemu-action dependency-version: 4.3.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
…estart tests Signed-off-by: Samran Asif <samranwebdev2000@gmail.com>
….golang.org/grpc-1.83.1 build(deps): bump google.golang.org/grpc from 1.83.0 to 1.83.1
…cker/setup-qemu-action-4.3.0 build(deps): bump docker/setup-qemu-action from 4.2.0 to 4.3.0
Signed-off-by: Daniel Benjamin <benjamindaniel706@gmail.com>
Bumps the golang-x group with 1 update: [golang.org/x/crypto](https://github.com/golang/crypto). Updates `golang.org/x/crypto` from 0.55.0 to 0.56.0 - [Commits](golang/crypto@v0.55.0...v0.56.0) --- updated-dependencies: - dependency-name: golang.org/x/crypto dependency-version: 0.56.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: golang-x ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [tags.cncf.io/container-device-interface](https://github.com/cncf-tags/container-device-interface) from 1.1.1-0.20260720132747-49ac08dcf160 to 1.1.1. - [Release notes](https://github.com/cncf-tags/container-device-interface/releases) - [Changelog](https://github.com/cncf-tags/container-device-interface/blob/main/RELEASE.md) - [Commits](https://github.com/cncf-tags/container-device-interface/commits/v1.1.1) --- updated-dependencies: - dependency-name: tags.cncf.io/container-device-interface dependency-version: 1.1.1 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
…ncf.io/container-device-interface-1.1.1 build(deps): bump tags.cncf.io/container-device-interface from 1.1.1-0.20260720132747-49ac08dcf160 to 1.1.1
Bumps the docker group with 3 updates in the / directory: [github.com/docker/cli](https://github.com/docker/cli), [github.com/moby/moby/client](https://github.com/moby/moby) and [github.com/moby/moby/v2](https://github.com/moby/moby). Updates `github.com/docker/cli` from 29.7.2+incompatible to 29.8.0+incompatible - [Commits](docker/cli@v29.7.2...v29.8.0) Updates `github.com/moby/moby/client` from 0.5.1 to 0.6.0 - [Release notes](https://github.com/moby/moby/releases) - [Changelog](https://github.com/moby/moby/blob/v0.6.0/CHANGELOG.md) - [Commits](moby/moby@v0.5.1...v0.6.0) Updates `github.com/moby/moby/v2` from 2.0.0-beta.21 to 2.0.0-beta.23 - [Release notes](https://github.com/moby/moby/releases) - [Commits](moby/moby@v2.0.0-beta.21...v2.0.0-beta.23) --- updated-dependencies: - dependency-name: github.com/docker/cli dependency-version: 29.8.0+incompatible dependency-type: direct:production update-type: version-update:semver-minor dependency-group: docker - dependency-name: github.com/moby/moby/client dependency-version: 0.6.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: docker - dependency-name: github.com/moby/moby/v2 dependency-version: 2.0.0-beta.23 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: docker ... Signed-off-by: dependabot[bot] <support@github.com>
…scovery Fix: remove hard coded cgroup path in nerdctl info
test(restart): drop outdated containerd 1.x plugin requirement from restart tests
…-x-6e77fb2019 build(deps): bump golang.org/x/crypto from 0.55.0 to 0.56.0 in the golang-x group
fix: preserve equals signs in image label filter values
…-4ee6c0032c build(deps): bump the docker group across 1 directory with 3 updates
Bumps [github.com/klauspost/compress](https://github.com/klauspost/compress) from 1.19.2 to 1.20.0. - [Release notes](https://github.com/klauspost/compress/releases) - [Commits](klauspost/compress@v1.19.2...v1.20.0) --- updated-dependencies: - dependency-name: github.com/klauspost/compress dependency-version: 1.20.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
build: print the image ID with --quiet when using the containerd worker
feat(system): add nerdctl system df
dockercompat: key inspect Networks by real CNI network name
Bumps the golang-x group with 2 updates: [golang.org/x/sync](https://github.com/golang/sync) and [golang.org/x/sys](https://github.com/golang/sys). Updates `golang.org/x/sync` from 0.22.0 to 0.23.0 - [Commits](golang/sync@v0.22.0...v0.23.0) Updates `golang.org/x/sys` from 0.47.0 to 0.48.0 - [Commits](golang/sys@v0.47.0...v0.48.0) --- updated-dependencies: - dependency-name: golang.org/x/sync dependency-version: 0.23.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: golang-x - dependency-name: golang.org/x/sys dependency-version: 0.48.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: golang-x ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [github.com/compose-spec/compose-go/v2](https://github.com/compose-spec/compose-go) from 2.14.0 to 2.15.0. - [Release notes](https://github.com/compose-spec/compose-go/releases) - [Commits](compose-spec/compose-go@v2.14.0...v2.15.0) --- updated-dependencies: - dependency-name: github.com/compose-spec/compose-go/v2 dependency-version: 2.15.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [github.com/containerd/log](https://github.com/containerd/log) from 0.1.0 to 0.2.0. - [Release notes](https://github.com/containerd/log/releases) - [Commits](containerd/log@v0.1.0...v0.2.0) --- updated-dependencies: - dependency-name: github.com/containerd/log dependency-version: 0.2.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
feat: support compose image volumes
….com/klauspost/compress-1.20.0 build(deps): bump github.com/klauspost/compress from 1.19.2 to 1.20.0
…-x-b740b0382b build(deps): bump the golang-x group with 2 updates
Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
….com/compose-spec/compose-go/v2-2.15.0 build(deps): bump github.com/compose-spec/compose-go/v2 from 2.14.0 to 2.15.0
….com/containerd/log-0.2.0 build(deps): bump github.com/containerd/log from 0.1.0 to 0.2.0
update RootlessKit (3.2.0-beta.0)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.1)
Can you help keep this open source service alive? 💖 Please sponsor : )