-
Notifications
You must be signed in to change notification settings - Fork 9
fix(ci): artifact@v3 -> artifact@v4 #294
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
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.
Pull request overview
This PR upgrades GitHub Actions artifact actions from v3 to v4 across the CI workflow. However, the upgrade introduces critical breaking changes that have not been addressed.
Changes:
- Updated all 9 instances of
actions/upload-artifactfrom v3 to v4 - Updated all 10 instances of
actions/download-artifactfrom v3 to v4
Comments suppressed due to low confidence (4)
.github/workflows/ci.yml:390
- The postprocess job has a matrix with 55 parallel runs that all upload to the same artifact name "postprocess". In upload-artifact@v4, artifacts with the same name will overwrite each other instead of merging like in v3. You need to make artifact names unique per matrix job by including matrix variables in the name, for example: "postprocess_${{matrix.mode}}${{matrix.pname}}${{matrix.recon}}"
- uses: actions/upload-artifact@v4
with:
name: postprocess
retention-days: 30
path: |
out/*.images/*.png
out/*.root
.github/workflows/ci.yml:467
- The comparison job has a matrix with 14 parallel runs that all upload to the same artifact name "comparison". In upload-artifact@v4, artifacts with the same name will overwrite each other instead of merging like in v3. You need to make artifact names unique per matrix job by including matrix variables in the name, for example: "comparison_${{matrix.pname}}_${{matrix.recon}}"
- uses: actions/upload-artifact@v4
with:
name: comparison
retention-days: 30
path: |
out/comparison*.images/*.png
out/comparison*.root
.github/workflows/ci.yml:294
- The analysis_fullsim job has a matrix with 68 parallel runs that all upload to the same artifact name "analysis". In upload-artifact@v4, artifacts with the same name will overwrite each other instead of merging like in v3. You need to make artifact names unique per matrix job by including matrix variables in the name, for example: "analysis_fullsim_${{matrix.detector}}${{matrix.aname}}${{matrix.recon}}"
- uses: actions/upload-artifact@v4
with:
name: analysis
retention-days: 7
path: out
.github/workflows/ci.yml:227
- The analysis_fastsim job has a matrix with 8 parallel runs that all upload to the same artifact name "analysis". In upload-artifact@v4, artifacts with the same name will overwrite each other instead of merging like in v3. You need to make artifact names unique per matrix job by including matrix variables in the name, for example: "analysis_fastsim_${{matrix.aname}}_${{matrix.recon}}"
- uses: actions/upload-artifact@v4
with:
name: analysis
retention-days: 7
path: out
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| - uses: actions/download-artifact@v3 | ||
| - uses: actions/download-artifact@v4 | ||
| with: | ||
| name: analysis |
Copilot
AI
Jan 21, 2026
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.
This download step expects to download the "analysis" artifact, but since the analysis_fastsim and analysis_fullsim jobs will need to upload with unique artifact names per matrix job (due to v4 requirements), this download step will also need to be updated to download all the individual artifacts using a pattern or merge approach. Consider using actions/download-artifact@v4 with the merge-multiple option or downloading each artifact individually.
| name: analysis | |
| pattern: analysis* | |
| merge-multiple: true |
| - uses: actions/download-artifact@v3 | ||
| - uses: actions/download-artifact@v4 | ||
| with: | ||
| name: analysis |
Copilot
AI
Jan 21, 2026
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.
This download step expects to download the "analysis" artifact, but since the analysis_fastsim and analysis_fullsim jobs will need to upload with unique artifact names per matrix job (due to v4 requirements), this download step will also need to be updated to download all the individual artifacts using a pattern or merge approach. Consider using actions/download-artifact@v4 with the merge-multiple option or downloading each artifact individually.
| name: analysis | |
| pattern: analysis-* | |
| merge-multiple: true |
| - uses: actions/download-artifact@v3 | ||
| - uses: actions/download-artifact@v4 | ||
| with: | ||
| name: comparison |
Copilot
AI
Jan 21, 2026
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.
This download step expects to download the "comparison" artifact, but since the comparison job will need to upload with unique artifact names per matrix job (due to v4 requirements), this download step will also need to be updated to download all the individual artifacts using a pattern or merge approach. Consider using actions/download-artifact@v4 with the merge-multiple option or downloading each artifact individually.
| name: comparison | |
| pattern: comparison-* | |
| merge-multiple: true |
| - uses: actions/download-artifact@v4 | ||
| with: | ||
| name: postprocess | ||
| path: results |
Copilot
AI
Jan 21, 2026
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.
This download step expects to download the "postprocess" artifact, but since the postprocess job will need to upload with unique artifact names per matrix job (due to v4 requirements), this download step will also need to be updated to download all the individual artifacts using a pattern or merge approach. Consider using actions/download-artifact@v4 with the merge-multiple option or downloading each artifact individually.
| - uses: actions/upload-artifact@v3 | ||
| - uses: actions/upload-artifact@v4 | ||
| with: | ||
| name: x_fastsim_delphes |
Copilot
AI
Jan 21, 2026
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.
The delphes_fastsim job has a matrix with 4 parallel runs that all upload to the same artifact name "x_fastsim_delphes". In upload-artifact@v4, artifacts with the same name will overwrite each other instead of merging like in v3. You need to make artifact names unique per matrix job by including the matrix variable in the name, for example: "x_fastsim_delphes_${{matrix.id}}"
| name: x_fastsim_delphes | |
| name: x_fastsim_delphes_${{matrix.id}} |
Briefly, what does this PR introduce?
Upgrade {upload,download}-artifact@v3 to v4. https://github.com/actions/upload-artifact/blob/main/docs/MIGRATION.md