Skip to content

Commit f98d950

Browse files
committed
Don't upload multiple times to same artifact in label sync workflow
The "Sync Labels" GitHub Actions workflow is configured to allow the use of multiple shared label configuration files. This is done by using a job matrix in the GitHub Actions workflow to download each of the files from the source repository in a parallel GitHub Actions workflow job. A GitHub Actions workflow artifact was used to transfer the generated files between sequential jobs in the workflow. The "actions/upload-artifact" and "actions/download-artifact" actions are used for this purpose. Previously, a single artifact was used for then transfer of all the shared label configuration files, with each of the parallel jobs uploading its own generated files to that artifact. However, support for uploading multiple times to a single artifact was dropped in version 4.0.0 of the "actions/upload-artifact" action. So it is now necessary to use a dedicated artifact for each of the builds. These can be downloaded in aggregate by using the artifact name globbing and merging features which were introduced in version 4.1.0 of the "actions/download-artifact" action.
1 parent 3289cb8 commit f98d950

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

Diff for: .github/workflows/sync-labels.yml

+5-4
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ on:
1919

2020
env:
2121
CONFIGURATIONS_FOLDER: .github/label-configuration-files
22-
CONFIGURATIONS_ARTIFACT: label-configuration-files
22+
CONFIGURATIONS_ARTIFACT_PREFIX: label-configuration-file-
2323

2424
jobs:
2525
check:
@@ -80,7 +80,7 @@ jobs:
8080
*.yaml
8181
*.yml
8282
if-no-files-found: error
83-
name: ${{ env.CONFIGURATIONS_ARTIFACT }}
83+
name: ${{ env.CONFIGURATIONS_ARTIFACT_PREFIX }}${{ matrix.filename }}
8484

8585
sync:
8686
needs: download
@@ -117,13 +117,14 @@ jobs:
117117
- name: Download configuration files artifact
118118
uses: actions/download-artifact@v4
119119
with:
120-
name: ${{ env.CONFIGURATIONS_ARTIFACT }}
120+
merge-multiple: true
121+
pattern: ${{ env.CONFIGURATIONS_ARTIFACT_PREFIX }}*
121122
path: ${{ env.CONFIGURATIONS_FOLDER }}
122123

123124
- name: Remove unneeded artifact
124125
uses: geekyeggo/delete-artifact@v5
125126
with:
126-
name: ${{ env.CONFIGURATIONS_ARTIFACT }}
127+
name: ${{ env.CONFIGURATIONS_ARTIFACT_PREFIX }}*
127128

128129
- name: Merge label configuration files
129130
run: |

0 commit comments

Comments
 (0)