-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Update CI workflow for pushing to master #623
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
📝 WalkthroughWalkthroughRestructures CI into a consolidated multi-job pipeline (test, upload-coverage, additional-tests, pack-push-ci) with concurrency and PR triggers; centralizes .NET SDK installs and Codecov uploads; and scopes assembly signing properties to Release builds in two project files. (34 words) Changes
Sequence Diagram(s)sequenceDiagram
autonumber
actor Dev as Push / PR
participant GH as GitHub Actions
participant Test as job:test
participant Cov as job:upload-coverage
participant Add as job:additional-tests
participant Pack as job:pack-push-ci
Dev->>GH: Push or PR triggers workflow
GH->>Test: Checkout → Install .NET SDK → Run tests → Produce coverage artifact
Test-->>Cov: Publish/download coverage artifact
Cov->>Cov: Prepare coverage files → Upload to Codecov
GH->>Add: Checkout → Install .NET SDK → Run trim analysis & API tests
par Dependencies complete
Test-->>GH: test result
Add-->>GH: additional-tests result
Cov-->>GH: coverage upload result
end
GH->>Pack: On dependencies success → Checkout → Install .NET SDK → Pack → Publish packages
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
Suggested reviewers
Pre-merge checks and finishing touches✅ Passed checks (3 passed)
✨ Finishing touches🧪 Generate unit tests
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (1)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
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. Comment |
There was a problem hiding this 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
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (3)
.github/workflows/wf-build-release-ci.yml(1 hunks)QRCoder.Xaml/QRCoder.Xaml.csproj(1 hunks)QRCoder/QRCoder.csproj(1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
- GitHub Check: build
- GitHub Check: test
- GitHub Check: additional-tests
There was a problem hiding this 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
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
.github/workflows/wf-build-release-ci.yml(1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
- GitHub Check: build
- GitHub Check: additional-tests
- GitHub Check: test
There was a problem hiding this 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
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
.github/workflows/wf-build-test.yml (1)
15-16: Remove deprecated ACTIONS_ALLOW_UNSECURE_COMMANDSThis flag is deprecated and unnecessary here; keeping it weakens security posture.
- env: - ACTIONS_ALLOW_UNSECURE_COMMANDS: true
🧹 Nitpick comments (2)
.github/workflows/wf-build-test.yml (1)
32-36: Avoid uploading the entire workspace; add checkout to test job and only ship build outputsUploading $GITHUB_WORKSPACE is slow and costly. Since the test job doesn’t checkout the repo, it needs source files. Add checkout to test and restrict artifacts to bin outputs.
- name: Upload artifacts uses: actions/upload-artifact@v4 with: name: Compiled project - path: ${{ github.workspace }} + path: | + QRCoder/**/bin/** + QRCoder.Xaml/**/bin/** + QRCoderTests/**/bin/**Also add checkout to the test job:
test: needs: build runs-on: windows-latest strategy: fail-fast: false name: Test ${{ matrix.dotnet-framework.name }} steps: + - uses: actions/checkout@v4 + name: Checkout Code - name: Download artifacts uses: actions/download-artifact@v4Also applies to: 38-41, 54-59
.github/workflows/wf-build-release-ci.yml (1)
40-42: Make coverage matching explicit and pass to CodecovTighten the glob to the actual coverlet output and pass it to Codecov to avoid discovery misses.
- path: QRCoderTests/coverage.*.xml + path: QRCoderTests/coverage*.opencover.xml- name: Upload to Codecov uses: codecov/codecov-action@v4 with: token: ${{ secrets.CODECOV_TOKEN }} fail_ci_if_error: true + files: coverage*.opencover.xmlAlso applies to: 53-58
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (3)
.github/workflows/wf-build-release-ci.yml(1 hunks).github/workflows/wf-build-test.yml(2 hunks)QRCoder/QRCoder.csproj(1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
- GitHub Check: build
- GitHub Check: additional-tests
- GitHub Check: test
🔇 Additional comments (5)
.github/workflows/wf-build-test.yml (2)
8-11: Good use of PR-scoped concurrencyPrevents overlapping PR runs; cancel-in-progress is appropriate.
42-42: Disabling fail-fast is appropriate for matrix testsEnsures all target frameworks report results.
QRCoder/QRCoder.csproj (1)
60-64: Signing gated to Release: LGTMLimits strong-name signing to Release builds; improves local dev ergonomics.
Confirm QRCoder.Xaml mirrors this change (AI summary says yes) and that any consumers expecting signed Debug assemblies are updated.
.github/workflows/wf-build-release-ci.yml (2)
10-13: Concurrency per ref/workflow: LGTMPrevents overlapping CI runs on the same ref.
26-31: Verify availability of EOL SDKs (2.1.x/3.1.x)windows-latest images may no longer host or allow installing these. Keep only if strictly required; otherwise drop to reduce flakiness.
|
@gfoidl I'm proactively merging this, but lmk if you have any comments and I can address them in a follow-up PR. |
Summary by CodeRabbit
Chores
Build