From e2d267ce109d5876858ecd086f447d98e1b63aeb Mon Sep 17 00:00:00 2001 From: Brandon Chatham Date: Thu, 17 Sep 2026 07:44:42 +0000 Subject: [PATCH 1/2] dockerignore: re-include harness/**/*.tmpl so the integration-harness image builds Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> --- .dockerignore | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.dockerignore b/.dockerignore index b9fb09fc..0291b877 100644 --- a/.dockerignore +++ b/.dockerignore @@ -46,3 +46,8 @@ # nor passes the integration tag. !test/integration/**/*_test.go !test/integration/**/*.tmpl + +# The importable fault catalog and seiload Job renderer (harness/faults, +# harness/bench) //go:embed their *.yaml.tmpl manifests; the integration suite +# imports both, so the harness build needs them in the context too. +!harness/**/*.tmpl From 67865befa20bd6ffd2879256ff2c372b334f20b4 Mon Sep 17 00:00:00 2001 From: Brandon Chatham Date: Thu, 17 Sep 2026 07:50:46 +0000 Subject: [PATCH 2/2] ci: build the integration-harness image on PRs; drop dead test/integration tmpl re-include Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> --- .dockerignore | 6 ++---- .github/workflows/ci.yml | 11 +++++++++++ 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/.dockerignore b/.dockerignore index 0291b877..7c6f0b12 100644 --- a/.dockerignore +++ b/.dockerignore @@ -38,14 +38,12 @@ !scenarios/*/** # Re-include the integration harness suite for test/integration/Dockerfile. It is -# entirely *_test.go (excluded above) behind the integration build tag, and its -# fault/seiload manifests are //go:embed-ed *.tmpl (excluded by **). Without -# these the `go test -c -tags integration ./test/integration/` build fails with +# entirely *_test.go (excluded above) behind the integration build tag. Without +# this the `go test -c -tags integration ./test/integration/` build fails with # "directory not found". These also enter the controller + seitask build contexts # (both COPY . .) but are inert there — neither build compiles ./test/integration # nor passes the integration tag. !test/integration/**/*_test.go -!test/integration/**/*.tmpl # The importable fault catalog and seiload Job renderer (harness/faults, # harness/bench) //go:embed their *.yaml.tmpl manifests; the integration suite diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6862c663..5d54f9f9 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -107,6 +107,17 @@ jobs: platforms: linux/amd64 cache-from: type=gha,scope=sidecar cache-to: type=gha,scope=sidecar,mode=max + # The test suite's //go:embed targets live outside the paths the other two + # images compile, so only this build catches a .dockerignore gap for them. + - name: Build integration-harness image + uses: docker/build-push-action@v6 + with: + context: . + file: test/integration/Dockerfile + push: false + platforms: linux/amd64 + cache-from: type=gha,scope=integration-harness + cache-to: type=gha,scope=integration-harness,mode=max test: runs-on: ubuntu-latest