Skip to content

feat: release automation configs#262

Merged
SoulPancake merged 5 commits intomainfrom
feat/release-automation
Apr 9, 2026
Merged

feat: release automation configs#262
SoulPancake merged 5 commits intomainfrom
feat/release-automation

Conversation

@SoulPancake
Copy link
Copy Markdown
Member

@SoulPancake SoulPancake commented Mar 30, 2026

Description

What problem is being solved?

How is it being solved?

What changes are made to solve it?

References

Review Checklist

  • I have clicked on "allow edits by maintainers".
  • I have added documentation for new/changed functionality in this PR or in a PR to openfga.dev [Provide a link to any relevant PRs in the references section above]
  • The correct base branch is being used, if not main
  • I have added tests to validate that the change in functionality is working as expected

Summary by CodeRabbit

  • Chores
    • Enabled automated release workflow using GitHub Actions with manual dispatch and commit-triggered capabilities
    • Added comprehensive release process documentation detailing versioning strategies and workflow instructions for contributors
    • Updated project configuration to support automated version tracking and changelog management
    • Configured conventional commit mappings for proper changelog generation and release categorization

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Mar 30, 2026

Important

Review skipped

Auto incremental reviews are disabled on this repository.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 5c14386a-4388-4f4f-9fde-fa50cedbf7b9

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Walkthrough

The PR introduces automated release infrastructure using release-please. It adds a GitHub Actions workflow configuration, release-please manifests and configuration files, a release process guide, and version tracking markers in version-bearing files.

Changes

Cohort / File(s) Summary
Release Automation Infrastructure
.github/workflows/release-please.yml, .release-please-manifest.json, release-please-config.json
New GitHub Actions workflow that triggers release automation via manual dispatch or commit messages; configured to delegate to a reusable workflow with semantic versioning rules and changelog generation; manifest and configuration files define version tracking and release behavior for Python projects.
Release Documentation
RELEASE.md
New guide documenting the release process, including pre-1.0.0 versioning conventions, step-by-step workflow instructions, bump type guidance, and troubleshooting tips for release-please automation.
Version Tracking Markers
openfga_sdk/constants.py, README.md, example/example1/requirements.txt, example/example1/setup.py
Added inline comments (# x-release-please-version) to version specification lines, enabling release-please to automatically update versions during release cycles.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Suggested reviewers

  • sergiught
🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main change: adding release automation configuration files including workflow, manifest, and config files.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ 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 feat/release-automation

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.

@codecov-commenter
Copy link
Copy Markdown

codecov-commenter commented Mar 30, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 69.84%. Comparing base (a6edd7c) to head (deaaac3).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #262   +/-   ##
=======================================
  Coverage   69.84%   69.84%           
=======================================
  Files         140      140           
  Lines       10743    10743           
=======================================
  Hits         7503     7503           
  Misses       3240     3240           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@SoulPancake SoulPancake marked this pull request as ready for review April 2, 2026 06:31
@SoulPancake SoulPancake requested a review from a team as a code owner April 2, 2026 06:31
Copilot AI review requested due to automatic review settings April 2, 2026 06:31
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds release automation via release-please for the Python SDK repo, including configuration, manifest, a GitHub Actions workflow, and operator documentation.

Changes:

  • Add release-please-config.json and .release-please-manifest.json to drive automated versioning and changelog generation.
  • Add a release-please GitHub Actions workflow with workflow_dispatch inputs.
  • Add RELEASE.md and annotate SDK_VERSION for release-please-managed updates.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
RELEASE.md New release runbook describing how to cut releases and troubleshoot release-please.
release-please-config.json Release-please configuration for Python releases, changelog sections, and extra files to bump.
openfga_sdk/constants.py Marks SDK_VERSION for automated version bumping.
.release-please-manifest.json Initializes the release-please manifest version.
.github/workflows/release-please.yml Adds the workflow that runs the reusable release-please automation.

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

@SoulPancake SoulPancake requested review from a team as code owners April 9, 2026 16:00
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 4

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In @.github/workflows/release-please.yml:
- Line 39: Replace the mutable branch ref in the reusable workflow reference
"openfga/sdk-generator/.github/workflows/release-please.yml@main" with an
immutable commit SHA: locate the line containing that uses string and change the
`@main` suffix to a specific full commit SHA from the openfga/sdk-generator repo
(obtain the SHA from the repo's commit history or GitHub UI) so the workflow is
pinned to an immutable revision for supply-chain integrity.
- Around line 7-9: The push-event commit-message check uses
startsWith(github.event.head_commit.message, 'release:'), which misses
release-please commit titles like "chore(release): ..."; update the condition to
detect any release-related commit (for example replace
startsWith(github.event.head_commit.message, 'release:') with
contains(github.event.head_commit.message, 'release') or use
matches(github.event.head_commit.message, '.*release.*')) so commits such as
"chore(release): v0.10.0 (`#261`)" will correctly trigger the release job.

In `@RELEASE.md`:
- Around line 64-66: The fenced code blocks in the RELEASE.md snippet (the block
containing "0.11.0-beta.1  →  explicit: 0.11.0-beta.2  →  explicit: 0.11.0" and
the block with the changelog lines "feat: add support for batch check ..." etc.)
are missing language identifiers and trigger MD040; update both fenced blocks to
include a language tag (use "text") so they become "```text" at the opening
fence, preserving the inner content exactly. Ensure every fenced code block in
that area uses the language identifier to satisfy markdownlint.
- Around line 80-82: The RELEASE.md states that the "refactor" type is hidden,
but release-please is configured differently; update either the changelog or the
release-please configuration so they match: locate the "refactor" entry in
release-please-config.json and set "hidden": true to match RELEASE.md, or
alternatively change the RELEASE.md wording to indicate "refactor" is not
hidden; ensure the "refactor" symbol and its "hidden" boolean in
release-please-config.json and the RELEASE.md phrasing are consistent.
🪄 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: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: d4e69b7e-e0f9-4e4c-9db6-051d2dbb8f39

📥 Commits

Reviewing files that changed from the base of the PR and between a6edd7c and 1c38ca5.

📒 Files selected for processing (8)
  • .github/workflows/release-please.yml
  • .release-please-manifest.json
  • README.md
  • RELEASE.md
  • example/example1/requirements.txt
  • example/example1/setup.py
  • openfga_sdk/constants.py
  • release-please-config.json

@SoulPancake SoulPancake enabled auto-merge April 9, 2026 16:24
@SoulPancake SoulPancake added this pull request to the merge queue Apr 9, 2026
Merged via the queue into main with commit fdee3c6 Apr 9, 2026
29 checks passed
@SoulPancake SoulPancake deleted the feat/release-automation branch April 9, 2026 16:36
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.

4 participants