Repository navigation
feat(ci): add release-dry-run workflow to omnibase_compat [OMN-4867] - #5
Conversation
Creates .github/workflows/release-dry-run.yml that runs uv build on every PR targeting main, verifying the package builds successfully before merge. Follows the pattern established in omnibase_core.
|
Warning Rate limit exceeded
⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Lite Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (1)
📝 WalkthroughWalkthroughTwo GitHub Actions workflows are modified: the CI workflow adds a Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Poem
📝 Coding Plan
Comment |
…N-4867] Pre-existing CI failure: ruff resolves to a version without manylinux_2_39 wheels when uv sync runs without --frozen. Using --frozen ensures CI always uses the exact versions pinned in uv.lock.
There was a problem hiding this comment.
🧹 Nitpick comments (1)
.github/workflows/release-dry-run.yml (1)
15-17: Pinuv-versionexplicitly to ensure consistent toolchain behavior across CI and local environments.Without pinning,
setup-uv@v3can use differentuvversions on different runs, leading to potential behavioral differences. Currently neither workflow specifies a version.Consider pinning to a specific stable version:
- uses: astral-sh/setup-uv@v3 with: python-version: '3.12' uv-version: '0.x.y' # Pin to a stable versionEnsure both
.github/workflows/ci.ymland.github/workflows/release-dry-run.ymluse the same pinned version for consistency.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.github/workflows/release-dry-run.yml around lines 15 - 17, The workflow uses the astral-sh/setup-uv@v3 action without pinning the uv-version; update the action invocation (the uses: astral-sh/setup-uv@v3 block where with: python-version: '3.12' is set) to add an explicit uv-version key pinning to a stable release (e.g., uv-version: '0.x.y'), and apply the same pinned uv-version to the identical block in .github/workflows/ci.yml so both workflows use the same toolchain version for consistency.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In @.github/workflows/release-dry-run.yml:
- Around line 15-17: The workflow uses the astral-sh/setup-uv@v3 action without
pinning the uv-version; update the action invocation (the uses:
astral-sh/setup-uv@v3 block where with: python-version: '3.12' is set) to add an
explicit uv-version key pinning to a stable release (e.g., uv-version: '0.x.y'),
and apply the same pinned uv-version to the identical block in
.github/workflows/ci.yml so both workflows use the same toolchain version for
consistency.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Lite
Run ID: 776ee3b2-66e5-4c9a-97f0-4ff3c272a5a4
📒 Files selected for processing (2)
.github/workflows/ci.yml.github/workflows/release-dry-run.yml
…4 [OMN-4867] Pre-existing CI failure: uv resolves ruff to a version without manylinux_2_39 wheels when uv.lock is not committed. Fix: add uv.lock to version control and configure tool.uv.required-environments to include linux/darwin/win32 platforms, ensuring the resolver always pins a compatible ruff wheel.
…w script refs (#196) * fix(OMN-16700): restore the OCC manual-replay precheck + gate workflow script refs `.github/workflows/call-occ-autobind.yml` and `call-occ-companion-effect.yml` both run `python3 scripts/ci/occ_manual_replay_precheck.py pr_state.json`, and that script has never existed in this repo. Every manual OCC replay dispatched here died at `[Errno 2] No such file or directory` (run 33001337186) before the precheck could decide anything -- the sanctioned recovery path for a missed mint was a dead end. Two changes: 1. `scripts/ci/occ_manual_replay_precheck.py`, ported from the canonical omniclaude copy (OMN-14993 origin in omnibase_infra#2411, hardened by OMN-15393 in omniclaude#1962). 2. A standing guard -- `tests/ci/test_workflow_script_refs_exist.py` plus the `Workflow Script Reference Gate` CI job and a matching pre-commit hook -- asserting that every `scripts/**` path a `run:` step executes from the repo root exists in the tree. Detection alone would not have prevented this; the gate is wired on both surfaces in this PR (Operating Rule #5). * fix: detach the workflow-script-refs gate from repo pytest wiring The gate job runs in a bare env with only pytest and pyyaml. Two repo-level pytest settings broke it for reasons unrelated to workflow script paths: tests/conftest.py imports omnibase_core (ModuleNotFoundError, exit 4), and pyproject combines --strict-config with pytest-asyncio config keys, so zero tests run while collection still reports 12. --noconftest and -c /dev/null detach both. The module resolves its repo root from __file__, so nothing it checks changes.
Summary
.github/workflows/release-dry-run.ymlthat runsuv buildon every PR targetingmainomnibase_corerelease-dry-run-summaryjob for branch protection gate compatibilityLinear
Closes OMN-4867
Risk
Low — adds a new CI workflow file only. No source code changes.
Test Evidence
Workflow triggers on
pull_requesttargetingmain. Theuv buildstep producesdist/*.whlanddist/*.tar.gz. Acceptance: workflow runs and exits 0 on a clean PR.Rollback
Delete
.github/workflows/release-dry-run.yml.Summary by CodeRabbit