ci: build the e2e image once and hand it to every leg - #442
Merged
Conversation
Every leg rebuilt the controller image itself, which meant four builds racing one GHA cache scope and an ordering hack where only the 3cp-0w leg wrote the scope back. A new e2e-image job builds it once, exports it with docker save, and hands it to the matrix as an artifact. Each leg loads it into its own runner-local registry while its VMs boot, so the nodes still pull over loopback and every leg now installs identical bytes. Export uses shell: bash for the pipefail the implicit `bash -e` default lacks, or a failed save would pass the step on gzip's exit status and hand every leg a truncated tarball. Signed-off-by: Devin Buhl <devin@buhl.casa>
Greptile SummaryThe PR centralizes the end-to-end controller image build and distributes the resulting image artifact to every test leg.
|
| Filename | Overview |
|---|---|
| .github/workflows/ci.yaml | The new build-once artifact handoff preserves registry naming, job ordering, image availability, and aggregate status propagation without an identified defect. |
| .github/zizmor.yml | Updates the existing cache-poisoning exemption rationale to accurately describe the centralized image-build job. |
| test/e2e-qemu/README.md | Documents the new CI image build, artifact distribution, and runner-local registry workflow. |
| test/e2e-qemu/test.sh | Updates comments to reflect that CI now loads a prebuilt image while the cluster boots, without changing runtime behavior. |
Reviews (1): Last reviewed commit: "ci: build the e2e image once and hand it..." | Re-trigger Greptile
onedr0p
enabled auto-merge
July 29, 2026 18:02
gabrielcosi
pushed a commit
to gabrielcosi/home-ops
that referenced
this pull request
Jul 29, 2026
…4.1 ➔ 0.4.3) (#186) This PR contains the following updates: | Package | Update | Change | |---|---|---| | [ghcr.io/home-operations/charts/tuppr](https://github.com/home-operations/tuppr) | patch | `0.4.1` → `0.4.3` | --- ### Release Notes <details> <summary>home-operations/tuppr (ghcr.io/home-operations/charts/tuppr)</summary> ### [`v0.4.3`](https://github.com/home-operations/tuppr/blob/HEAD/CHANGELOG.md#043-2026-07-29) [Compare Source](home-operations/tuppr@0.4.1...0.4.3) ##### Features - pre-pull the Talos installer image before starting a run ([#​445](home-operations/tuppr#445)) ([224074f](home-operations/tuppr@224074f)) ##### Bug Fixes - **go:** update module github.com/netresearch/go-cron (v0.15.0 → v0.15.1) ([#​441](home-operations/tuppr#441)) ([dcb45da](home-operations/tuppr@dcb45da)) ##### Continuous Integration - build the e2e image once and hand it to every leg ([#​442](home-operations/tuppr#442)) ([562e9ac](home-operations/tuppr@562e9ac)) - **github-action:** Update action jdx/mise-action (v4.2.2 → v4.2.3) ([#​437](home-operations/tuppr#437)) ([0e13632](home-operations/tuppr@0e13632)) ##### Miscellaneous Chores - **mise:** Update tool aqua:astral-sh/uv (0.11.32 → 0.12.0) ([#​440](home-operations/tuppr#440)) ([caf8759](home-operations/tuppr@caf8759)) - standardize release-please changelog sections ([#​438](home-operations/tuppr#438)) ([0d719dd](home-operations/tuppr@0d719dd)) </details> --- ### Configuration 📅 **Schedule**: (in timezone Europe/Berlin) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4wLjAiLCJ1cGRhdGVkSW5WZXIiOiI0NC4wLjAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbInJlbm92YXRlL2NvbnRhaW5lciIsInR5cGUvcGF0Y2giXX0=--> Reviewed-on: https://git.xcd.dev/gabrielcosi/home-ops/pulls/186
ajgon
pushed a commit
to deedee-ops/home-ops
that referenced
this pull request
Jul 30, 2026
…4.1 ➔ 0.4.3) (#474) This PR contains the following updates: | Package | Update | Change | |---|---|---| | [ghcr.io/home-operations/charts/tuppr](https://github.com/home-operations/tuppr) | patch | `0.4.1` → `0.4.3` | --- ### Release Notes <details> <summary>home-operations/tuppr (ghcr.io/home-operations/charts/tuppr)</summary> ### [`v0.4.3`](https://github.com/home-operations/tuppr/blob/HEAD/CHANGELOG.md#043-2026-07-29) [Compare Source](home-operations/tuppr@0.4.1...0.4.3) ##### Features - pre-pull the Talos installer image before starting a run ([#​445](home-operations/tuppr#445)) ([224074f](home-operations/tuppr@224074f)) ##### Bug Fixes - **go:** update module github.com/netresearch/go-cron (v0.15.0 → v0.15.1) ([#​441](home-operations/tuppr#441)) ([dcb45da](home-operations/tuppr@dcb45da)) ##### Continuous Integration - build the e2e image once and hand it to every leg ([#​442](home-operations/tuppr#442)) ([562e9ac](home-operations/tuppr@562e9ac)) - **github-action:** Update action jdx/mise-action (v4.2.2 → v4.2.3) ([#​437](home-operations/tuppr#437)) ([0e13632](home-operations/tuppr@0e13632)) ##### Miscellaneous Chores - **mise:** Update tool aqua:astral-sh/uv (0.11.32 → 0.12.0) ([#​440](home-operations/tuppr#440)) ([caf8759](home-operations/tuppr@caf8759)) - standardize release-please changelog sections ([#​438](home-operations/tuppr#438)) ([0d719dd](home-operations/tuppr@0d719dd)) </details> --- ### Configuration 📅 **Schedule**: (in timezone Europe/Warsaw) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4yLjEiLCJ1cGRhdGVkSW5WZXIiOiI0NC4yLjEiLCJ0YXJnZXRCcmFuY2giOiJtYXN0ZXIiLCJsYWJlbHMiOlsicmVub3ZhdGUvY29udGFpbmVyIiwidHlwZS9wYXRjaCJdfQ==--> Reviewed-on: https://git.ajgon.casa/deedee/mark13/pulls/474
VizzleTF
added a commit
to VizzleTF/homelab
that referenced
this pull request
Aug 2, 2026
This PR contains the following updates: | Package | Update | Change | |---|---|---| | [argo-cd](https://github.com/argoproj/argo-helm) | patch | `10.2.1` → `10.2.2` | | [cert-manager](https://cert-manager.io) ([source](https://github.com/cert-manager/cert-manager)) | patch | `v1.21.0` → `v1.21.1` | | [keda](https://github.com/kedacore/keda) | patch | `2.20.1` → `2.20.2` | | [plugin-barman-cloud](https://cloudnative-pg.io) ([source](https://github.com/cloudnative-pg/charts)) | patch | `0.7.0` → `0.7.1` | | [rclone/rclone](https://github.com/rclone/rclone) | minor | `1.74` → `1.75` | | [renovate](https://github.com/renovatebot/renovate) ([source](https://github.com/renovatebot/helm-charts)) | minor | `46.249.0` → `46.251.0` | | robusta | minor | `0.45.0` → `0.46.0` | | [tuppr](https://github.com/home-operations/tuppr) | patch | `0.4.1` → `0.4.6` | --- ### Release Notes <details> <summary>argoproj/argo-helm (argo-cd)</summary> ### [`v10.2.2`](https://github.com/argoproj/argo-helm/releases/tag/argo-cd-10.2.2) [Compare Source](argoproj/argo-helm@argo-cd-10.2.1...argo-cd-10.2.2) A Helm chart for Argo CD, a declarative, GitOps continuous delivery tool for Kubernetes. #### What's Changed - chore(deps): bump actions/labeler from 6.2.0 to 7.0.0 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​3980](argoproj/argo-helm#3980) - chore(deps): bump the dependencies group with 2 updates by [@​dependabot](https://github.com/dependabot)\[bot] in [#​3979](argoproj/argo-helm#3979) - chore(deps): update renovatebot/github-action action to v46.1.21 by [@​argoproj-renovate](https://github.com/argoproj-renovate)\[bot] in [#​3981](argoproj/argo-helm#3981) - chore(deps): update renovatebot/github-action action to v46.2.0 by [@​argoproj-renovate](https://github.com/argoproj-renovate)\[bot] in [#​3988](argoproj/argo-helm#3988) - chore(argo-cd): Update dependency argoproj/argo-cd to v3.4.6 by [@​argoproj-renovate](https://github.com/argoproj-renovate)\[bot] in [#​3992](argoproj/argo-helm#3992) **Full Changelog**: <argoproj/argo-helm@argo-workflows-1.0.23...argo-cd-10.2.2> </details> <details> <summary>cert-manager/cert-manager (cert-manager)</summary> ### [`v1.21.1`](https://github.com/cert-manager/cert-manager/releases/tag/v1.21.1) [Compare Source](cert-manager/cert-manager@v1.21.0...v1.21.1) cert-manager is the easiest way to automatically manage certificates in Kubernetes and OpenShift clusters. v1.21.1 fixes a controller panic for Certificates with `spec.renewal.policy: Disabled`, a regression in 1.21.0 which caused log spam and dropped Secret informer events, Issuers and ClusterIssuers getting stuck at `Ready=False` (`InvalidSolver`) when a referenced ACME DNS-01 solver Secret is created after the Issuer, and the commented Gateway API example in the Helm chart values. It also updates several dependencies to fix reported security vulnerabilities. All users should upgrade. #### Changes by Kind ##### Bug or Regression - Avoid controller panic if a Certificate sets spec.renewal.policy=Disabled ([#​9038](cert-manager/cert-manager#9038), [@​sklirg](https://github.com/sklirg)) - Fix Issuer/ClusterIssuer stuck at Ready=False/InvalidSolver after a missing ACME DNS-01 solver Secret is created ([#​9083](cert-manager/cert-manager#9083), [@​SebTardif](https://github.com/SebTardif)) - Fix log spam and dropped Secret informer events for non-cert-manager Secrets, caused by a generics regression introduced in 1.21.0. ([#​9037](cert-manager/cert-manager#9037), [@​wallrj-cyberark](https://github.com/wallrj-cyberark)) - Fixed the commented Gateway API config example in the Helm chart values to use `gatewayAPI.enabled` instead of the invalid `gatewayAPI.enable`. ([#​9012](cert-manager/cert-manager#9012), [@​mateenali66](https://github.com/mateenali66)) ##### Other (Cleanup or Flake) - Bump `golang.org/x/text` to v0.40.0 to fix a reported security vulnerability ([#​9039](cert-manager/cert-manager#9039), [@​wallrj-cyberark](https://github.com/wallrj-cyberark)) - Bump `google.golang.org/grpc` to v1.82.1 to fix a reported security vulnerability ([#​9063](cert-manager/cert-manager#9063)) - Bump `github.com/google/cel-go` to v0.29.0 to fix a reported security vulnerability ([#​9072](cert-manager/cert-manager#9072)) - Bump `go.opentelemetry.io/otel` to v1.44.0 to fix a reported security vulnerability ([#​9073](cert-manager/cert-manager#9073)) - Update distroless base images ([#​9000](cert-manager/cert-manager#9000), [#​9025](cert-manager/cert-manager#9025)) </details> <details> <summary>kedacore/keda (keda)</summary> ### [`v2.20.2`](https://github.com/kedacore/keda/releases/tag/v2.20.2) [Compare Source](kedacore/keda@v2.20.1...v2.20.2) ### Release KEDA v2.20.2 🚀⚠️ ⚠️ ⚠️ ⚠️ ⚠️ Please read upgrade notes if you are upgrading from version < 2.20.0: <https://github.com/kedacore/keda/releases/tag/v2.20.0>⚠️ ⚠️ ⚠️ ⚠️ ⚠️ ##### Improvements - **General**: Introduce a dedicated `HPAActive` condition on `ScaledObject` mirroring the HPA's own `ScalingActive` status, so transient HPA metric gaps no longer flip the `Ready` condition to `False` ([#​7914](kedacore/keda#7914)) ##### Fixes - **General**: Fix concurrent map writes panic in the shared root CA `CertPool` ([#​7910](kedacore/keda#7910)) - **General**: Fix nil pointer dereference in AWS Secret Manager `TriggerAuthentication` when `awsSecretManager.credentials` is omitted and no `awsSecretManager.podIdentity` is set ([#​7927](kedacore/keda#7927)) - **General**: Fix nil pointer dereference in `customScalingStrategy.GetEffectiveMaxScale` when `customScalingQueueLengthDeduction` is omitted; the optional field is now treated as zero deduction instead of panicking ([#​7798](kedacore/keda#7798)) - **General**: Fix nil pointer dereference in `GetCurrentReplicas` when a Deployment/StatefulSet/ReplicaSet is returned from the informer cache with an undefaulted `spec.replicas`; a nil value is now treated as the Kubernetes default of 1 instead of panicking ([#​7863](kedacore/keda#7863)) - **General**: Fix `ScaledJob` CRD validation to include "default" as a valid value for `scalingStrategy.strategy` ([#​7855](kedacore/keda#7855)) - **General**: Guard `GetCurrentReplicas` against nil `Status.ScaleTargetGVKR` to prevent operator panics under the cache race documented in ([#​4389](kedacore/keda#4389)) / ([#​4955](kedacore/keda#4955)) - **General**: Restore core `""` API group in events RBAC so that client-go's event broadcaster can write legacy events ([#​7922](kedacore/keda#7922)) - **General**: Restore gRPC reconnect backoff in the metrics service client; an unset `Backoff` in `WithConnectParams` disabled backoff and caused a zero-delay reconnect loop that flooded logs when keda-operator was unreachable ([#​7856](kedacore/keda#7856)) - **General**: Share HTTP transports across scalers to reuse connection pools and avoid re-dial storms at high ScaledObject counts ([#​7789](kedacore/keda#7789)) - **General**: Treat negative external metric values as zero to prevent incorrect HPA scaling ([#​7880](kedacore/keda#7880)) - **Azure Blob Storage Scaler**: Fix `globPattern` never matching when written in path-style with a leading `/`, since blob names never have one ([#​6492](kedacore/keda#6492)) - **MongoDB Scaler**: Disconnect the client when the initial `Ping` fails so the background topology-monitoring connections opened by `mongo.Connect` are not leaked ([#​5612](kedacore/keda#5612)) #### New Contributors - [@​Goutham-Annem](https://github.com/Goutham-Annem) made their first contribution in [#​7858](kedacore/keda#7858) - [@​simplyaduck](https://github.com/simplyaduck) made their first contribution in [#​7857](kedacore/keda#7857) - [@​itxaiohanglover](https://github.com/itxaiohanglover) made their first contribution in [#​7871](kedacore/keda#7871) - [@​orfeldman-evolinq](https://github.com/orfeldman-evolinq) made their first contribution in [#​7904](kedacore/keda#7904) - [@​vishnu97770](https://github.com/vishnu97770) made their first contribution in [#​7928](kedacore/keda#7928) - [@​sobol-sudo](https://github.com/sobol-sudo) made their first contribution in [#​7932](kedacore/keda#7932) **Full Changelog**: <kedacore/keda@v2.20.1...v2.20.2> </details> <details> <summary>cloudnative-pg/charts (plugin-barman-cloud)</summary> ### [`v0.7.1`](https://github.com/cloudnative-pg/charts/releases/tag/plugin-barman-cloud-v0.7.1) [Compare Source](cloudnative-pg/charts@plugin-barman-cloud-v0.7.0...plugin-barman-cloud-v0.7.1) Helm Chart for CloudNativePG's CNPG-I backup plugin using Barman Cloud #### What's Changed - fix: respect namespaceOverride for PrometheusRule generation by [@​tamcore](https://github.com/tamcore) in [#​562](cloudnative-pg/charts#562) - Release plugin-barman-cloud-v0.7.1 by [@​cnpg-bot](https://github.com/cnpg-bot) in [#​976](cloudnative-pg/charts#976) #### New Contributors - [@​tamcore](https://github.com/tamcore) made their first contribution in [#​562](cloudnative-pg/charts#562) **Full Changelog**: <cloudnative-pg/charts@cluster-v0.8.1...plugin-barman-cloud-v0.7.1> </details> <details> <summary>renovatebot/helm-charts (renovate)</summary> ### [`v46.251.0`](https://github.com/renovatebot/helm-charts/releases/tag/renovate-46.251.0) [Compare Source](renovatebot/helm-charts@renovate-46.250.0...renovate-46.251.0) Universal dependency update tool that fits into your workflows. #### What's Changed - fix: update ghcr.io/renovatebot/renovate docker tag to v43.288.0 by [@​renovate](https://github.com/renovate)\[bot] in [#​4582](renovatebot/helm-charts#4582) **Full Changelog**: <renovatebot/helm-charts@renovate-46.250.0...renovate-46.251.0> ### [`v46.250.0`](https://github.com/renovatebot/helm-charts/releases/tag/renovate-46.250.0) [Compare Source](renovatebot/helm-charts@renovate-46.249.1...renovate-46.250.0) Universal dependency update tool that fits into your workflows. #### What's Changed - fix: update ghcr.io/renovatebot/renovate docker tag to v43.287.0 by [@​renovate](https://github.com/renovate)\[bot] in [#​4581](renovatebot/helm-charts#4581) **Full Changelog**: <renovatebot/helm-charts@renovate-46.249.1...renovate-46.250.0> ### [`v46.249.1`](https://github.com/renovatebot/helm-charts/releases/tag/renovate-46.249.1) [Compare Source](renovatebot/helm-charts@renovate-46.249.0...renovate-46.249.1) Universal dependency update tool that fits into your workflows. #### What's Changed - fix: update ghcr.io/renovatebot/renovate docker tag to v43.286.1 by [@​renovate](https://github.com/renovate)\[bot] in [#​4580](renovatebot/helm-charts#4580) **Full Changelog**: <renovatebot/helm-charts@renovate-46.249.0...renovate-46.249.1> </details> <details> <summary>home-operations/tuppr (tuppr)</summary> ### [`v0.4.6`](https://github.com/home-operations/tuppr/blob/HEAD/CHANGELOG.md#046-2026-08-01) [Compare Source](home-operations/tuppr@0.4.5...0.4.6) ##### Bug Fixes - **status:** keep conditions and history truthful ([#​466](home-operations/tuppr#466)) ([2f85931](home-operations/tuppr@2f85931)) ##### Miscellaneous Chores - **release-please:** standardize the release pull request title pattern ([#​464](home-operations/tuppr#464)) ([14e1955](home-operations/tuppr@14e1955)) ### [`v0.4.5`](https://github.com/home-operations/tuppr/blob/HEAD/CHANGELOG.md#045-2026-08-01) [Compare Source](home-operations/tuppr@0.4.4...0.4.5) ##### Features - **prepull:** fail stalled pulls fast, surface and back off failure streaks ([#​462](home-operations/tuppr#462)) ([c15b955](home-operations/tuppr@c15b955)) ##### Miscellaneous Chores - **deps:** lock file maintenance (pep621) ([#​461](home-operations/tuppr#461)) ([097c160](home-operations/tuppr@097c160)) ### [`v0.4.4`](https://github.com/home-operations/tuppr/blob/HEAD/CHANGELOG.md#044-2026-07-31) [Compare Source](home-operations/tuppr@0.4.3...0.4.4) ##### Features - **go:** update module google.golang.org/grpc (v1.82.1 → v1.83.0) ([#​446](home-operations/tuppr#446)) ([f9419a6](home-operations/tuppr@f9419a6)) - support Talos 1.14 upgrades end to end ([#​453](home-operations/tuppr#453)) ([087388d](home-operations/tuppr@087388d)) ##### Bug Fixes - **ci:** key the lint cache on the toolchain and drop the prefix fallback ([#​448](home-operations/tuppr#448)) ([ef37fdb](home-operations/tuppr@ef37fdb)) - **go:** update module github.com/google/go-containerregistry (v0.21.7 → v0.21.8) ([#​454](home-operations/tuppr#454)) ([17ef959](home-operations/tuppr@17ef959)) ##### Continuous Integration - **e2e:** adopt talosctl-cluster-action v0.1.6 ([#​452](home-operations/tuppr#452)) ([7fd237f](home-operations/tuppr@7fd237f)) - **github-action:** Update action actions/stale (v10.4.0 → v11.0.0) ([#​450](home-operations/tuppr#450)) ([70d3717](home-operations/tuppr@70d3717)) - **github-action:** Update action docker/github-builder (v1.14.0 → v1.15.0) ([#​447](home-operations/tuppr#447)) ([10b33dd](home-operations/tuppr@10b33dd)) - **github-action:** Update action docker/login-action (v4.5.1 → v4.5.2) ([#​451](home-operations/tuppr#451)) ([fe223f7](home-operations/tuppr@fe223f7)) ##### Miscellaneous Chores - **mise:** Update tool aqua:astral-sh/uv (0.12.0 → 0.12.1) ([#​456](home-operations/tuppr#456)) ([5c02a0d](home-operations/tuppr@5c02a0d)) ### [`v0.4.3`](https://github.com/home-operations/tuppr/blob/HEAD/CHANGELOG.md#043-2026-07-29) [Compare Source](home-operations/tuppr@0.4.1...0.4.3) ##### Features - pre-pull the Talos installer image before starting a run ([#​445](home-operations/tuppr#445)) ([224074f](home-operations/tuppr@224074f)) ##### Bug Fixes - **go:** update module github.com/netresearch/go-cron (v0.15.0 → v0.15.1) ([#​441](home-operations/tuppr#441)) ([dcb45da](home-operations/tuppr@dcb45da)) ##### Continuous Integration - build the e2e image once and hand it to every leg ([#​442](home-operations/tuppr#442)) ([562e9ac](home-operations/tuppr@562e9ac)) - **github-action:** Update action jdx/mise-action (v4.2.2 → v4.2.3) ([#​437](home-operations/tuppr#437)) ([0e13632](home-operations/tuppr@0e13632)) ##### Miscellaneous Chores - **mise:** Update tool aqua:astral-sh/uv (0.11.32 → 0.12.0) ([#​440](home-operations/tuppr#440)) ([caf8759](home-operations/tuppr@caf8759)) - standardize release-please changelog sections ([#​438](home-operations/tuppr#438)) ([0d719dd](home-operations/tuppr@0d719dd)) </details> --- ### Configuration 📅 **Schedule**: (in timezone UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yODYuMCIsInVwZGF0ZWRJblZlciI6IjQzLjI4Ni4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJhdXRvbWVyZ2UiLCJkZXBlbmRlbmNpZXMiXX0=-->
eleboucher
pushed a commit
to eleboucher/homelab
that referenced
this pull request
Aug 2, 2026
…4.1 ➔ 0.4.6) (#1765) This PR contains the following updates: | Package | Update | Change | |---|---|---| | [ghcr.io/home-operations/charts/tuppr](https://github.com/home-operations/tuppr) | patch | `0.4.1` → `0.4.6` | --- ### Release Notes <details> <summary>home-operations/tuppr (ghcr.io/home-operations/charts/tuppr)</summary> ### [`v0.4.6`](https://github.com/home-operations/tuppr/blob/HEAD/CHANGELOG.md#046-2026-08-01) [Compare Source](home-operations/tuppr@0.4.5...0.4.6) ##### Bug Fixes - **status:** keep conditions and history truthful ([#​466](home-operations/tuppr#466)) ([2f85931](home-operations/tuppr@2f85931)) ##### Miscellaneous Chores - **release-please:** standardize the release pull request title pattern ([#​464](home-operations/tuppr#464)) ([14e1955](home-operations/tuppr@14e1955)) ### [`v0.4.5`](https://github.com/home-operations/tuppr/blob/HEAD/CHANGELOG.md#045-2026-08-01) [Compare Source](home-operations/tuppr@0.4.4...0.4.5) ##### Features - **prepull:** fail stalled pulls fast, surface and back off failure streaks ([#​462](home-operations/tuppr#462)) ([c15b955](home-operations/tuppr@c15b955)) ##### Miscellaneous Chores - **deps:** lock file maintenance (pep621) ([#​461](home-operations/tuppr#461)) ([097c160](home-operations/tuppr@097c160)) ### [`v0.4.4`](https://github.com/home-operations/tuppr/blob/HEAD/CHANGELOG.md#044-2026-07-31) [Compare Source](home-operations/tuppr@0.4.3...0.4.4) ##### Features - **go:** update module google.golang.org/grpc (v1.82.1 → v1.83.0) ([#​446](home-operations/tuppr#446)) ([f9419a6](home-operations/tuppr@f9419a6)) - support Talos 1.14 upgrades end to end ([#​453](home-operations/tuppr#453)) ([087388d](home-operations/tuppr@087388d)) ##### Bug Fixes - **ci:** key the lint cache on the toolchain and drop the prefix fallback ([#​448](home-operations/tuppr#448)) ([ef37fdb](home-operations/tuppr@ef37fdb)) - **go:** update module github.com/google/go-containerregistry (v0.21.7 → v0.21.8) ([#​454](home-operations/tuppr#454)) ([17ef959](home-operations/tuppr@17ef959)) ##### Continuous Integration - **e2e:** adopt talosctl-cluster-action v0.1.6 ([#​452](home-operations/tuppr#452)) ([7fd237f](home-operations/tuppr@7fd237f)) - **github-action:** Update action actions/stale (v10.4.0 → v11.0.0) ([#​450](home-operations/tuppr#450)) ([70d3717](home-operations/tuppr@70d3717)) - **github-action:** Update action docker/github-builder (v1.14.0 → v1.15.0) ([#​447](home-operations/tuppr#447)) ([10b33dd](home-operations/tuppr@10b33dd)) - **github-action:** Update action docker/login-action (v4.5.1 → v4.5.2) ([#​451](home-operations/tuppr#451)) ([fe223f7](home-operations/tuppr@fe223f7)) ##### Miscellaneous Chores - **mise:** Update tool aqua:astral-sh/uv (0.12.0 → 0.12.1) ([#​456](home-operations/tuppr#456)) ([5c02a0d](home-operations/tuppr@5c02a0d)) ### [`v0.4.3`](https://github.com/home-operations/tuppr/blob/HEAD/CHANGELOG.md#043-2026-07-29) [Compare Source](home-operations/tuppr@0.4.1...0.4.3) ##### Features - pre-pull the Talos installer image before starting a run ([#​445](home-operations/tuppr#445)) ([224074f](home-operations/tuppr@224074f)) ##### Bug Fixes - **go:** update module github.com/netresearch/go-cron (v0.15.0 → v0.15.1) ([#​441](home-operations/tuppr#441)) ([dcb45da](home-operations/tuppr@dcb45da)) ##### Continuous Integration - build the e2e image once and hand it to every leg ([#​442](home-operations/tuppr#442)) ([562e9ac](home-operations/tuppr@562e9ac)) - **github-action:** Update action jdx/mise-action (v4.2.2 → v4.2.3) ([#​437](home-operations/tuppr#437)) ([0e13632](home-operations/tuppr@0e13632)) ##### Miscellaneous Chores - **mise:** Update tool aqua:astral-sh/uv (0.11.32 → 0.12.0) ([#​440](home-operations/tuppr#440)) ([caf8759](home-operations/tuppr@caf8759)) - standardize release-please changelog sections ([#​438](home-operations/tuppr#438)) ([0d719dd](home-operations/tuppr@0d719dd)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMDEuMSIsInVwZGF0ZWRJblZlciI6IjQzLjEwMS4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJyZW5vdmF0ZS9jb250YWluZXIiLCJ0eXBlL3BhdGNoIl19--> Reviewed-on: https://git.erwanleboucher.dev/eleboucher/homelab/pulls/1765
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.
Ports the e2e half of home-operations/miroir#371 to tuppr.
Every leg rebuilt the controller image itself: four builds racing one GHA cache scope, with an ordering hack (
matrix.leg == '3cp-0w') so only one leg wrote the scope back. A newe2e-imagejob builds it once, exports it withdocker save, and hands it to the matrix as an artifact. Each leg loads it into its own runner-local registry while its VMs boot, so the nodes still pull over loopback and every leg now installs identical bytes.The leg-splitting half of the miroir change does not apply here: tuppr's legs are already one cluster shape each, with no doubled-up suite to separate.
PUSH_IMAGEmoves to the workflow env, since both jobs now use it;CONTROLLER_IMAGEstays on the legs.shell: bashfor the pipefail the implicitbash -edefault lacks, or a failed save would pass the step on gzip's exit status and hand every leg a truncated tarball.cache-poisoningnote is rewritten for the job that now does the building, andtest/e2e-qemu/README.mdfor how CI gets its image.Verified locally:
actionlintandzizmorclean under the same invocation the shared workflow-lint action uses, and the save/gzip/load/push sequence smoke-tested against a loopbackregistry:3.