2 Commits
Author SHA1 Message Date
lukaszraczylo 5f8db06d32 ci: bump workflow actions to current major versions 2026-08-17 21:44:40 +01:00
lukaszraczylo eabbea5508 fix(tests): pull the docker base image before layer inspection
BuildKit caches base layers outside the image store, so the inspect
step failed on CI runners with no cached alpine image. The test now
pulls explicitly and skips when the pull cannot succeed.
2026-08-17 10:55:48 +01:00
2 changed files with 16 additions and 7 deletions
+7 -7
View File
@@ -15,13 +15,13 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v7
with:
fetch-depth: 0
- name: Calculate semantic version
id: semver
uses: lukaszraczylo/semver-generator@v1
uses: lukaszraczylo/semver-generator@v1.17.18
with:
config_file: semver.yaml
repository_local: true
@@ -45,7 +45,7 @@ jobs:
- name: Set up Go
if: steps.tag.outputs.new == 'true'
uses: actions/setup-go@v5
uses: actions/setup-go@v7
with:
go-version-file: go.mod
@@ -55,15 +55,15 @@ jobs:
- name: Set up QEMU
if: steps.tag.outputs.new == 'true'
uses: docker/setup-qemu-action@v3
uses: docker/setup-qemu-action@v4
- name: Set up Docker Buildx
if: steps.tag.outputs.new == 'true'
uses: docker/setup-buildx-action@v3
uses: docker/setup-buildx-action@v4
- name: Log in to GitHub Container Registry
if: steps.tag.outputs.new == 'true'
uses: docker/login-action@v3
uses: docker/login-action@v4
with:
registry: ghcr.io
username: ${{ github.actor }}
@@ -71,7 +71,7 @@ jobs:
- name: Run goreleaser
if: steps.tag.outputs.new == 'true'
uses: goreleaser/goreleaser-action@v6
uses: goreleaser/goreleaser-action@v7
with:
distribution: goreleaser
version: "~> v2"
@@ -387,6 +387,15 @@ func TestDelDockerLayerCountWant_GroundTruth(t *testing.T) {
t.Fatalf("write app: %v", err)
}
// BuildKit keeps base layers in its own cache, so alpine:3.20 is not
// guaranteed to be in the local image store even after a successful
// build below. Pull it explicitly, and treat a pull failure (offline
// host, registry rate limit) as an environment limitation rather than
// a ground-truth failure.
if out, err := exec.Command("docker", "pull", "alpine:3.20").CombinedOutput(); err != nil {
t.Skipf("docker pull alpine:3.20 unavailable: %v\n%s", err, out)
}
const tag = "llmtestbench-layercount-groundtruth:test"
// #nosec G204 -- tag is a fixed literal and dir is a t.TempDir() path,
// never external/user-controlled input.