Skip to content

Conversation

@wdconinc
Copy link
Contributor

@wdconinc wdconinc commented Nov 6, 2024

Briefly, what does this PR introduce?

Upgrade {upload,download}-artifact@v3 to v4. https://github.com/actions/upload-artifact/blob/main/docs/MIGRATION.md

@wdconinc wdconinc requested a review from veprbl November 6, 2024 00:04
Copilot AI review requested due to automatic review settings January 21, 2026 01:06
@wdconinc wdconinc enabled auto-merge January 21, 2026 01:07
@wdconinc wdconinc merged commit 4cd611b into main Jan 21, 2026
10 of 20 checks passed
@wdconinc wdconinc deleted the artifact-v4 branch January 21, 2026 01:32
Copy link

Copilot AI left a 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-artifact from v3 to v4
  • Updated all 10 instances of actions/download-artifact from 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
Copy link

Copilot AI Jan 21, 2026

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.

Suggested change
name: analysis
pattern: analysis*
merge-multiple: true

Copilot uses AI. Check for mistakes.
- uses: actions/download-artifact@v3
- uses: actions/download-artifact@v4
with:
name: analysis
Copy link

Copilot AI Jan 21, 2026

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.

Suggested change
name: analysis
pattern: analysis-*
merge-multiple: true

Copilot uses AI. Check for mistakes.
- uses: actions/download-artifact@v3
- uses: actions/download-artifact@v4
with:
name: comparison
Copy link

Copilot AI Jan 21, 2026

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.

Suggested change
name: comparison
pattern: comparison-*
merge-multiple: true

Copilot uses AI. Check for mistakes.
Comment on lines +479 to 482
- uses: actions/download-artifact@v4
with:
name: postprocess
path: results
Copy link

Copilot AI Jan 21, 2026

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.

Copilot uses AI. Check for mistakes.
- uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@v4
with:
name: x_fastsim_delphes
Copy link

Copilot AI Jan 21, 2026

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}}"

Suggested change
name: x_fastsim_delphes
name: x_fastsim_delphes_${{matrix.id}}

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants