Skip to content

docs: adopt the feature → develop → PR → main branching model - #10

Open
ericwait wants to merge 1 commit into
mainfrom
develop
Open

docs: adopt the feature → develop → PR → main branching model#10
ericwait wants to merge 1 commit into
mainfrom
develop

Conversation

@ericwait

@ericwait ericwait commented Jul 9, 2026

Copy link
Copy Markdown
Owner

Brings the documentation in line with the post-4.0.0 reality and establishes the branching model:

  • CONTRIBUTING.md: branching model (feature branches target develop; releases go through a developmain PR), release checklist updated to match.
  • CLAUDE.md: scikit-build-core pip build as the canonical path, conda-forge distribution, the Python TIFF accuracy suite, and the actual CI workflows (the documented conda-build.yml no longer exists).
  • ci.yml: drop the retired conda-forge branch from push triggers.
  • ci-readme.md: removed; it described a workflow that was never adopted.

Branch cleanup done alongside: conda-forge deleted (merged), 2019-era testing and experimental/new-process-mutex preserved as archive/* tags and deleted, PR #7 retargeted to develop.

🤖 Generated with Claude Code

Summary by Sourcery

Document the updated feature → develop → PR → main branching and release workflow and align CI/docs with the current build and distribution setup.

CI:

  • Update ci.yml triggers to stop building on the retired conda-forge branch.

Documentation:

  • Describe the branching model and release flow in CONTRIBUTING.md, including develop-targeted feature branches and develop → main release PRs.
  • Update CLAUDE.md to make the scikit-build-core pip path canonical, document conda-forge-based distribution, the Python TIFF accuracy suite, and the actual CI workflows.
  • Remove the obsolete ci-readme.md that documented an unused workflow.

CLAUDE.md: current build/test/CI reality (scikit-build-core pip path,
conda-forge distribution, the Python TIFF accuracy suite, ci.yml +
release.yml instead of the removed conda-build.yml).
CONTRIBUTING.md: branching model and PRs target develop; release flow
goes through a develop -> main PR.
ci.yml: drop the retired conda-forge branch from the push triggers.
ci-readme.md described a workflow that no longer exists; removed.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings July 9, 2026 01:31
@sourcery-ai

sourcery-ai Bot commented Jul 9, 2026

Copy link
Copy Markdown

Reviewer's Guide

Documentation and CI configuration are updated to codify the feature → develop → PR → main branching/release model, align build/test instructions with the current scikit-build-core + conda-forge pipeline, and remove obsolete CI artifacts and triggers.

File-Level Changes

Change Details Files
Document the feature → develop → PR → main branching model and update the release checklist to match the new workflow.
  • Add a dedicated branching model section describing feature/fix branches targeting develop and protected main with green CI gate.
  • Clarify that releases are driven by a develop → main pull request followed by tagging on main.
  • Update the release checklist to reference TESTING.md, performing version bumps on develop, and merging via a develop → main PR.
CONTRIBUTING.md
Refresh CLAUDE.md to describe the canonical scikit-build-core pip build, conda-forge distribution model, the Python TIFF accuracy suite, and the actual CI workflows and branching model.
  • Define pip install . via scikit-build-core as the primary Python build path and reposition raw CMake targets as secondary.
  • Describe end-user distribution via conda-forge and the feedstock’s role as a patch-free wrapper around pip install ..
  • Highlight the Python TIFF accuracy suite as the release gate and add explicit branching/release model documentation.
  • Update the CI section to reference ci.yml, release.yml, and matlab-multibuild.yml instead of the removed conda-build.yml.
CLAUDE.md
Align CI triggers with the current branch layout by removing the retired conda-forge branch from push triggers.
  • Update the GitHub Actions CI workflow push trigger branches list to only include main and develop.
  • Keep pull_request triggers aligned to main and develop.
.github/workflows/ci.yml
Remove obsolete CI documentation that referenced a workflow never adopted.
  • Delete ci-readme.md, which described an unused CI workflow.
ci-readme.md

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@coderabbitai

coderabbitai Bot commented Jul 9, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: d8794925-6a4a-4f89-a9a8-880205bba91f

📥 Commits

Reviewing files that changed from the base of the PR and between efa986d and c42cdb7.

📒 Files selected for processing (4)
  • .github/workflows/ci.yml
  • CLAUDE.md
  • CONTRIBUTING.md
  • ci-readme.md
💤 Files with no reviewable changes (1)
  • ci-readme.md
📜 Recent review details
⏰ Context from checks skipped due to timeout. (5)
  • GitHub Check: copilot-pull-request-reviewer
  • GitHub Check: Build & import (ubuntu-latest, py3.12)
  • GitHub Check: Build & import (windows-latest, py3.12)
  • GitHub Check: Build & import (ubuntu-latest, py3.12)
  • GitHub Check: Build & import (windows-latest, py3.12)
🧰 Additional context used
🪛 LanguageTool
CLAUDE.md

[uncategorized] ~99-~99: The official name of this software platform is spelled with a capital “H”.
Context: ...cy suites run locally, see TESTING.md). .github/workflows/release.yml runs on v* tag...

(GITHUB)


[uncategorized] ~99-~99: The official name of this software platform is spelled with a capital “H”.
Context: ...rkflows/release.ymlruns onv*tags..github/workflows/matlab-multibuild.yml` builds...

(GITHUB)

🪛 markdownlint-cli2 (0.22.1)
CONTRIBUTING.md

[warning] 5-5: Link text should be descriptive

(MD059, descriptive-link-text)

🔇 Additional comments (3)
.github/workflows/ci.yml (1)

11-13: LGTM!

CLAUDE.md (1)

14-18: LGTM!

Also applies to: 30-33, 47-49, 91-99

CONTRIBUTING.md (1)

5-18: LGTM!

Also applies to: 63-67


📝 Walkthrough

Summary by CodeRabbit

  • Documentation

    • Expanded contributor and build guidance with clearer branching, release, testing, and CI/CD instructions.
    • Added updated notes for common build and release workflows.
    • Removed an outdated CI documentation page.
  • Chores

    • Narrowed CI runs on push to the main and develop branches only.

Walkthrough

The CI workflow's push trigger is restricted to main and develop branches, removing conda-forge. Documentation in CLAUDE.md and CONTRIBUTING.md is updated to describe build commands, a Python accuracy test gate, and the branching/release model; the outdated ci-readme.md is deleted.

Changes

Branching and CI Documentation

Layer / File(s) Summary
CI workflow branch trigger
.github/workflows/ci.yml
Push trigger now runs only for main and develop, dropping conda-forge.
Build and release docs update
CLAUDE.md
Adds canonical Python build command, refines CMake build target notes, adds a Python TIFF accuracy suite as release gate, and updates branching/release and CI workflow descriptions.
Contributing branching model
CONTRIBUTING.md
Adds a Branching model section and clarifies Releasing steps referencing TESTING.md and the develop-to-main PR flow.
Outdated CI docs removal
ci-readme.md
Removes the deprecated CI/CD documentation file.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Poem

A branch renamed, a doc refined,
Main and develop, neatly aligned.
Old readme hops away for good,
New guides stand where confusion stood.
🐇 Thump-thump — release time understood!

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the main documentation change: adopting the feature → develop → PR → main branching model.
Description check ✅ Passed The description matches the documented workflow and CI updates described in the changeset.
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.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch develop

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.

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Hey - I've left some high level feedback:

  • The branching/release model is now described in both CONTRIBUTING.md and CLAUDE.md; consider consolidating this into a single canonical section and linking to it to avoid future drift between the two descriptions.
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- The branching/release model is now described in both CONTRIBUTING.md and CLAUDE.md; consider consolidating this into a single canonical section and linking to it to avoid future drift between the two descriptions.

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

Updates project documentation and CI triggers to match the post-4.0.0 branching/release workflow (feature/fix work targeting develop, with releases promoted via developmain PRs) and removes obsolete CI documentation.

Changes:

  • Document the feature/*develop → PR → main branching and release flow in CONTRIBUTING.md and CLAUDE.md.
  • Align CLAUDE.md with the canonical pip install . (scikit-build-core) build path, conda-forge distribution, and current CI workflows.
  • Update CI push triggers to stop running on the retired conda-forge branch and delete the unused ci-readme.md.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.

File Description
CONTRIBUTING.md Adds branching model + updates release checklist to reflect developmain release PR flow.
CLAUDE.md Updates canonical build/test/release documentation and current CI workflow references.
.github/workflows/ci.yml Removes conda-forge from push branch triggers.
ci-readme.md Removes obsolete CI documentation file.

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

Comment thread CLAUDE.md
Comment on lines +14 to +16
# Canonical Python build (scikit-build-core drives CMake + nvcc and installs
# the package; run from the repository root in an env with cmake/ninja/numpy)
pip install . --no-build-isolation -v
Comment thread CLAUDE.md

- `main` is protected (PR + green CI required); `develop` is the integration branch.
- Work on `feature/<name>` branches cut from `develop`, merge them into `develop`, and open a PR `develop` → `main` when a release-worthy state is reached.
- Releases are tag-driven: bump `pyproject.toml` + `CHANGELOG.md`, work through TESTING.md (the GPU accuracy suites cannot run in CI), merge to `main`, then `git tag vX.Y.Z && git push origin vX.Y.Z`. `release.yml` enforces tag == version and publishes the GitHub Release; conda-forge's autotick bot then opens a feedstock version-bump PR.
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