Skip to content

Add release-please automation#101

Merged
koko1123 merged 1 commit into
StrobeLabs:mainfrom
Mario-SO:release-please-flow
Jun 23, 2026
Merged

Add release-please automation#101
koko1123 merged 1 commit into
StrobeLabs:mainfrom
Mario-SO:release-please-flow

Conversation

@Mario-SO

@Mario-SO Mario-SO commented Jun 14, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds release-please automation for source releases.

The workflow watches pushes to main, opens or updates a release PR from Conventional Commit history, and uses the release PR merge as the manual release decision. The release PR will bump the manifest, changelog, build.zig.zon, and install URLs together.

Changes

  • Add release-please manifest config using release-type: simple
  • Add the GitHub Actions workflow for release-please
  • Annotate build.zig.zon so the package version tracks the release tag
  • Mark README and docs install URLs for version updates
  • Document Conventional Commit expectations for release automation

Validation

  • jq for release-please JSON files
  • workflow YAML parse
  • zig build test

Summary by CodeRabbit

  • Chores

    • Established automated release management workflow for streamlined version releases.
    • Version updated to 0.7.0.
  • Documentation

    • Added commit message conventions guide for contributors.

@vercel

vercel Bot commented Jun 14, 2026

Copy link
Copy Markdown

@Mario-SO is attempting to deploy a commit to the impolitecompany Team on Vercel.

A member of the Team first needs to authorize it.

@coderabbitai

coderabbitai Bot commented Jun 14, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

Sets up Release Please automation by adding a GitHub Actions workflow, a release-please-config.json tracking build.zig.zon, README.md, and the installation docs, a manifest pinned to v0.7.0, version marker comments in all tracked files, and a Conventional Commits section in CONTRIBUTING.md.

Changes

Release Please Automation Setup

Layer / File(s) Summary
Release Please config and manifest
.github/release-please-config.json, .github/.release-please-manifest.json
Adds the full Release Please config with simple release type and extra-files entries for build.zig.zon, README.md, and the installation MDX; pins the manifest to v0.7.0.
GitHub Actions workflow
.github/workflows/release-please.yml
Adds a workflow triggered on pushes to main that runs googleapis/release-please-action@v4 with contents: write and pull-requests: write permissions, pointing at the config and manifest files.
Version markers in tracked files
build.zig.zon, README.md, docs/content/docs/installation.mdx
Adds // x-release-please-version inline comment to build.zig.zon and wraps version snippets in README.md and the installation MDX with x-release-please-start-version/x-release-please-end HTML comment markers.
Conventional Commits documentation
CONTRIBUTING.md
Adds a "Commit Messages" section documenting required Conventional Commits prefixes (fix:, feat:, feat!:) for PR titles and squash-merge commits.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

  • StrobeLabs/eth.zig#58: Edits the same version-pinned installation snippets in README.md, docs/content/docs/installation.mdx, and build.zig.zon, overlapping on the exact fields now wrapped with release-please markers.

Poem

🐰 Hop, hop, the versions align,
A manifest set, a workflow divine.
fix: and feat: the commits shall say,
Release Please will tag the right way.
No more manual bumps — automation's here to stay! 🎉

🚥 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 title 'Add release-please automation' accurately summarizes the main change—introducing release-please infrastructure and GitHub Actions workflow for automated versioning and releases.
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

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 and usage tips.

@coderabbitai coderabbitai 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.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.github/workflows/release-please.yml:
- Line 16: The googleapis/release-please-action reference in the
release-please.yml workflow is using a mutable semantic version tag (v4) instead
of being pinned to a specific commit SHA, which creates a security risk. Replace
the `@v4` tag with the full commit SHA for v4.4.1, optionally adding a comment to
indicate the version for maintainability. If possible, consider upgrading to the
latest v5.0.0 version and pinning that to its corresponding commit SHA instead
for access to newer features.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 3a60fd75-05ab-4f07-91db-176b9bfa1828

📥 Commits

Reviewing files that changed from the base of the PR and between 554e174 and 25c405d.

📒 Files selected for processing (7)
  • .github/.release-please-manifest.json
  • .github/release-please-config.json
  • .github/workflows/release-please.yml
  • CONTRIBUTING.md
  • README.md
  • build.zig.zon
  • docs/content/docs/installation.mdx

name: Release Please
runs-on: ubuntu-latest
steps:
- uses: googleapis/release-please-action@v4

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.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🌐 Web query:

What is the latest commit SHA for googleapis/release-please-action v4?

💡 Result:

As of June 14, 2026, there is no longer a v4 tag for the googleapis/release-please-action repository, as the project has progressed to version 5.0.0 [1]. The latest release associated with the v4 series was v4.4.1 [2][1], which corresponds to commit SHA 5c625bfb5d1ff62eadeeb3772007f7f66fdcf071 [2]. Following the v4.4.1 release, the repository continued to receive commits, including subsequent architectural updates such as the upgrade to Node 24 (commit 46dfc01594fc6ec99626bc73e479c52bdf554f88) [3] leading into the 5.0.0 major release [1]. Consequently, while 5c625bfb5d1ff62eadeeb3772007f7f66fdcf071 is the final commit SHA for the v4.4.1 release [2], the action's main development branch has since moved forward [4][1].

Citations:


🌐 Web query:

GitHub Actions best practices action version pinning commit SHA vs semantic version tags

💡 Result:

For optimal security and stability in GitHub Actions, the best practice is to pin actions to a full-length commit SHA [1][2][3]. Pinning by Commit SHA vs. Semantic Version Tags Pinning to a full-length commit SHA (e.g., actions/checkout@3df4ab1) is the only method that provides an immutable reference [1][4][3]. Because Git tags are mutable and can be moved or deleted by an action's maintainer (or an attacker who compromises the repository), using a tag (e.g., actions/checkout@v4) exposes your workflows to "retargeting" attacks where the code executed by your workflow could change unexpectedly without your knowledge [1][5][3]. Security Implications - Commit SHA: Protects against supply chain attacks where malicious code is pushed to an existing tag or the repository itself [1][3]. It guarantees that the exact code you audited is the code that runs in your runner [4][3]. - Semantic Version Tags: More convenient for receiving automatic updates, but inherently risky unless you strictly trust the creator [1][4]. The "Verified creator" badge in the GitHub Marketplace is a useful signal, but it does not eliminate the risk of an account compromise [1]. Best Practices for Implementation - Mandatory Pinning: Where security is the highest priority, configure organization-level policies to enforce SHA pinning [1][2][3]. This causes any workflow using non-SHA references to fail [2][3]. - Human-Readable Maintenance: To keep pins maintainable, include the version tag as a comment in the workflow file alongside the SHA [3]: - uses: actions/checkout@3df4ab1 # v4.0.0 - Automate Updates: Use dependency management tools like Renovate or Dependabot to automatically update your pinned SHAs [5][3][6]. For example, Renovate offers presets (e.g., helpers:pinGitHubActionDigestsToSemver) that manage the process of keeping SHAs up to date while maintaining a human-readable version reference, significantly reducing manual maintenance burden [5][3]. While major version binding is sometimes recommended to easily consume functional updates, the current industry standard for hardened environments is to treat third-party actions as immutable dependencies by pinning to SHAs [1][3][7].

Citations:


🌐 Web query:

googleapis/release-please-action v4 tag current status 2026

💡 Result:

As of June 14, 2026, the googleapis/release-please-action v4 tag is no longer the current version [1][2]. The project has advanced to version 5.0.0, which was released on April 22, 2026 [3][1]. This major release included a breaking change to upgrade the underlying runtime to Node.js 24 [3][1]. The last minor release within the v4 series was v4.4.1, released on February 20, 2026 [4][5].

Citations:


Pin the action to a specific commit SHA.

The action reference googleapis/release-please-action@v4 is not pinned to a commit hash, which violates the blanket pinning policy. Semantic version tags are mutable and can be redirected by the upstream repository, exposing your workflow to supply-chain attacks where the executed code could change without your knowledge.

Pin to the commit SHA for v4.4.1: googleapis/release-please-action@5c625bfb5d1ff62eadeeb3772007f7f66fdcf071 (optionally add # v4.4.1 as a comment for maintainability).

Note: The v4 series is no longer the latest version. Consider upgrading to v5.0.0 if you need newer features, then pin that version to its commit SHA as well.

🧰 Tools
🪛 zizmor (1.25.2)

[error] 16-16: unpinned action reference (unpinned-uses): action is not pinned to a hash (required by blanket policy)

(unpinned-uses)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/workflows/release-please.yml at line 16, The
googleapis/release-please-action reference in the release-please.yml workflow is
using a mutable semantic version tag (v4) instead of being pinned to a specific
commit SHA, which creates a security risk. Replace the `@v4` tag with the full
commit SHA for v4.4.1, optionally adding a comment to indicate the version for
maintainability. If possible, consider upgrading to the latest v5.0.0 version
and pinning that to its corresponding commit SHA instead for access to newer
features.

Source: Linters/SAST tools

@Mario-SO

Mario-SO commented Jun 14, 2026

Copy link
Copy Markdown
Contributor Author

I found this release-please repo from google thingy, I honestly didnt know about it when you mentioned it, had to do some searching and ask AI about it to learn how it worked.

Pretty cool learning this release flow.

@koko1123

Copy link
Copy Markdown
Contributor

@Mario-SO thanks for this! merging now

@koko1123
koko1123 merged commit c00c091 into StrobeLabs:main Jun 23, 2026
6 of 7 checks passed
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.

2 participants