Repository navigation
ci: gate pull requests on a single Build Success check - #284
Merged
Merged
Conversation
Collapses the per-concern CI workflows into one ci.yaml whose jobs fan in to a Build Success job. All job bodies are unchanged. A ruleset can only require branches to be up to date when at least one status check is required, and requiring the individual jobs is unsafe: they are skipped for release-please PRs, and a required check that never reports blocks the pull request permanently. Build Success runs on !cancelled(), so it reports whether its dependencies pass or skip. The pull request trigger drops paths-ignore for the same reason. Those filters covered **.md and .release-please-manifest.json, which is the release-please PR footprint the per-job conditions already skip. Job ids form consistent families, each job name is derived from its id, and the jobs are ordered alphabetically with the fan-in last. Signed-off-by: Devin Buhl <devin@buhl.casa>
Greptile SummaryConsolidates the existing lint, unit-test, and end-to-end workflows into one CI workflow.
|
| Filename | Overview |
|---|---|
| .github/workflows/ci.yaml | Consolidates all validation jobs and adds a final aggregate status check without an identified actionable defect. |
| .github/workflows/e2e.yaml | Deletes the standalone E2E workflow after moving its unchanged job body into ci.yaml. |
| .github/workflows/lint.yaml | Deletes the standalone lint workflow after moving its unchanged job body into ci.yaml. |
| .github/workflows/tests.yaml | Deletes the standalone test workflow after moving its unchanged job body into ci.yaml. |
Reviews (1): Last reviewed commit: "ci: gate pull requests on a single Build..." | Re-trigger Greptile
Merged
doonga
pushed a commit
to greyrock-labs/home-ops
that referenced
this pull request
Aug 21, 2026
…fi-webhook (0.10.9 ➔ 0.10.11) (#384) This PR contains the following updates: | Package | Update | Change | |---|---|---| | [ghcr.io/home-operations/external-dns-unifi-webhook](https://github.com/home-operations/external-dns-unifi-webhook) | patch | `0.10.9` → `0.10.11` | --- ### Release Notes <details> <summary>home-operations/external-dns-unifi-webhook (ghcr.io/home-operations/external-dns-unifi-webhook)</summary> ### [`v0.10.11`](https://github.com/home-operations/external-dns-unifi-webhook/blob/HEAD/CHANGELOG.md#01011-2026-08-21) [Compare Source](home-operations/external-dns-unifi-webhook@0.10.10...0.10.11) ##### Bug Fixes - **go:** update to go 1.27.0 ([#​313](home-operations/external-dns-unifi-webhook#313)) ([931e211](home-operations/external-dns-unifi-webhook@931e211)) ### [`v0.10.10`](https://github.com/home-operations/external-dns-unifi-webhook/blob/HEAD/CHANGELOG.md#01010-2026-08-21) [Compare Source](home-operations/external-dns-unifi-webhook@0.10.9...0.10.10) ##### Features - **deps:** update module github.com/prometheus/client\_golang (v1.23.2 → v1.24.0) ([#​276](home-operations/external-dns-unifi-webhook#276)) ([cc63630](home-operations/external-dns-unifi-webhook@cc63630)) - **deps:** update module golang.org/x/sync (v0.21.0 → v0.22.0) ([#​271](home-operations/external-dns-unifi-webhook#271)) ([45f002d](home-operations/external-dns-unifi-webhook@45f002d)) - **go:** update module sigs.k8s.io/external-dns (v0.21.0 → v0.22.0) ([#​312](home-operations/external-dns-unifi-webhook#312)) ([ada3935](home-operations/external-dns-unifi-webhook@ada3935)) ##### Bug Fixes - **ci:** fail the merge gate on cancelled jobs, and key the lint cache on the toolchain ([#​293](home-operations/external-dns-unifi-webhook#293)) ([0d0abca](home-operations/external-dns-unifi-webhook@0d0abca)) - **deps:** update module github.com/prometheus/client\_golang (v1.24.0 → v1.24.1) ([#​281](home-operations/external-dns-unifi-webhook#281)) ([b5ca23b](home-operations/external-dns-unifi-webhook@b5ca23b)) - **go:** update module go (1.26.4 → 1.26.5) ([#​302](home-operations/external-dns-unifi-webhook#302)) ([ed85692](home-operations/external-dns-unifi-webhook@ed85692)) - **go:** update module go (1.26.5 → 1.26.6) ([#​307](home-operations/external-dns-unifi-webhook#307)) ([c3a0c92](home-operations/external-dns-unifi-webhook@c3a0c92)) ##### Documentation - add AGENTS.md with Go conventions ([#​296](home-operations/external-dns-unifi-webhook#296)) ([47d1025](home-operations/external-dns-unifi-webhook@47d1025)) - point the CI badge at ci.yaml ([#​285](home-operations/external-dns-unifi-webhook#285)) ([ac12f51](home-operations/external-dns-unifi-webhook@ac12f51)) ##### Styles - indent markdown at 2 to match embedded yaml ([#​277](home-operations/external-dns-unifi-webhook#277)) ([0194a09](home-operations/external-dns-unifi-webhook@0194a09)) ##### Build System - **mise:** add actionlint and refresh the lockfile ([#​286](home-operations/external-dns-unifi-webhook#286)) ([a9a633a](home-operations/external-dns-unifi-webhook@a9a633a)) ##### Continuous Integration - gate pull requests on a single Build Success check ([#​284](home-operations/external-dns-unifi-webhook#284)) ([f9244d6](home-operations/external-dns-unifi-webhook@f9244d6)) - **github-action:** Update action actions/checkout (v7.0.0 → v7.0.1) ([7d0f63a](home-operations/external-dns-unifi-webhook@7d0f63a)) - **github-action:** Update action actions/stale (v10.3.0 → v10.4.0) ([fed963e](home-operations/external-dns-unifi-webhook@fed963e)) - **github-action:** Update action actions/stale (v10.4.0 → v11.0.0) ([#​294](home-operations/external-dns-unifi-webhook#294)) ([39338f0](home-operations/external-dns-unifi-webhook@39338f0)) - **github-action:** Update action docker/github-builder (v1.12.0 → v1.13.0) ([7aaa300](home-operations/external-dns-unifi-webhook@7aaa300)) - **github-action:** Update action docker/github-builder (v1.13.0 → v1.14.0) ([dddd3a9](home-operations/external-dns-unifi-webhook@dddd3a9)) - **github-action:** Update action docker/github-builder (v1.14.0 → v1.15.0) ([#​292](home-operations/external-dns-unifi-webhook#292)) ([fc10a57](home-operations/external-dns-unifi-webhook@fc10a57)) - **github-action:** Update action docker/github-builder (v1.15.0 → v1.16.0) ([#​305](home-operations/external-dns-unifi-webhook#305)) ([a05131f](home-operations/external-dns-unifi-webhook@a05131f)) - **github-action:** Update action home-operations/.github/actions/workflow-lint (v1.0.2 → v1.0.3) ([#​301](home-operations/external-dns-unifi-webhook#301)) ([cd22d30](home-operations/external-dns-unifi-webhook@cd22d30)) - **github-action:** Update action jdx/mise-action (v4.2.0 → v4.2.1) ([39bb0fb](home-operations/external-dns-unifi-webhook@39bb0fb)) - **github-action:** Update action jdx/mise-action (v4.2.1 → v4.2.2) ([#​288](home-operations/external-dns-unifi-webhook#288)) ([b371250](home-operations/external-dns-unifi-webhook@b371250)) - **github-action:** Update action jdx/mise-action (v4.2.2 → v4.2.3) ([#​290](home-operations/external-dns-unifi-webhook#290)) ([af33171](home-operations/external-dns-unifi-webhook@af33171)) - **github-action:** Update action jdx/mise-action (v4.2.3 → v4.2.4) ([#​303](home-operations/external-dns-unifi-webhook#303)) ([f9e4782](home-operations/external-dns-unifi-webhook@f9e4782)) - **github-action:** update workflow-lint action (1.0.0 → v1.0.2) ([#​298](home-operations/external-dns-unifi-webhook#298)) ([b36f7e7](home-operations/external-dns-unifi-webhook@b36f7e7)) - lint workflows with the shared composite action ([#​287](home-operations/external-dns-unifi-webhook#287)) ([24556e2](home-operations/external-dns-unifi-webhook@24556e2)) - **renovate:** reactive dashboard + config runs in one workflow ([#​282](home-operations/external-dns-unifi-webhook#282)) ([73dc821](home-operations/external-dns-unifi-webhook@73dc821)) - skip release-please churn and stop cancelling main runs ([#​275](home-operations/external-dns-unifi-webhook#275)) ([9608dc2](home-operations/external-dns-unifi-webhook@9608dc2)) - skip release-please version-bump PRs in checks ([#​283](home-operations/external-dns-unifi-webhook#283)) ([45c7f27](home-operations/external-dns-unifi-webhook@45c7f27)) - wire govulncheck into mise and CI ([#​300](home-operations/external-dns-unifi-webhook#300)) ([8ea7966](home-operations/external-dns-unifi-webhook@8ea7966)) ##### Miscellaneous Chores - **github-action:** update action jdx/mise-action (v4.2.4 → v4.2.5) ([#​309](home-operations/external-dns-unifi-webhook#309)) ([6291830](home-operations/external-dns-unifi-webhook@6291830)) - **go:** pin go directive to 1.26.1 ([#​310](home-operations/external-dns-unifi-webhook#310)) ([0674b98](home-operations/external-dns-unifi-webhook@0674b98)) - **mise:** Lock file maintenance tool ([#​280](home-operations/external-dns-unifi-webhook#280)) ([a140d90](home-operations/external-dns-unifi-webhook@a140d90)) - **mise:** prune lockfile to used platforms ([#​299](home-operations/external-dns-unifi-webhook#299)) ([d8cd350](home-operations/external-dns-unifi-webhook@d8cd350)) - **mise:** Update tool go (1.26.4 → 1.26.5) ([#​272](home-operations/external-dns-unifi-webhook#272)) ([4e08b20](home-operations/external-dns-unifi-webhook@4e08b20)) - **mise:** update tool go (1.26.5 → 1.26.6) ([#​311](home-operations/external-dns-unifi-webhook#311)) ([25f566e](home-operations/external-dns-unifi-webhook@25f566e)) - **mise:** update tool go:golang.org/x/vuln/cmd/govulncheck (1.6.0 → v1.7.0) ([#​308](home-operations/external-dns-unifi-webhook#308)) ([0874d3f](home-operations/external-dns-unifi-webhook@0874d3f)) - **mise:** Update tool lefthook (2.1.9 → 2.1.10) ([#​270](home-operations/external-dns-unifi-webhook#270)) ([94a9f77](home-operations/external-dns-unifi-webhook@94a9f77)) - **mise:** Update tool oxfmt (0.57.0 → 0.58.0) ([#​268](home-operations/external-dns-unifi-webhook#268)) ([18cdddf](home-operations/external-dns-unifi-webhook@18cdddf)) - **mise:** Update tool oxfmt (0.58.0 → 0.59.0) ([#​273](home-operations/external-dns-unifi-webhook#273)) ([1d1cf5b](home-operations/external-dns-unifi-webhook@1d1cf5b)) - **mise:** Update tool oxfmt (0.59.0 → 0.60.0) ([#​279](home-operations/external-dns-unifi-webhook#279)) ([ddcdf65](home-operations/external-dns-unifi-webhook@ddcdf65)) - **mise:** Update tool oxfmt (0.60.0 → 0.61.0) ([#​289](home-operations/external-dns-unifi-webhook#289)) ([ebbeed6](home-operations/external-dns-unifi-webhook@ebbeed6)) - **mise:** Update tool oxfmt (0.61.0 → 0.62.0) ([#​304](home-operations/external-dns-unifi-webhook#304)) ([b71b144](home-operations/external-dns-unifi-webhook@b71b144)) - **mise:** Update tool oxfmt (0.62.0 → 0.63.0) ([#​306](home-operations/external-dns-unifi-webhook#306)) ([6a018b0](home-operations/external-dns-unifi-webhook@6a018b0)) - **mise:** Update tool zizmor (1.26.1 → 1.27.0) ([#​274](home-operations/external-dns-unifi-webhook#274)) ([573fa64](home-operations/external-dns-unifi-webhook@573fa64)) - **mise:** Update tool zizmor (1.27.0 → 1.28.0) ([#​278](home-operations/external-dns-unifi-webhook#278)) ([2f39159](home-operations/external-dns-unifi-webhook@2f39159)) - **mise:** Update tool zizmor (1.28.0 → 1.29.0) ([#​297](home-operations/external-dns-unifi-webhook#297)) ([3173103](home-operations/external-dns-unifi-webhook@3173103)) - **release-please:** standardize the release pull request title pattern ([#​295](home-operations/external-dns-unifi-webhook#295)) ([5f825de](home-operations/external-dns-unifi-webhook@5f825de)) - standardize release-please changelog sections ([#​291](home-operations/external-dns-unifi-webhook#291)) ([5f0866a](home-operations/external-dns-unifi-webhook@5f0866a)) </details> --- ### Configuration 📅 **Schedule**: (in timezone America/New_York) - 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 these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate CLI](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4zMS4wIiwidXBkYXRlZEluVmVyIjoiNDQuMzEuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsicmVub3ZhdGUvY29udGFpbmVyIiwidHlwZS9wYXRjaCJdfQ==--> Reviewed-on: https://git.greyrock.io/greyrock-labs/home-ops/pulls/384
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.
Overview
Collapses the per-concern CI workflows into a single
ci.yamlwhose jobs fan into a
Build Successjob, so a ruleset can require branches to be up to datebefore merge.
All job bodies are unchanged. Job ids form consistent families, each
name:isderived from its id, and jobs are ordered alphabetically with the fan-in last.
Same change as home-operations/kromgo#321.
Additional information
GitHub rejects
strict_required_status_checks_policyunless at least one checkis required, and the individual jobs are unsafe to require: they are skipped for
release-please PRs, and a required check that never reports blocks the PR
permanently.
Build Successruns on!cancelled(), so it reports whether itsdependencies pass or skip.
The pull request trigger drops
paths-ignorefor the same reason. Those filterscovered
**.mdand.release-please-manifest.json— the release-please PRfootprint that the per-job conditions already skip.
Verified before pushing: every job body is byte-identical to
origin/main,Build Successgates every job, andactionlint,zizmorandoxfmtare clean.Requirements
written by an AI agent (Claude Code) under maintainer direction, as part of a
wider branch-protection rollout. Per the AI Usage Policy this exceeds assistive
use and needs maintainer review before merge.