Skip to content

ci: pin shared action dependencies - #45

Merged
rianjs merged 1 commit into
mainfrom
refactor/pin-action-refs
Sep 15, 2026
Merged

rianjs merged 1 commit into
mainfrom
refactor/pin-action-refs

Conversation

@rianjs

@rianjs rianjs commented Sep 15, 2026

Copy link
Copy Markdown
Contributor

Problem

Shared workflows and composites used moving action tags, and nested shared actions used @v1, so a caller pinned to a commit could still execute a different nested action revision.

Changes

  • Pin every third-party action reference to a verified full commit SHA with a version comment.
  • Move nested shared action calls to $/actions/..., which resolves them from the exact shared commit running the reusable workflow.
  • Exercise the self-repository form in the existing pr-title integration cases.
  • Keep the existing codesign action SHA and all action inputs unchanged.

The selected action revisions use the Node 24 runtime. The self-repository syntax requires Actions runner 2.336.0 or newer. The commit-to-tag mapping and source checks are recorded in /tmp/codereview-shared-workflow-review-evidence.md during review.

Validation

  • Existing shell checks passed: auto-release gate, Darwin gate, macOS codesign gate, and Homebrew alias.
  • Existing Python checks passed: auto-release workflow (6), release-preflight (17), winget-submit (31), chocolatey-push (24), and identity-check (44).
  • All 16 workflow/action YAML files parsed.
  • Minimal fixture make build, make test, and make lint passed; committed fixture binary smoke passed.
  • git diff --check passed.

The installed actionlint 1.7.12 does not yet recognize GitHub's documented $/actions/... syntax and reports those references as invalid; it reports no other diagnostics.

@rianjs
rianjs marked this pull request as ready for review September 15, 2026 15:35
@rianjs
rianjs merged commit be3161f into main Sep 15, 2026
21 checks passed
rianjs added a commit to open-cli-collective/codereview-cli that referenced this pull request Sep 15, 2026
## Problem

The CLI duplicated terminal editor and architecture mechanics, had
unreachable init state, and left runtime and CI defaults dependent on
mutable or one-time configuration.

## Changes

- Bound the GitLab HTTP client and add cancellation/cascade coverage
alongside the SQLite startup fix merged from main.
- Remove unreachable secrets-editor state and brittle architecture
prescriptions; fix eight cleanup registrations while keeping dependency
and lifecycle boundaries.
- Share the pinned Bubbles input/textarea components across init
editors, preserve staged writes and secret masking, and wrap terminal
text by ANSI cell width.
- Migrate direct YAML use to maintained `go.yaml.in/yaml/v3` v3.0.5.
- Pin codereview workflow dependencies to full commit SHAs, including
the shared automation commit `b6382514b809d960c6fbdc85745a60c14cde04f1`.

The shared automation pin is prepared in
[open-cli-collective/.github#45](open-cli-collective/.github#45),
which pins its nested action graph and validates the new self-repository
references.

## Validation

- `make build` passed from the committed tree.
- `make test` passed across the full repository.
- `make lint` passed with 0 issues.
- `go mod verify` passed.
- `actionlint` passed for the caller workflows.
- All caller action references were audited as full 40 character SHAs
and the shared reference was checked against PR #45's head OID.
- Built binary `--version`/`--help` smoke tests passed; the
temporary-config PTY smoke covered init navigation, staging, back, and
discard without real credentials.
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