feat: add multi-arch desktop build baseline#39
Conversation
|
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: Organization UI Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (8)
📝 WalkthroughWalkthroughWindows 및 macOS에 대해 amd64/arm64 아키텍처별 빌드 작업과 게이트를 추가하고, 아티팩트 명명·패키징·검증 로직 및 관련 문서·테스트를 아키텍처별로 확장했습니다. Changes
Sequence Diagram(s)sequenceDiagram
participant Dev as 개발자 (PR)
participant GH as GitHub Actions
participant RunnerA as Runner (amd64)
participant RunnerB as Runner (arm64)
participant Package as Packaging Script
participant Store as Artifact Storage / Release
Dev->>GH: PR 병합/워크플로우 트리거
GH->>RunnerA: build-*-amd64 시작
GH->>RunnerB: build-*-arm64 시작
RunnerA-->>Store: 업로드 아티팩트 bandscope-{os}-amd64-{sha}
RunnerB-->>Store: 업로드 아티팩트 bandscope-{os}-arm64-{sha}
GH->>GH: gate-* (대기: amd64 & arm64 완료)
GH->>Package: 아키텍처별 패키징 스크립트 실행 (manifest 포함)
Package-->>Store: 매니페스트·아카이브 업로드
GH->>Store: 릴리스에 아티팩트 첨부
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related issues
Poem
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
@coderabbitai review |
✅ Actions performedReview triggered.
|
There was a problem hiding this comment.
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 `@services/analysis-engine/tests/test_supply_chain_policy.py`:
- Around line 8-16: The load_module helper is duplicated between
test_supply_chain_policy.py and test_release_packaging.py; extract the shared
function into services/analysis-engine/tests/conftest.py and remove the
duplicate definitions from both test files. In the new conftest.py define
load_module with the same signature (referencing load_module, module_from_spec,
spec_from_file_location, Path, ModuleType) and ensure the required imports are
present, then update the tests to import load_module from conftest (or rely on
pytest discovery) so both test_supply_chain_policy.py and
test_release_packaging.py use the centralized helper.
🪄 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: ASSERTIVE
Plan: Pro
Run ID: c3893265-6227-4e9d-bb3a-6a64b4c27e91
📒 Files selected for processing (8)
.github/workflows/build-baseline.ymlARCHITECTURE.mddocs/security/cross-platform-build-policy.mddocs/security/github-required-checks.mdscripts/checks/verify_supply_chain.pyscripts/release/package_desktop_artifact.pyservices/analysis-engine/tests/test_release_packaging.pyservices/analysis-engine/tests/test_supply_chain_policy.py
|
@coderabbitai full review |
✅ Actions performedFull review triggered. |
|
@coderabbitai review |
✅ Actions performedReview triggered.
|
|
@coderabbitai review |
✅ Actions performedReview triggered.
|
|
@coderabbitai review |
✅ Actions performedReview triggered.
|
✅ Actions performedFull review triggered. |
✅ Actions performedReview triggered.
|
✅ Actions performedReview triggered.
|
Summary
Verification
cd services/analysis-engine && uv run pytest tests/test_release_packaging.py tests/test_supply_chain_policy.py -qpython3 scripts/checks/verify_supply_chain.py./scripts/harness/quickcheck.sh📝 Walkthrough
Walkthrough
멀티 아키텍처 빌드 지원을 위해 GitHub 워크플로우를 재구성했습니다. Windows와 macOS에 대해 amd64 및 arm64 아키텍처별 빌드 작업을 분리하고, 대응하는 게이트 작업을 추가하며, 아티팩트 명명과 패키징 로직을 아키텍처별로 업데이트했습니다.
Changes
.github/workflows/build-baseline.ymlgate-windows와gate-macos게이트 작업 추가하여 양쪽 아키텍처 빌드 완료 후 릴리스 단계 진행. 아티팩트 명명을bandscope-{os}-{arch}-...형식으로 변경.ARCHITECTURE.md,docs/security/cross-platform-build-policy.md,docs/security/github-required-checks.mdscripts/release/package_desktop_artifact.pyartifact_identity()함수로 표준 아티팩트 신원(플랫폼, 아치, 아카이브/매니페스트 명) 생성. 매니페스트 콘텐츠에 플랫폼, 아키텍처, 타겟 트리플 정보 포함.scripts/checks/verify_supply_chain.pywindows-2025,windows-11-arm,macos-15-intel,macos-15로 명시적 업데이트. 아키텍처별 아티팩트 토큰 4개 추가(bandscope-{os}-{arch}-...). 구식 runner 사용 시 아키텍처 커버리지 검증 로직 추가.services/analysis-engine/tests/test_release_packaging.py,services/analysis-engine/tests/test_supply_chain_policy.pyEstimated code review effort
🎯 3 (Moderate) | ⏱️ ~25 minutes
Possibly related issues
Poem