Skip to content

fix(ci): drop literal expression from docker-setup input description#1427

Merged
JesseTheRobot merged 4 commits into
masterfrom
fix/release-process
May 27, 2026
Merged

fix(ci): drop literal expression from docker-setup input description#1427
JesseTheRobot merged 4 commits into
masterfrom
fix/release-process

Conversation

@JesseTheRobot

@JesseTheRobot JesseTheRobot commented May 27, 2026

Copy link
Copy Markdown
Member

Summary

  • The username input description in .github/actions/docker-setup/action.yaml contained a literal ${{ github.actor }} example.
  • GitHub's action manifest loader evaluates ${{ }} expressions even inside description text, and the github context isn't available at load time — so the composite action fails to load with Unrecognized named-value: 'github'.
  • This broke the Start rootless Docker and log in to GHCR step in every job using the action (release.yml, docker.yml, devnet.yml). The real username: ${{ github.actor }} lives in the calling workflows, where it's valid — only the description needed fixing.

How it was found

A testnet dry_run=true of release.yml got through all validation and started the build/publish job (no approval prompt — env-gate skip works), then failed at docker-setup with the manifest load error.

Test plan

  • Re-run a testnet dry-run against this branch: gh workflow run release.yml --ref fix/release-process -f release_type=testnet -f version=3.0.0 -f commit=<release/testnet/3.x tip> -f dry_run=true
  • Confirm Start rootless Docker and log in to GHCR now succeeds and the build proceeds (publish steps remain skipped under dry_run).

Summary by CodeRabbit

  • Chores
    • Clarified an internal action input description to avoid suggesting expressions that are evaluated early, reducing confusion and improving configuration guidance.
    • Increased changelog-generation verbosity so warnings about skipped or unparsable commits are captured in release logs for easier diagnostics.
    • Updated comment guidance about how release tag boundaries are determined across environments to improve maintainability.

Review Change Stack

The `username` input description contained a literal ${{ github.actor }}
example. GitHub's action manifest loader evaluates expressions even inside
description text, and the github context is unavailable at load time, so the
whole composite action fails to load with "Unrecognized named-value: 'github'".

This broke the "Start rootless Docker and log in to GHCR" step in every job
that uses the action (release, docker, devnet) — caught by a testnet dry-run.
Refer to the context by name only; the real `username: ${{ github.actor }}`
lives in the calling workflows, where it's valid.
@coderabbitai

coderabbitai Bot commented May 27, 2026

Copy link
Copy Markdown
Contributor

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 846ce016-4bd1-4831-9844-d8372bbf89ef

📥 Commits

Reviewing files that changed from the base of the PR and between a3ebd15 and 2c085c7.

📒 Files selected for processing (2)
  • .config/cliff.toml
  • .github/workflows/release.yml

📝 Walkthrough

Walkthrough

Remove embedded Action expressions from the docker-setup action input description; add GIT_CLIFF_TAG_PATTERN and RUST_LOG=git_cliff_core=trace to the release changelog step; clarify tag-pattern behavior in .config/cliff.toml.

Changes

GitHub Action documentation

Layer / File(s) Summary
Action input documentation and examples
.github/actions/docker-setup/action.yaml
inputs.username description updated to remove embedded Action expressions and clarify that the action manifest loader evaluates expressions early; example changed to reference contexts like github.actor by name.

Release workflow and git-cliff config

Layer / File(s) Summary
Changelog generation logging and tag-pattern
.github/workflows/release.yml, .config/cliff.toml
Release changelog step sets GIT_CLIFF_TAG_PATTERN (per release_type) and RUST_LOG=git_cliff_core=trace with comments explaining tag-pattern bounding and why -vv is avoided; .config/cliff.toml comments updated to describe environment-bounded release boundaries and the GIT_CLIFF_TAG_PATTERN override.

🎯 2 (Simple) | ⏱️ ~10 minutes

🚥 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 pull request title accurately describes the primary change: removing a literal GitHub Actions expression from the docker-setup action's input description to fix a manifest loader failure.
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.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/release-process

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

The changelog step logs "N commit(s) skipped due to parse error" without
naming them. Pass -vv so git-cliff logs each non-conventional/unparseable
commit (e.g. a commit missing a `type:` prefix) to stderr — visible in the
Actions log. Output is unaffected; the changelog still goes to OUTPUT.

@github-actions github-actions Bot 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.

⚠️ Performance Alert ⚠️

Possible performance regression was detected for benchmark.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 1.20.

Benchmark suite Current: ac04f3d Previous: 76f9ed4 Ratio
parallel_verification/testing 0.096997 ms/iter (± 0.023328) 0.034066 ms/iter (± 0.000508) 2.85

This comment was automatically generated by workflow using github-action-benchmark.

@github-actions

Copy link
Copy Markdown
Contributor

-vv enables global TRACE, which floods the changelog log with thousands of
hyper/HTTP lines from git-cliff's GitHub remote-data fetch and truncates before
the useful line. RUST_LOG=git_cliff_core=trace names each skipped/non-conventional
commit (e.g. the missing-`type:` commit) without the noise.
Each release's notes should span since the previous release of the SAME
environment: testnet-X.Y.Z since the last testnet-*, mainnet-X.Y.Z since the
last mainnet-*.

The prior `--ignore-tags ^testnet-` (mainnet) didn't achieve this: git-cliff's
--unreleased anchors the commit range to the latest reachable version tag, and
--ignore-tags only relabels the "previous" link without moving the range. With
both testnet-0.2.0 and the newer mainnet-0.1.3 reachable from the 3.x line, a
testnet release wrongly spanned since mainnet-0.1.3.

Override tag_pattern per env via GIT_CLIFF_TAG_PATTERN so --unreleased anchors to
the env's own previous tag (verified: testnet-3.0.0 -> previous testnet-0.2.0).
First release of an env (no prior tag) spans full history, as expected.
@JesseTheRobot JesseTheRobot merged commit 435dea4 into master May 27, 2026
18 checks passed
@JesseTheRobot JesseTheRobot deleted the fix/release-process branch May 27, 2026 13:05
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