Skip to content

Feature/ch 125 GitHub actions skaffold - #895

Draft
filippomc wants to merge 12 commits into
developfrom
feature/CH-125-github-actions-skaffold
Draft

filippomc wants to merge 12 commits into
developfrom
feature/CH-125-github-actions-skaffold

Conversation

@filippomc

Copy link
Copy Markdown
Collaborator

Closes CH-X

Implemented solution

...

How to test this PR

...

Sanity checks:

  • The pull request is explicitly linked to the relevant issue(s)
  • The issue is well described: clearly states the problem and the general proposed solution(s)
  • In this PR it is explicitly stated how to test the current change
  • The issue seta the scope and the type of issue (bug, story, task, etc.)
  • The relevant components are indicated in the issue (if any)
  • All the automated test checks are passing
  • All the linked issues are included in one Sprint
  • All the linked issues are in the Review state
  • All the linked issues are assigned

Breaking changes (select one):

  • The present changes do not change the preexisting api in any way
  • This PR and the issue are tagged as a breaking-change and the migration procedure is well described above

Possible deployment updates issues (select one):

  • There is no reason why deployments based on CloudHarness may break after the current update
  • This PR and the issue are tagged as alert:deployment

Test coverage (select one):

  • Tests for the relevant cases are included in this pr
  • The changes included in this pr are out of the current test coverage scope

Documentation (select one):

  • The documentation has been updated to match the current changes
  • The changes included in this PR are out of the current documentation scope

Nice to have (if relevant):

  • Screenshots of the changes
  • Explanatory video/animated gif

filippomc and others added 9 commits October 30, 2026 12:00
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 "-",

This branch was successfully deployed

1 active deployment
test — 6b0af817 Deployed Nov 6, 2026 by filippomc via Deploy #4
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants