Skip to content

feat(ci): build pipeline improvements#225

Merged
UnknownPlatypus merged 8 commits intomainfrom
mirror-ruff-build-pipeline
Mar 18, 2026
Merged

feat(ci): build pipeline improvements#225
UnknownPlatypus merged 8 commits intomainfrom
mirror-ruff-build-pipeline

Conversation

@UnknownPlatypus
Copy link
Copy Markdown
Owner

@UnknownPlatypus UnknownPlatypus commented Mar 18, 2026

Summary

Adapts 6 build pipeline improvements from ruff (astral-sh/ruff) to djangofmt's release workflow:

  • Explicit manylinux targets: Pin manylinux: 2_17 (or 2_31 for riscv64) instead of auto to prevent silent compatibility shifts
  • --compatibility pypi validation: Pre-upload wheel validation on all 7 build jobs
  • Concurrency fix: Hard-code group name to prevent cross-workflow cancellation; only cancel in-progress for PRs
  • Python 3.11 → 3.13: Keep build environment current
  • Drop powerpc64-unknown-linux-gnu (big-endian): Dead platform, no known users
  • Add riscv64gc-unknown-linux-gnu: New target with manylinux 2_31, libatomic1, and JEMALLOC page size override

Test plan

  • Dry-run release dispatch (tag: dry-run) to confirm all matrix builds succeed
  • Verify YAML lint passes

Hard-code workflow name to prevent cross-workflow cancellation.
Only cancel in-progress for PRs, not release runs.
Bump build Python from 3.11 to 3.13 to match ruff.
- Add per-entry manylinux field to linux-cross matrix
- Drop powerpc64-unknown-linux-gnu (big-endian, dead platform)
- Add riscv64gc-unknown-linux-gnu with manylinux 2_31
- Install libatomic1 for riscv64 builds
- Add --compatibility pypi pre-upload validation
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Mar 18, 2026

📝 Walkthrough

Walkthrough

The PR modifies the GitHub Actions release-build-binaries workflow and distribution config. Key changes: concurrency group renamed to include ${{ github.ref }} with conditional cancel-on-in-progress for PRs; Python bumped 3.11→3.13; manylinux targets made explicit (e.g., 2_17, 2_31) and propagated to build/test/upload steps; --compatibility pypi added to maturin invocations; matrix extended with additional manylinux and riscv targets; libatomic1 installation added for certain Linux targets; powerpc64 target removed and riscv64gc-unknown-linux-gnu added in dist-workspace.toml. Two new docs describe plan and design.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description check ✅ Passed The description comprehensively details six specific improvements being adapted from Ruff, matching the changeset which includes workflow updates, distribution config changes, and implementation/design documentation.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Title check ✅ Passed The title 'feat(ci): build pipeline improvements' is a broad descriptor of the changeset covering CI workflow and distribution config updates, but lacks specificity about the main improvements (manylinux targeting, --compatibility pypi, riscv64 addition).

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

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch mirror-ruff-build-pipeline
📝 Coding Plan
  • Generate coding plan for human review comments

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.

Tip

CodeRabbit can use TruffleHog to scan for secrets in your code with verification capabilities.

Add a TruffleHog config file (e.g. trufflehog-config.yml, trufflehog.yml) to your project to customize detectors and scanning behavior. The tool runs only when a config file is present.

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: 1

🤖 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-build-binaries.yml:
- Around line 164-167: The before-script-linux step currently installs
libatomic1 unconditionally for all linux-cross matrix entries; narrow this to
only install when the build target is riscv64 by checking the matrix platform
target (referencing before-script-linux and matrix.platform.target) and only run
apt-get update && apt-get install -y libatomic1 when matrix.platform.target
equals the riscv64 target string (e.g., "riscv64gc-unknown-linux-gnu") and
apt-get is available; update the conditional in the before-script-linux block
accordingly so other linux targets skip installing libatomic1.
🪄 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: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 25ef0614-ee8d-448a-a0ef-cdf777f1c2e8

📥 Commits

Reviewing files that changed from the base of the PR and between 3329b72 and 534bf29.

📒 Files selected for processing (4)
  • .github/workflows/release-build-binaries.yml
  • dist-workspace.toml
  • docs/superpowers/plans/2026-03-12-mirror-ruff-build-pipeline.md
  • docs/superpowers/specs/2026-03-12-mirror-ruff-build-pipeline-design.md

Address CodeRabbit feedback: only install libatomic1 when building
for riscv64gc-unknown-linux-gnu, making the intent clearer.
@UnknownPlatypus UnknownPlatypus changed the title ci: mirror ruff build pipeline improvements feat(ci): build pipeline improvements Mar 18, 2026
@UnknownPlatypus UnknownPlatypus merged commit 3e3b009 into main Mar 18, 2026
33 checks passed
@UnknownPlatypus UnknownPlatypus deleted the mirror-ruff-build-pipeline branch March 18, 2026 00:40
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