Skip to content

fix(ci): modernize build pipeline, restore Dakota E2E, event-driven releases - #598

Merged
castrojo merged 2 commits into
mainfrom
fix/ci-automation-audit
Jun 11, 2026
Merged

fix(ci): modernize build pipeline, restore Dakota E2E, event-driven releases#598
castrojo merged 2 commits into
mainfrom
fix/ci-automation-audit

Conversation

@castrojo

Copy link
Copy Markdown
Contributor

Summary

Automation audit follow-up for projectbluefin/common. Four independent improvements committed together as they all emerged from the same factory-wide audit.

build.yml — bug fixes + multi-arch

  • Fix: digest passing between matrix jobs and manifest job now uses artifact upload/download instead of needs.job.outputs (which only surfaces one non-deterministic matrix run's output)
  • Fix: digests-json keys corrected from linux/amd64amd64 (create-manifest passes the key directly to podman manifest add --arch)
  • Fix: stale SHA e39c947dc35eb2 for scan-image, sign-and-publish (2 releases behind rest of factory)
  • Add: setup-runner step for podman upgrade — required because build pushes with --compression-format=zstd:chunked which needs podman ≥ 5.x
  • Add: arm64 build matrix (ubuntu-24.04-arm)
  • Add: create-manifest manifest job to assemble multi-arch index

e2e.yml — restore Dakota

Dakota matrix entry was commented out. ghcr.io/projectbluefin/dakota:testing image exists and is pullable. Restored with continue-on-error: true — non-blocking until infra confidence is established (flip to false when ready, see issue #497).

release.yml — event-driven releases

Added workflow_run trigger on E2E success. When E2E passes on main, release fires automatically if the last release was >20 days ago. Monthly cron remains as backstop. Eliminates the manual workflow_dispatch needed when tests were red on the 1st.

renovate.json — accelerate actions SHA automerge

Added explicit rule to automerge projectbluefin/actions SHA updates. Existing broad rule already covered these in theory but lacked the labels and grouping needed for fast propagation.


Part of org-wide automation audit — no ublue-os/* repos touched.

@dosubot dosubot Bot added the area/ci label Jun 11, 2026
@coderabbitai

coderabbitai Bot commented Jun 11, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@castrojo, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 11 minutes and 33 seconds. Learn how PR review limits work.

Your organization has run out of usage credits. Purchase more credits in the billing tab to continue.

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 77195409-ff8f-482d-af5d-cbc683cf0e0a

📥 Commits

Reviewing files that changed from the base of the PR and between c747c1b and 7cf648e.

📒 Files selected for processing (6)
  • .github/actionlint.yaml
  • .github/workflows/build.yml
  • .github/workflows/e2e.yml
  • .github/workflows/release.yml
  • docs/skills/ci-tooling.md
  • renovate.json
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/ci-automation-audit

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

castrojo pushed a commit that referenced this pull request Jun 11, 2026
Fixes end-of-file-fixer pre-commit hook failure in PR #598.

Assisted-by: Claude Sonnet 4.5 via pi
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@castrojo
castrojo requested review from a team and repires as code owners June 11, 2026 02:44
@castrojo
castrojo enabled auto-merge June 11, 2026 02:44
@castrojo castrojo added the lgtm label Jun 11, 2026
…eleases

- build.yml: fix artifact-based multi-arch digest passing (was using broken
  matrix job outputs), correct digests-json arch keys (amd64/arm64 not
  linux/*), pin composites to dc35eb2 (from stale e39c947), add setup-runner
  for podman upgrade (required for zstd:chunked push), add arm64 build matrix
- e2e.yml: restore Dakota matrix entry with continue-on-error: true (image
  exists at ghcr.io/projectbluefin/dakota:testing; issue #497 is open but
  non-blocking)
- release.yml: add workflow_run trigger on E2E success so releases fire
  automatically when quality is confirmed, not only on monthly cron
- renovate.json: add explicit automerge rule for projectbluefin/actions SHA
  updates to prevent pin drift across org
- .github/actionlint.yaml: suppress false positive for continue-on-error on
  reusable-workflow callers (GitHub supports it; actionlint does not yet)

Assisted-by: Claude Sonnet 4.5 via pi
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@castrojo
castrojo force-pushed the fix/ci-automation-audit branch 2 times, most recently from d0683ec to 25df47d Compare June 11, 2026 12:16
buildah-build stores the image in podman/buildah local storage but the
podman socket is not started by setup-runner. Trivy cannot find the image
via docker/containerd/podman sockets.

Export to a docker-archive tarball with buildah push, then pass the
docker-archive: URI to scan-image — Trivy natively supports this scheme.

Assisted-by: Claude Sonnet 4.6 via GitHub Copilot
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@castrojo
castrojo force-pushed the fix/ci-automation-audit branch from 25df47d to 7cf648e Compare June 11, 2026 12:20
@github-advanced-security

Copy link
Copy Markdown

You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool.

What Enabling Code Scanning Means:

  • The 'Security' tab will display more code scanning analysis results (e.g., for the default branch).
  • Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results.
  • You will be able to see the analysis results for the pull request's branch on this overview once the scans have completed and the checks have passed.

For more information about GitHub Code Scanning, check out the documentation.

@castrojo
castrojo merged commit eb15878 into main Jun 11, 2026
9 checks passed
@castrojo
castrojo deleted the fix/ci-automation-audit branch June 11, 2026 12:33
castrojo pushed a commit that referenced this pull request Jun 12, 2026
Fix 3 stale references to lifecycle.yml being in projectbluefin/common
(it moved to projectbluefin/actions in #574, issue #570 closed 2026-06-10).
Fix bonedigger.md Integration Status to warn agents about stale callers.
Fix release-promotion.md 'Known gap: dakota E2E disabled' — restored in #598.

Distilled from 2-day session history per end-session skill.

Assisted-by: Claude Sonnet 4.5 via pi
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@castrojo castrojo added 4-review A pull request is awaiting review. and removed lgtm labels Jul 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

4-review A pull request is awaiting review.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants