Repository navigation
Conversation
The prepare job uploads each build context merged across layers in .overrides/ as its own artifact, downloaded only by that image's build job; the deployment artifact carries the helm chart only. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
harness-deployment --write-skaffold-build writes deployment/skaffold-build.yaml with only the images whose content-hash tag is not in the registry (or forced): each a custom artifact running docker buildx build --push with the image's registry cache (mode=max), base images built in the same run as `requires`, the others pulled by their registry tag, every image tagged from a lookup table in the tag policy. The prepare job builds it with skaffold right after harness-deployment, replacing the per-image build jobs and the merged-context artifacts; a re-run asks the registry again and only builds what is missing. Stage and prod set cloudharness.build to null. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
deployment/skaffold-build.yaml gets a `test` section with every app's unit test commands, run in the app image's shell, and harness-deployment writes deployment/skaffold-images.json with every image of the deployment and its tag. prepare runs `skaffold test --build-artifacts` on it right after the build (skaffold build does not test), so the unit tests run against every image, rebuilt or not, and the tests-unit jobs are gone. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…t job The pipeline's skaffold file becomes deployment/skaffold-ci.yaml (--write-skaffold-ci, schema v4beta14) and gets a deploy section: the helm chart harness-deployment wrote, release and namespace named after the deployment namespace, secret values passed with --set-file from files under ~/.cloudharness/secrets, and a status check tolerating restarts for up to 15 minutes. The deploy job runs skaffold deploy with a constant skaffold.dev/run-id label: skaffold puts the run id in every pod template, so a new one per run would restart every pod. The certificate settle pause moves to the start of the API/E2E test jobs. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
| "Secret variable %s starts with the prefix GitHub reserves: the workflow reads it " | ||
| "from the %s secret instead", | ||
| name, | ||
| renamed, |
| "GitHub Actions workflow %s expects repository variables %s and secrets %s", | ||
| self.path.name, | ||
| ", ".join(sorted(references["vars"])) or "-", | ||
| ", ".join(sorted(references["secrets"])) or "-", |
…ure/CH-125-github-actions-skaffold
This branch was successfully deployed
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.
Closes CH-X
Implemented solution
...
How to test this PR
...
Sanity checks:
Breaking changes (select one):
breaking-changeand the migration procedure is well described abovePossible deployment updates issues (select one):
alert:deploymentTest coverage (select one):
Documentation (select one):
Nice to have (if relevant):