fix(ci): Avoid release artifact collision#915
Conversation
|
Claude finished @canercidam's task in 2m 16s —— View job Review of PR #915
The approach is sound — packaging each binary into a Two inline comments posted:
No blocking issues found. |
| if: steps.platform-check.outputs.skip != 'true' | ||
| uses: actions/upload-artifact@v4 | ||
| with: | ||
| name: rbuilder-${{ needs.extract-version.outputs.VERSION }}-${{ matrix.target }}${{ matrix.features && '-' }}${{ matrix.features }} |
There was a problem hiding this comment.
Nit: the artifact name field uses ${{ matrix.features && '-' }}${{ matrix.features }} (pre-existing pattern), while the new path fields use ${{ matrix.features && format('-{0}', matrix.features) || '' }}. These are functionally equivalent but maintaining two idioms for the same suffix is a readability/maintenance hazard. Consider unifying the name fields to also use format() for consistency.
|
Claude finished @canercidam's task in 1m 30s —— View job Review of PR #915 (re-review after new commits)
The second commit ( Remaining nit from first review (still applicable): The No new issues found. The approach is correct — tarballs per |
|
Claude finished @canercidam's task in 1m 53s —— View job Review of PR #915 (re-review after latest commit)
The third commit ( The changes look correct:
One inline comment posted: the inconsistent features suffix idiom between No new issues found. |
| if: steps.platform-check.outputs.skip != 'true' | ||
| uses: actions/upload-artifact@v4 | ||
| with: | ||
| name: rbuilder-${{ needs.extract-version.outputs.VERSION }}-${{ matrix.target }}${{ matrix.features && '-' }}${{ matrix.features }} |
There was a problem hiding this comment.
Nit (carried forward): The name fields still use the ${{ matrix.features && '-' }}${{ matrix.features }} idiom while path / env fields use ${{ matrix.features && format('-{0}', matrix.features) || '' }}. These are functionally equivalent but maintaining two patterns is a readability hazard. Consider unifying the name fields to also use format():
| name: rbuilder-${{ needs.extract-version.outputs.VERSION }}-${{ matrix.target }}${{ matrix.features && '-' }}${{ matrix.features }} | |
| name: rbuilder-${{ needs.extract-version.outputs.VERSION }}-${{ matrix.target }}${{ matrix.features && format('-{0}', matrix.features) || '' }} |
📝 Summary
Separate jobs/steps are writing the same rbuilder artifact. Previously the end result was a linux binary. And lately, it is a macOS binary.
This PR separates artifact writes by OS and arch, in
*.tar.gzformat.