Skip to content

Release workflow + footer source link with Apache 2.0 notice - #10

Merged
NX1X merged 1 commit into
mainfrom
feat/release-workflow-footer
Jul 25, 2026
Merged

Release workflow + footer source link with Apache 2.0 notice#10
NX1X merged 1 commit into
mainfrom
feat/release-workflow-footer

Conversation

@NX1X

@NX1X NX1X commented Jul 25, 2026

Copy link
Copy Markdown
Owner

Summary

Follow-up to #9 (which merged before this landed on its branch).

Release workflow

  • New .github/workflows/release.yml: pushing a v* tag (or running a manual dispatch with a tag input) creates the GitHub Release, using the matching ## [X.Y.Z] section of CHANGELOG.md as the release notes. Fails if the section is missing.
  • Security posture: single SHA-pinned action (actions/checkout v7), workflow-level contents: read with contents: write only on the release job, tag input validated against a vX.Y.Z pattern, release created via the preinstalled gh CLI with --verify-tag. Passes scripts/check-action-pins.sh.

release.sh rework

The old script pushed straight to main, double-wrote the changelog via update-version.js, and printed a stale repo URL. It now fits the PR-based flow: verifies you are on a clean, up-to-date main, requires package.json's version to have a CHANGELOG section, then tags and pushes. The workflow does the rest.

Release flow is now: version bump + changelog in the PR, merge, run scripts/release.sh (or tag manually), Release appears automatically.

Website footer

  • GitHub logo icon (inline SVG, CSP-safe) linking to this repository
  • Bilingual "Open source under the Apache License 2.0" notice linking to the LICENSE file

Testing

  • bash scripts/check-action-pins.sh passes with the new workflow
  • Changelog extraction awk tested locally against the 1.4.0 section
  • bash -n on release.sh, node --check on app.js

- .github/workflows/release.yml: on v* tag push or manual dispatch,
  creates the GitHub Release using the matching CHANGELOG.md section
  as notes. SHA-pinned checkout, contents:read default with
  contents:write on the release job only, tag input validated
- scripts/release.sh reworked for the PR-based flow: validates main is
  clean and in sync, requires a CHANGELOG section for the current
  package.json version, then tags and pushes; the workflow creates the
  Release (old script pushed to main directly, double-wrote the
  changelog, and linked a stale repo URL)
- Footer: GitHub logo icon linking to the repository and a bilingual
  Apache License 2.0 notice
@coderabbitai

coderabbitai Bot commented Jul 25, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@NX1X, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 47 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 1c1c75d2-e3a2-4f30-97f2-9a9f5a220487

📥 Commits

Reviewing files that changed from the base of the PR and between 18e4ab9 and 39149c9.

📒 Files selected for processing (6)
  • .github/workflows/release.yml
  • CHANGELOG.md
  • public/app.js
  • public/index.html
  • public/style.css
  • scripts/release.sh

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@NX1X
NX1X enabled auto-merge (squash) July 25, 2026 08:24
@NX1X
NX1X disabled auto-merge July 25, 2026 08:25
@NX1X
NX1X merged commit 611fb9c into main Jul 25, 2026
4 checks passed
@NX1X
NX1X deleted the feat/release-workflow-footer branch July 25, 2026 08:25
@github-actions

Copy link
Copy Markdown

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

OpenSSF Scorecard

PackageVersionScoreDetails
actions/actions/checkout 9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 🟢 6.9
Details
CheckScoreReason
Maintained🟢 1024 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
Code-Review🟢 10all changesets reviewed
Dangerous-Workflow🟢 10no dangerous workflow patterns detected
Binary-Artifacts🟢 10no binaries found in the repo
Token-Permissions⚠️ 0detected GitHub workflow tokens with excessive permissions
CII-Best-Practices⚠️ 0no effort to earn an OpenSSF best practices badge detected
License🟢 10license file detected
Fuzzing⚠️ 0project is not fuzzed
Packaging⚠️ -1packaging workflow not detected
Pinned-Dependencies🟢 3dependency not pinned by hash detected -- score normalized to 3
Signed-Releases⚠️ -1no releases found
Security-Policy🟢 9security policy file detected
SAST🟢 10SAST tool is run on all commits
Branch-Protection🟢 5branch protection is not maximal on development and all release branches

Scanned Files

  • .github/workflows/release.yml

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