ci: use overlay2 storage driver instead of pinning docker v28
Docker 29 itself works; the breakage on the GHA runner image was the overlayfs default. Setting storage-driver=overlay2 restores the long-standing default and lets the suite run on the current Docker without the apt downgrade dance. Fixes #3094
This commit is contained in:
parent
963daf8908
commit
4d3b567149
18
.github/workflows/integration-test-template.yml
vendored
18
.github/workflows/integration-test-template.yml
vendored
@ -67,22 +67,10 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
name: postgres-image
|
name: postgres-image
|
||||||
path: /tmp/artifacts
|
path: /tmp/artifacts
|
||||||
- name: Pin Docker to v28 (avoid v29 breaking changes)
|
- name: Force overlay2 storage driver
|
||||||
run: |
|
run: |
|
||||||
# Docker 29 breaks docker build via Go client libraries and
|
sudo mkdir -p /etc/docker
|
||||||
# docker load/save with certain tarball formats.
|
echo '{"storage-driver":"overlay2"}' | sudo tee /etc/docker/daemon.json
|
||||||
# Pin to Docker 28.x until our tooling is updated.
|
|
||||||
# https://github.com/actions/runner-images/issues/13474
|
|
||||||
sudo install -m 0755 -d /etc/apt/keyrings
|
|
||||||
curl -fsSL https://download.docker.com/linux/ubuntu/gpg \
|
|
||||||
| sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
|
|
||||||
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
|
|
||||||
https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" \
|
|
||||||
| sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
|
|
||||||
sudo apt-get update -qq
|
|
||||||
VERSION=$(apt-cache madison docker-ce | grep '28\.5' | head -1 | awk '{print $3}')
|
|
||||||
sudo apt-get install -y --allow-downgrades \
|
|
||||||
"docker-ce=${VERSION}" "docker-ce-cli=${VERSION}"
|
|
||||||
sudo systemctl restart docker
|
sudo systemctl restart docker
|
||||||
docker version
|
docker version
|
||||||
- name: Load Docker images, Go cache, and prepare binary
|
- name: Load Docker images, Go cache, and prepare binary
|
||||||
|
|||||||
38
.github/workflows/test-integration.yaml
vendored
38
.github/workflows/test-integration.yaml
vendored
@ -69,23 +69,15 @@ jobs:
|
|||||||
name: go-cache
|
name: go-cache
|
||||||
path: go-cache.tar.gz
|
path: go-cache.tar.gz
|
||||||
retention-days: 10
|
retention-days: 10
|
||||||
- name: Pin Docker to v28 (avoid v29 breaking changes)
|
- name: Force overlay2 storage driver
|
||||||
if: steps.changed-files.outputs.files == 'true'
|
if: steps.changed-files.outputs.files == 'true'
|
||||||
run: |
|
run: |
|
||||||
# Docker 29 breaks docker build via Go client libraries and
|
# Docker 29 runner images default to overlayfs, which breaks
|
||||||
# docker load/save with certain tarball formats.
|
# docker build via Go SDK libraries and docker save/load
|
||||||
# Pin to Docker 28.x until our tooling is updated.
|
# tarball formats. overlay2 is the long-standing default.
|
||||||
# https://github.com/actions/runner-images/issues/13474
|
# https://github.com/actions/runner-images/issues/13474
|
||||||
sudo install -m 0755 -d /etc/apt/keyrings
|
sudo mkdir -p /etc/docker
|
||||||
curl -fsSL https://download.docker.com/linux/ubuntu/gpg \
|
echo '{"storage-driver":"overlay2"}' | sudo tee /etc/docker/daemon.json
|
||||||
| sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
|
|
||||||
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
|
|
||||||
https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" \
|
|
||||||
| sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
|
|
||||||
sudo apt-get update -qq
|
|
||||||
VERSION=$(apt-cache madison docker-ce | grep '28\.5' | head -1 | awk '{print $3}')
|
|
||||||
sudo apt-get install -y --allow-downgrades \
|
|
||||||
"docker-ce=${VERSION}" "docker-ce-cli=${VERSION}"
|
|
||||||
sudo systemctl restart docker
|
sudo systemctl restart docker
|
||||||
docker version
|
docker version
|
||||||
- name: Build headscale image
|
- name: Build headscale image
|
||||||
@ -123,22 +115,10 @@ jobs:
|
|||||||
needs: build
|
needs: build
|
||||||
if: needs.build.outputs.files-changed == 'true'
|
if: needs.build.outputs.files-changed == 'true'
|
||||||
steps:
|
steps:
|
||||||
- name: Pin Docker to v28 (avoid v29 breaking changes)
|
- name: Force overlay2 storage driver
|
||||||
run: |
|
run: |
|
||||||
# Docker 29 breaks docker build via Go client libraries and
|
sudo mkdir -p /etc/docker
|
||||||
# docker load/save with certain tarball formats.
|
echo '{"storage-driver":"overlay2"}' | sudo tee /etc/docker/daemon.json
|
||||||
# Pin to Docker 28.x until our tooling is updated.
|
|
||||||
# https://github.com/actions/runner-images/issues/13474
|
|
||||||
sudo install -m 0755 -d /etc/apt/keyrings
|
|
||||||
curl -fsSL https://download.docker.com/linux/ubuntu/gpg \
|
|
||||||
| sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
|
|
||||||
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
|
|
||||||
https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" \
|
|
||||||
| sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
|
|
||||||
sudo apt-get update -qq
|
|
||||||
VERSION=$(apt-cache madison docker-ce | grep '28\.5' | head -1 | awk '{print $3}')
|
|
||||||
sudo apt-get install -y --allow-downgrades \
|
|
||||||
"docker-ce=${VERSION}" "docker-ce-cli=${VERSION}"
|
|
||||||
sudo systemctl restart docker
|
sudo systemctl restart docker
|
||||||
docker version
|
docker version
|
||||||
- name: Pull and save postgres image
|
- name: Pull and save postgres image
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user