Skip to content

[docs] Make CI maintenance expectations explicit - #5672

Merged
maru-ava merged 3 commits into
masterfrom
maru/doc-ci
Aug 7, 2026
Merged

[docs] Make CI maintenance expectations explicit#5672
maru-ava merged 3 commits into
masterfrom
maru/doc-ci

Conversation

@maru-ava

@maru-ava maru-ava commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Why this should be merged

Document the CI conventions that keep workflow behavior reproducible and supply-chain updates reviewable and ensure mechanical checks where reasonable to do so.

@maru-ava maru-ava self-assigned this Jul 16, 2026
@maru-ava maru-ava added the documentation Improvements or additions to documentation or examples label Jul 16, 2026
@maru-ava maru-ava added the ci This focuses on changes to the CI process label Jul 16, 2026
@maru-ava maru-ava moved this to In Progress 🏗️ in avalanchego Jul 16, 2026
@maru-ava maru-ava moved this from In Progress 🏗️ to Ready 🚦 in avalanchego Jul 16, 2026
@maru-ava
maru-ava force-pushed the maru/doc-ci branch 2 times, most recently from d9a2f89 to 5357057 Compare July 16, 2026 19:56
@maru-ava maru-ava linked an issue Jul 18, 2026 that may be closed by this pull request
@maru-ava
maru-ava force-pushed the maru/doc-tasks branch 2 times, most recently from b8ab901 to b533975 Compare July 29, 2026 01:53
@maru-ava
maru-ava force-pushed the maru/doc-ci branch 2 times, most recently from 8fdd396 to de7b1ad Compare July 31, 2026 08:52
Base automatically changed from maru/doc-tasks to master August 3, 2026 19:20
@maru-ava
maru-ava force-pushed the maru/doc-ci branch 2 times, most recently from 4d722e8 to 41d64db Compare August 4, 2026 06:11
@maru-ava
maru-ava marked this pull request as ready for review August 4, 2026 06:12
Copilot AI review requested due to automatic review settings August 4, 2026 06:12
@maru-ava
maru-ava requested a review from a team as a code owner August 4, 2026 06:12

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR documents CI conventions for the repository and backs them with additional mechanical linting, while updating existing workflows/actions to comply with the new “pin third-party actions by SHA” rule.

Changes:

  • Add docs/ci.md and wire it into the docs index to make CI maintenance expectations explicit.
  • Strengthen scripts/actionlint.sh to reject floating refs for non-actions/* external actions.
  • Update workflows and a composite action to pin third-party actions to full commit SHAs; add a workflow helper script for tgz packaging and switch the workflow to use it.

Reviewed changes

Copilot reviewed 10 out of 11 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
scripts/workflow-build-tgz-pkg.sh New CI helper script to build and upload tgz artifacts for avalanchego and subnet-evm.
scripts/actionlint.sh Adds a repository-wide check to forbid floating refs for third-party actions outside actions/*.
docs/README.md Adds CI documentation entry to the docs index.
docs/ci.md New cross-cutting CI conventions doc (runner labels, pinning actions, CI organization).
.github/workflows/firewood-chaos-test.yml Pins aws-actions/configure-aws-credentials to a commit SHA.
.github/workflows/claude-review.yml Pins anthropics/claude-code-action to a commit SHA.
.github/workflows/build-macos-release.yml Pins aws-actions/configure-aws-credentials to a commit SHA.
.github/workflows/build-linux-packages.yml Pins aws-actions/configure-aws-credentials to a commit SHA.
.github/workflows/build-linux-binaries.yml Pins aws-actions/configure-aws-credentials and switches tgz packaging step to ./scripts/workflow-build-tgz-pkg.sh.
.github/README.md New overview of GitHub-specific repository configuration with pointers to CI docs.
.github/actions/c-chain-reexecution-benchmark/action.yml Pins aws-actions/configure-aws-credentials and benchmark-action/github-action-benchmark to commit SHAs.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread scripts/actionlint.sh Outdated
@maru-ava
maru-ava force-pushed the maru/doc-ci branch 4 times, most recently from b1e88c1 to 16f19fc Compare August 5, 2026 19:50

@JonathanOppenheimer JonathanOppenheimer left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reads very well to me -- the only real actionable thing here, is I don't believe we want to replace the repositories readme.

Comment thread docs/ci.md
Comment thread docs/ci.md Outdated
Comment thread scripts/actionlint.sh Outdated
Comment thread .github/README.md Outdated
Comment thread scripts/actionlint.sh Outdated
Comment thread docs/ci.md Outdated

@JuanLeon2 JuanLeon2 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for doing this.
I made some comments. None of them are blockers. I am approving.

Comment thread docs/ci.md Outdated

## Principles

- **Minimize work done only in CI.** Put repository operations that contributors

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

quibble: a lot of work is typically only done from/within CI, even if it is defined in Taskfile.yml and invoked thereto from Github Actions. An inexperienced person might construe this principle to be something like "if this would typically be done only in CI don't do it at all". Not sure how to address this quibble and therefore maybe leave things as they are.

Perhaps emphasize DRY instead. ANythign worth doing in CI -- other than pure git ops? -- should also be doable locally. And there should be only one version.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated headline to 'Define locally runnable operations outside CI'

Comment thread docs/ci.md
Comment thread docs/ci.md
Comment thread docs/ci.md
Comment thread docs/ci.md
Comment thread docs/ci.md
Comment thread Taskfile.yml
Comment thread docs/ci.md Outdated
A full [commit SHA](https://docs.github.com/en/actions/reference/security/secure-use#using-third-party-actions)
is immutable. A tag can move.

Add a `# v<version>` comment after every pinned SHA. The comment identifies the

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Major version only

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure what you mean?

Comment thread docs/ci.md

@JonathanOppenheimer JonathanOppenheimer left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🏄

Document the CI conventions that keep workflow behavior reproducible and supply-chain
updates reviewable and ensure mechanical checks where reasonable to do so.

Change-Id: Ib194e94678b49acd6278845558d00f09ac8445ce
Change-Id: I71cd7107e2525391795823caff0b1f89d41a1dbc
Change-Id: I8aa29fb7382a963d6409bb36ba3309cd11c7284c
@maru-ava
maru-ava enabled auto-merge August 7, 2026 00:11
@maru-ava
maru-ava added this pull request to the merge queue Aug 7, 2026
Merged via the queue into master with commit 90958a4 Aug 7, 2026
85 checks passed
@maru-ava
maru-ava deleted the maru/doc-ci branch August 7, 2026 00:48
@github-project-automation github-project-automation Bot moved this from Ready 🚦 to Done 🎉 in avalanchego Aug 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci This focuses on changes to the CI process documentation Improvements or additions to documentation or examples

Projects

Status: Done 🎉

Development

Successfully merging this pull request may close these issues.

[bazel] Complete Bazelification

4 participants