Skip to content

fix: bump reusable-build-test.yml action pins to the SK-416 merge SHA (SK-444)#8

Merged
RobEasthope merged 1 commit into
mainfrom
sk-444-bump-reusable-build-testyml-action-pins-to-the-sk-416-merge
Jun 26, 2026
Merged

fix: bump reusable-build-test.yml action pins to the SK-416 merge SHA (SK-444)#8
RobEasthope merged 1 commit into
mainfrom
sk-444-bump-reusable-build-testyml-action-pins-to-the-sk-416-merge

Conversation

@RobEasthope

@RobEasthope RobEasthope commented Jun 26, 2026

Copy link
Copy Markdown
Contributor

What

Bumps all six Layer-1 action uses: pins in .github/workflows/reusable-build-test.yml from the 132d746 pre-release placeholder to d0a5949 — SK-416's merge commit (PR #7).

Why

SK-416 left all six pins on 132d746 for review consistency. Five of those actions (setup-project, typecheck, test-vitest, shellcheck, test-bats) already existed at 132d746, but the sixth — build — is new in SK-416, so it does not exist there. A caller resolving the build step against 132d746 fails (action not found → build lane breaks).

d0a5949 is the first commit where build coexists with the other five (git ls-tree d0a5949 .github/actions lists all six; build is absent at 132d746), so the file is now internally uniform and correct.

reusable-lint.yml is intentionally untouched — its actions all predate the bump, so its 132d746 pins are correct.

The (pre-release internal pin) wording stays; SK-413's release-tag backfill supersedes these interim pins later.

Scope

This PR is part 1 of SK-444 (the in-repo fix that unblocks SK-420). Bumping the consumer caller pins is split into a follow-up issue — no reusable-build-test caller exists yet (the template's shared-caller swap is deferred under SK-411; the fleet rollout is SK-420). Crucially, callers must pin to the SK-444 merge SHA (where the corrected file lives), not d0a5949.

Verification

  • grep -c d0a5949 .github/workflows/reusable-build-test.yml → 6; grep -c 132d746 → 0
  • reusable-lint.yml pins unchanged
  • actionlint + yamllint + Prettier clean

Closes SK-444.

Summary by CodeRabbit

  • Chores
    • Updated the shared build and test workflow to use newer pinned versions of the reusable actions.
    • No changes to the build, type-checking, test, shellcheck, or Bats behaviour.

… (SK-444)

The six Layer-1 action pins were left on the 132d746 pre-release placeholder
for review consistency in SK-416 (PR #7). The build action is new in SK-416 and
does not exist at 132d746, so a caller resolving the build step there fails.

Bump all six pins to d0a5949 — SK-416's merge commit and the first SHA where
build coexists with the other five — so the file is internally uniform and
correct. reusable-lint.yml stays at 132d746 (its actions all predate the bump).

The (pre-release internal pin) wording stays; SK-413's release-tag backfill
supersedes these interim pins later.
@coderabbitai

coderabbitai Bot commented Jun 26, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 09fcaf63-12c8-4a72-a05d-80379ab25f5a

📥 Commits

Reviewing files that changed from the base of the PR and between d0a5949 and 8e68570.

📒 Files selected for processing (1)
  • .github/workflows/reusable-build-test.yml

📝 Walkthrough

Walkthrough

The reusable build-test workflow updates the pinned SHAs for its shared action steps. Step conditions and inputs remain unchanged.

Changes

Reusable workflow pin refresh

Layer / File(s) Summary
Shared action pins
.github/workflows/reusable-build-test.yml
The reusable workflow updates the uses: references for setup-project, build, typecheck, test-vitest, shellcheck, and test-bats to a new pinned SHA while keeping the existing step conditions and inputs.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~5 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly describes the main change: bumping reusable-build-test workflow action pins to the SK-416 merge SHA.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch sk-444-bump-reusable-build-testyml-action-pins-to-the-sk-416-merge
✨ Simplify code
  • Create PR with simplified code
  • Commit simplified code in branch sk-444-bump-reusable-build-testyml-action-pins-to-the-sk-416-merge

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

@claude

claude Bot commented Jun 26, 2026

Copy link
Copy Markdown

Claude finished @RobEasthope's task in 40s —— View job


Code Review — SK-444

  • Read changed file and verify pin counts
  • Verify reusable-lint.yml is untouched
  • Review rationale and correctness

Verdict: LGTM ✓

The change is exactly right. Notes below.

What changed

All six uses: pins in .github/workflows/reusable-build-test.yml (lines 149, 155, 161, 167, 174, 181) are bumped uniformly from 132d746d045a1356c1dc5b5599dda4be89a49738 to d0a5949f6e6a2630f325a14beb9600ad8e0df230.

Correctness

  • grep -c d0a5949 reusable-build-test.yml6; grep -c 132d7460 — every pin updated, none missed.
  • reusable-lint.yml remains on 132d746 for all five of its actions, as intended — those actions all pre-exist the SK-416 merge, so 132d746 is correct for them.
  • d0a5949 is the SK-416 merge commit (PR feat: add reusable build-test.yml workflow (SK-416) #7); it is the first SHA at which the build action exists alongside the other five. Pinning all six to this SHA makes the file internally consistent and unblocks the build lane.
  • The pin comment style (# shared-workflows actions @d0a5949 (pre-release internal pin)) matches the existing convention. No trailing whitespace or formatting drift.

Minor notes (non-blocking)

  • The (pre-release internal pin) wording is intentionally preserved — noted in the PR description as correct until SK-413's release-tag backfill lands. No action needed here.
  • No consumer caller exists yet (deferred under SK-411 / SK-420), so the blast radius of this change is zero until callers are wired up.

Not in scope (acknowledged)

The PR description correctly calls out that bumping consumer caller pins to the SK-444 merge SHA is a follow-up task. That split is appropriate — no caller exists yet, so nothing to bump.


@RobEasthope
RobEasthope merged commit 9b7e7dc into main Jun 26, 2026
9 checks passed
@RobEasthope
RobEasthope deleted the sk-444-bump-reusable-build-testyml-action-pins-to-the-sk-416-merge branch June 26, 2026 16:56
RobEasthope added a commit that referenced this pull request Jun 30, 2026
## What

Reconstructs `shared-workflows`' **entire release history** and
graduates the current code to a stable **`v1.0.0`** (A-585). The repo
publishes no npm package, so a "release" here is a **git tag (`vX.Y.Z`)
+ GitHub release** over the reusable workflows and composite actions.

## Versioning methodology

The merged PR **titles are not reliable** — Conventional-Commit
discipline was loose when the repo was stood up (the GO/NO GO gate
shipped as `ci:`, the versioned ruleset as `chore:`). So every PR was
re-classified by **what it actually changed to the product surface**
(the `reusable-*.yml` workflows + `.github/actions/*` consumers use, and
their reference docs), read from the diff. Pre-1.0 rules: `feature` →
minor, `fix` → patch, breaking → minor (stay in `0.x`), and `1.0.0` is a
deliberate "graduate to stable" milestone.

| Version | PR | True category | Headline |
|---|---|---|---|
| 0.1.0 | #1 | feature | bootstrap: 3 reusable workflows |
| 0.2.0 | #5 | feature | Layer-1 composite-action layer |
| 0.3.0 | #6 | feature | reusable-lint bundle |
| 0.4.0 | #7 | feature | reusable build-test bundle + `build` action |
| 0.4.1 | #8 | fix | repoint build-test pins so the build lane resolves
|
| 0.5.0 | #9 | feature | reusable pkg-release workflow |
| 0.6.0 | #15 | refactor **(breaking)** | rename release → pkg-release |
| 0.7.0 | #16 | **feature** *(titled `ci:`)* | GO/NO GO aggregator gate
+ docs |
| 0.8.0 | #17 | **feature** *(titled `chore:`)* | versioned canonical
estate ruleset |
| 1.0.0 | HEAD | milestone | graduate to stable public surface |

Non-release PRs (self-host CI, ADR, dep bump, SK→A rename, skill
adoptions/re-syncs, check-run rename) are folded into the body of the
release window they merged in — the way a release-please changelog
aggregates.

## Changes

- **`changelog/`** — hand-authored dated entries (one per release) + the
schema doc (`changelog/README.md`), adapted from the estate's
`eslint-config`/`agent-skills` convention.
- **`package.json`** — `0.0.0` → `1.0.0` (stays `private`; the version
is the release anchor, not an npm publish).
- **`reusable-lint.yml`** — pin the five sibling Layer-1 actions to the
**`v0.8.0`** tag (`@7f543be`) instead of the bare pre-release commit,
so Dependabot can track them (`v0.8.0` is the latest backfilled tag that
carries every action and predates this commit, avoiding a self-reference
to `v1.0.0`).
- **`CLAUDE.md` / `README`** — replace the "no release tag exists yet"
wording.

## After merge

The git tags + GitHub releases are cut once this lands:
`v0.1.0`–`v0.8.0` at their historical merge commits, `v1.0.0` at this
PR's squash-merge commit, with notes sourced from each `changelog/`
entry. This unblocks consumers pinning a tag (+ Dependabot) instead of a
moving SHA (A-420 / A-446).

## Deferred (follow-up)

- **release-please automation** + a tag-only release workflow — the
forward release process is a separate decision now the backfill exists.

## Note for review

> Backfilling git tags at historical commits is a deliberate divergence
from the estate precedent (`eslint-config`/`agent-skills` backfilled
changelog *entries* but tagged only going forward) — chosen here because
A-585 explicitly wants the *full tag history* reconstructed.

The pre-existing Prettier drift on the vendored `.claude`/`.agents`
skill bundles is untouched (out of scope).


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **New Features**
* Marked the reusable workflows and composite actions as stable at
**v1.0.0**.
  * Updated workflow references to use the newer version tags.

* **Documentation**
  * Clarified release and versioning guidance across the repository.
* Added and expanded changelog documentation and release notes
structure.

* **Chores**
  * Updated internal workflow pins to the latest approved release.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
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.

1 participant