feat: package zc as a reusable action#8
Open
gustavovalverde wants to merge 1 commit into
Open
Conversation
There was a problem hiding this comment.
Pull request overview
This PR packages the existing zc Bash-based analyzer as a reusable GitHub composite action, pinning a tested cargo-public-api + nightly toolchain pair per release, and updates CI/docs to consume the tool via a stable v0.3.0 tag rather than mutable main.
Changes:
- Add a composite GitHub Action (
action.yml) that installs pinned tooling and runszcagainst a required baseline and optional head ref. - Update the
zcCLI behavior and docs for stable distribution: bumpZC_VERSIONto0.3.0, pin install examples to thev0.3.0tag, and simplify--versionoutput (removing the remote freshness check). - Extend CI to exercise the local action against an isolated Rust fixture and keep GitHub Actions dependencies current via Dependabot.
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
zc |
Bumps release version to 0.3.0, pins prerequisite/tooling guidance, and simplifies --version output (removes update check). |
tests/run.sh |
Adjusts integration tests to match the simplified --version behavior and improves sed -i portability. |
README.md |
Documents using ZcashFoundation/zc@v0.3.0 as a reusable action and pins install examples to the v0.3.0 tag. |
action.yml |
Introduces a composite action that installs pinned nightly + cargo-public-api and runs zc with validated inputs. |
.github/workflows/ci.yml |
Updates CI to pin action SHAs, run the local composite action against a fixture repo, then run existing tests. |
.github/dependabot.yml |
Adds Dependabot updates for GitHub Actions with a weekly schedule and cooldown. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
gustavovalverde
force-pushed
the
feat/reusable-action
branch
from
July 24, 2026 12:45
615ddff to
13482a9
Compare
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.
zccould only be consumed in CI by downloading mutablemainand provisioning moving tool versions separately. This packages the existing analyzer as a composite action that binds each release to a tested toolchain pair while leaving repository-specific changelog and release policy to consumers.What changes
action.ymlruns the existing CLI against an explicit baseline and optional exact head, with opt-in lockfile and value analysis.cargo-public-api 0.52.0andnightly-2026-07-18; CI exercises that same pair and keeps action dependencies current through Dependabot.v0.3.0release instead of mutablemain, andzc --versionno longer performs a custom network freshness check.Important
Publish
v0.3.0from the merged commit before advertising the tag-based action and installation examples. Consumers can pin the branch commit for pre-release smoke tests.The action remains an analysis boundary: it preserves the CLI's exit-code contract and does not write changelogs, interpret repository policy, or orchestrate releases.
AI disclosure: Codex implemented the composite action, tests, and documentation under maintainer direction.