-
Release 2.0.0
Stablereleased this
2026-07-04 10:23:42 +02:00 | 2 commits to main since this release⚠️ Breaking changes
DOCKER_USERNAME/DOCKER_PASSWORDare no longer used implicitly for image pullsSee #1007
The runner previously treated secrets named
DOCKER_USERNAMEandDOCKER_PASSWORDas implicit Docker pull credentials, attaching them to every job- and step-container image pull unconditionally. Since these credentials carry no registry information, they were even sent to Docker Hub when pulling public images, causing those pulls to fail with authentication errors. This behavior has been removed.Workflows or runner setups that relied on
DOCKER_USERNAME/DOCKER_PASSWORDbeing implicitly used for Docker image pulls must migrate to an explicit authentication mechanism:- For private job container images, use
container.credentials:
jobs: build: container: image: registry.example.com/image:tag credentials: username: ${{ secrets.REGISTRY_USERNAME }} password: ${{ secrets.REGISTRY_PASSWORD }}- For private service container images, use service
credentials. - For private
uses: docker://...or private Docker actions, configure Docker authentication in the runner environment before the job starts (e.g. rundocker loginon the runner host).
DOCKER_USERNAMEandDOCKER_PASSWORDcan still be used as ordinary workflow secrets, for example with docker/login-action before pushing images.Features
- Shallow clone action repositories — #1053
- Enable
jobs.<job_id>.timeout-minutesandjobs.<job_id>.continue-on-error— #1032 - Add optional
runner.post_task_scripthook after task cleanup — #1026 - Support
ssh://action URLs — #1035 - IPv6 options for network container creation — #1029
- Complete runner-side cancellation handling — #1016
- Upload job summary when supported — #917
Bug fixes
- Composite nested
usesclone token — #1041 - Namespace local docker action image tags per repository — #1051
- Run
always()/cancelled()and post steps correctly on cancellation — #1043 - Guard
SetJobErroragainst missing job-error container — #1050 - Interpolate job
container.volume— #1036 - Kill Unix step process group on cancel to avoid hang — #1025
- Prevent loss of step log output at end of step — #1028
- Bound host-environment cleanup and reclaim leaked scratch dirs — #1024
- Do not update cached actions with stale origin URL — #1014
Build & docs
- Cover Windows Go files in build — #1052
- Improve cache documentation — #1034
- Update docker-images docs — #1020
Dependencies
- Update
github.com/moby/moby/clientto v0.5.0 — #1049 - Update
github.com/docker/clito v29.6.0 — #1045 - Update docker docker tag to v29.6.0 — #1044
- Update
actions/checkoutaction to v7 — #1042 - Update
go.etcd.io/bboltto v1.5.0 — #1040 - Update
golang.org/x/termto v0.44.0 — #1031 - Update alpine docker tag to v3.24 — #1030
- Update
golang.org/x/cryptoto v0.52.0 — #1027 - Update docker docker tag to v29.5.3 — #1021
- Update
golang.org/x/systo v0.46.0 — #1019 - Update
github.com/docker/clito v29.5.3 — #1018 - Update
github.com/opencontainers/selinuxto v1.15.1 — #1017 - Update
golang.org/x/systo v0.45.0 — #1012 - Update
code.gitea.io/actions-proto-goto v0.5.0 — #1009
Full changelog: https://gitea.com/gitea/runner/compare/v1.0.8...v2.0.0
Downloads
- For private job container images, use