From 6e7269890a29d8b3dc1e1783c98fdf6f84732190 Mon Sep 17 00:00:00 2001 From: YAMAMOTO Takashi Date: Wed, 18 Sep 2024 15:27:55 +0900 Subject: [PATCH 1/5] gha: Update github actions to the latest versions --- .github/workflows/release.yml | 2 +- .github/workflows/test.yml | 52 +++++++++++++++++------------------ 2 files changed, 27 insertions(+), 27 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 055b54a0..fe05897c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -20,7 +20,7 @@ jobs: github.event.workflow_run.head_sha == github.sha}} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4.1.7 with: ref: ${{github.event.workflow_run.head_sha}} # need workflow access since we push branches diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index db3413bb..b130795c 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -21,7 +21,7 @@ jobs: arch: [x86_64, thumb, mips, powerpc] steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4.1.7 - name: install run: | # need a few things @@ -235,7 +235,7 @@ jobs: # create size statuses - name: upload-sizes - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v4.4.0 with: name: sizes path: sizes @@ -273,7 +273,7 @@ jobs: }' | tee status/$(basename $f .csv).json done - name: upload-status-sizes - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v4.4.0 with: name: status path: status @@ -282,7 +282,7 @@ jobs: # create cov statuses - name: upload-cov if: ${{matrix.arch == 'x86_64'}} - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v4.4.0 with: name: cov path: cov @@ -319,7 +319,7 @@ jobs: done - name: upload-status-sizes if: ${{matrix.arch == 'x86_64'}} - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v4.4.0 with: name: status path: status @@ -336,7 +336,7 @@ jobs: pls: [1, 2] steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4.1.7 - name: install run: | # need a few things @@ -361,7 +361,7 @@ jobs: test-no-intrinsics: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4.1.7 - name: install run: | # need a few things @@ -378,7 +378,7 @@ jobs: test-multiversion: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4.1.7 - name: install run: | # need a few things @@ -395,7 +395,7 @@ jobs: test-lfs2_0: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4.1.7 - name: install run: | # need a few things @@ -414,7 +414,7 @@ jobs: test-valgrind: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4.1.7 - name: install run: | # need a few things @@ -436,7 +436,7 @@ jobs: test-clang: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4.1.7 - name: install run: | # need a few things @@ -459,7 +459,7 @@ jobs: bench: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4.1.7 - name: install run: | # need a few things @@ -491,7 +491,7 @@ jobs: # create bench statuses - name: upload-bench - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v4.4.0 with: name: bench path: bench @@ -525,7 +525,7 @@ jobs: }' | tee status/$(basename $f .csv)-$s.json done - name: upload-status-bench - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v4.4.0 with: name: status path: status @@ -535,10 +535,10 @@ jobs: test-compat: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4.1.7 if: ${{github.event_name == 'pull_request'}} # checkout the current pr target into lfsp - - uses: actions/checkout@v2 + - uses: actions/checkout@v4.1.7 if: ${{github.event_name == 'pull_request'}} with: ref: ${{github.event.pull_request.base.ref}} @@ -572,7 +572,7 @@ jobs: runs-on: ubuntu-latest if: ${{!endsWith(github.ref, '-prefix')}} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4.1.7 - name: install run: | # need a few things @@ -582,7 +582,7 @@ jobs: gcc --version python3 --version fusermount -V - - uses: actions/checkout@v2 + - uses: actions/checkout@v4.1.7 with: repository: littlefs-project/littlefs-fuse ref: v2 @@ -622,7 +622,7 @@ jobs: runs-on: ubuntu-latest if: ${{!endsWith(github.ref, '-prefix')}} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4.1.7 - name: install run: | # need a few things @@ -632,12 +632,12 @@ jobs: gcc --version python3 --version fusermount -V - - uses: actions/checkout@v2 + - uses: actions/checkout@v4.1.7 with: repository: littlefs-project/littlefs-fuse ref: v2 path: v2 - - uses: actions/checkout@v2 + - uses: actions/checkout@v4.1.7 with: repository: littlefs-project/littlefs-fuse ref: v1 @@ -694,7 +694,7 @@ jobs: runs-on: ubuntu-latest needs: [test, bench] steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4.1.7 if: ${{github.event_name == 'pull_request'}} - name: install if: ${{github.event_name == 'pull_request'}} @@ -704,19 +704,19 @@ jobs: pip3 install toml gcc --version python3 --version - - uses: actions/download-artifact@v2 + - uses: actions/download-artifact@v4.1.8 if: ${{github.event_name == 'pull_request'}} continue-on-error: true with: name: sizes path: sizes - - uses: actions/download-artifact@v2 + - uses: actions/download-artifact@v4.1.8 if: ${{github.event_name == 'pull_request'}} continue-on-error: true with: name: cov path: cov - - uses: actions/download-artifact@v2 + - uses: actions/download-artifact@v4.1.8 if: ${{github.event_name == 'pull_request'}} continue-on-error: true with: @@ -862,7 +862,7 @@ jobs: body: $comment, }' | tee comment/comment.json - name: upload-comment - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v4.4.0 with: name: comment path: comment From 72a4b57f4e87c6796329e4c40a04b5b04c4b5186 Mon Sep 17 00:00:00 2001 From: YAMAMOTO Takashi Date: Wed, 18 Sep 2024 15:53:24 +0900 Subject: [PATCH 2/5] gha: Make the artifact names unique --- .github/workflows/test.yml | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index b130795c..4575351f 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -237,7 +237,7 @@ jobs: - name: upload-sizes uses: actions/upload-artifact@v4.4.0 with: - name: sizes + name: sizes-${{matrix.arch}} path: sizes - name: status-sizes run: | @@ -273,9 +273,10 @@ jobs: }' | tee status/$(basename $f .csv).json done - name: upload-status-sizes + if: ${{matrix.arch == 'x86_64'}} uses: actions/upload-artifact@v4.4.0 with: - name: status + name: status-sizes-${{matrix.arch}} path: status retention-days: 1 @@ -317,11 +318,11 @@ jobs: target_step: env.STEP, }' | tee status/$(basename $f .csv)-$s.json done - - name: upload-status-sizes + - name: upload-status-cov if: ${{matrix.arch == 'x86_64'}} uses: actions/upload-artifact@v4.4.0 with: - name: status + name: status-cov path: status retention-days: 1 @@ -527,7 +528,7 @@ jobs: - name: upload-status-bench uses: actions/upload-artifact@v4.4.0 with: - name: status + name: status-bench path: status retention-days: 1 @@ -708,7 +709,7 @@ jobs: if: ${{github.event_name == 'pull_request'}} continue-on-error: true with: - name: sizes + name: sizes-x86_64 path: sizes - uses: actions/download-artifact@v4.1.8 if: ${{github.event_name == 'pull_request'}} From 2c4b262c3549e4e700f9bb2c4ec76d775a6114bf Mon Sep 17 00:00:00 2001 From: Christopher Haster Date: Thu, 19 Sep 2024 12:36:20 -0500 Subject: [PATCH 3/5] gha: Merge artifacts on download Turns out major versions break things. Old behavior: Artifacts with same name are merged New behavior: Artifacts with same name error Using a pattern and merging on download should fix this at least on the job-side. Though I do wonder if we'll start running into artifact limit issues with the new way artifacts are handled... --- .github/workflows/release.yml | 15 +++++++++------ .github/workflows/status.yml | 10 ++++++---- .github/workflows/test.yml | 9 ++++++--- 3 files changed, 21 insertions(+), 13 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index fe05897c..b4588f32 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -30,26 +30,29 @@ jobs: fetch-depth: 0 # try to get results from tests - - uses: dawidd6/action-download-artifact@v2 + - uses: dawidd6/action-download-artifact@v6 continue-on-error: true with: workflow: ${{github.event.workflow_run.name}} run_id: ${{github.event.workflow_run.id}} - name: sizes + pattern: '{sizes,sizes-*}' + merge-multiple: true path: sizes - - uses: dawidd6/action-download-artifact@v2 + - uses: dawidd6/action-download-artifact@v6 continue-on-error: true with: workflow: ${{github.event.workflow_run.name}} run_id: ${{github.event.workflow_run.id}} - name: cov + pattern: '{cov,cov-*}' + merge-multiple: true path: cov - - uses: dawidd6/action-download-artifact@v2 + - uses: dawidd6/action-download-artifact@v6 continue-on-error: true with: workflow: ${{github.event.workflow_run.name}} run_id: ${{github.event.workflow_run.id}} - name: bench + pattern: '{bench,bench-*}' + merge-multiple: true path: bench - name: find-version diff --git a/.github/workflows/status.yml b/.github/workflows/status.yml index e6e983a5..155040b7 100644 --- a/.github/workflows/status.yml +++ b/.github/workflows/status.yml @@ -13,12 +13,13 @@ jobs: status: runs-on: ubuntu-latest steps: - - uses: dawidd6/action-download-artifact@v2 + - uses: dawidd6/action-download-artifact@v6 continue-on-error: true with: workflow: ${{github.event.workflow_run.name}} run_id: ${{github.event.workflow_run.id}} - name: status + pattern: '{status,status-*}' + merge-multiple: true path: status - name: update-status continue-on-error: true @@ -67,12 +68,13 @@ jobs: steps: # generated comment? - - uses: dawidd6/action-download-artifact@v2 + - uses: dawidd6/action-download-artifact@v6 continue-on-error: true with: workflow: ${{github.event.workflow_run.name}} run_id: ${{github.event.workflow_run.id}} - name: comment + pattern: '{comment,comment-*}' + merge-multiple: true path: comment - name: update-comment continue-on-error: true diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 4575351f..d80f4d79 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -709,19 +709,22 @@ jobs: if: ${{github.event_name == 'pull_request'}} continue-on-error: true with: - name: sizes-x86_64 + pattern: '{sizes,sizes-*}' + merge-multiple: true path: sizes - uses: actions/download-artifact@v4.1.8 if: ${{github.event_name == 'pull_request'}} continue-on-error: true with: - name: cov + pattern: '{cov,cov-*}' + merge-multiple: true path: cov - uses: actions/download-artifact@v4.1.8 if: ${{github.event_name == 'pull_request'}} continue-on-error: true with: - name: bench + pattern: '{bench,bench-*}' + merge-multiple: true path: bench # try to find results from tests From 7db9e1663a3372988a5158c54775b8212e246a31 Mon Sep 17 00:00:00 2001 From: Christopher Haster Date: Thu, 19 Sep 2024 14:30:43 -0500 Subject: [PATCH 4/5] gha: Switched to standard da for cross-workflow downloads Looks like cross-workflow downloads has finally been added to the standard download-artifact action, so we might as well switch to it to reduce dependencies. dawidd6's version was also missing the merge-multiple feature which is necessary to work around breaking changes in download-artifact's v4 bump. Weirdly it needs GITHUB_TOKEN for some reason? Not sure why this couldn't be implicit. --- .github/workflows/release.yml | 18 +++++++++--------- .github/workflows/status.yml | 12 ++++++------ 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index b4588f32..f969b2f1 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -30,27 +30,27 @@ jobs: fetch-depth: 0 # try to get results from tests - - uses: dawidd6/action-download-artifact@v6 + - uses: actions/download-artifact@v4.1.8 continue-on-error: true with: - workflow: ${{github.event.workflow_run.name}} - run_id: ${{github.event.workflow_run.id}} + github-token: ${{secrets.GITHUB_TOKEN}} + run-id: ${{github.event.workflow_run.id}} pattern: '{sizes,sizes-*}' merge-multiple: true path: sizes - - uses: dawidd6/action-download-artifact@v6 + - uses: actions/download-artifact@v4.1.8 continue-on-error: true with: - workflow: ${{github.event.workflow_run.name}} - run_id: ${{github.event.workflow_run.id}} + github-token: ${{secrets.GITHUB_TOKEN}} + run-id: ${{github.event.workflow_run.id}} pattern: '{cov,cov-*}' merge-multiple: true path: cov - - uses: dawidd6/action-download-artifact@v6 + - uses: actions/download-artifact@v4.1.8 continue-on-error: true with: - workflow: ${{github.event.workflow_run.name}} - run_id: ${{github.event.workflow_run.id}} + github-token: ${{secrets.GITHUB_TOKEN}} + run-id: ${{github.event.workflow_run.id}} pattern: '{bench,bench-*}' merge-multiple: true path: bench diff --git a/.github/workflows/status.yml b/.github/workflows/status.yml index 155040b7..198af98e 100644 --- a/.github/workflows/status.yml +++ b/.github/workflows/status.yml @@ -13,11 +13,11 @@ jobs: status: runs-on: ubuntu-latest steps: - - uses: dawidd6/action-download-artifact@v6 + - uses: actions/download-artifact@v4.1.8 continue-on-error: true with: - workflow: ${{github.event.workflow_run.name}} - run_id: ${{github.event.workflow_run.id}} + github-token: ${{secrets.GITHUB_TOKEN}} + run-id: ${{github.event.workflow_run.id}} pattern: '{status,status-*}' merge-multiple: true path: status @@ -68,11 +68,11 @@ jobs: steps: # generated comment? - - uses: dawidd6/action-download-artifact@v6 + - uses: actions/download-artifact@v4.1.8 continue-on-error: true with: - workflow: ${{github.event.workflow_run.name}} - run_id: ${{github.event.workflow_run.id}} + github-token: ${{secrets.GITHUB_TOKEN}} + run-id: ${{github.event.workflow_run.id}} pattern: '{comment,comment-*}' merge-multiple: true path: comment From 798073c2a7c7f10e2bb8711ff1b23931534b3db0 Mon Sep 17 00:00:00 2001 From: Christopher Haster Date: Thu, 19 Sep 2024 17:13:03 -0500 Subject: [PATCH 5/5] gha: Dropped minor/patch version pinning of actions With GitHub forcibly deprecating old versions of actions, pinning the minor/patch version is more likely to cause breakage than not. --- .github/workflows/release.yml | 8 +++--- .github/workflows/status.yml | 4 +-- .github/workflows/test.yml | 52 +++++++++++++++++------------------ 3 files changed, 32 insertions(+), 32 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index f969b2f1..2bbec095 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -20,7 +20,7 @@ jobs: github.event.workflow_run.head_sha == github.sha}} steps: - - uses: actions/checkout@v4.1.7 + - uses: actions/checkout@v4 with: ref: ${{github.event.workflow_run.head_sha}} # need workflow access since we push branches @@ -30,7 +30,7 @@ jobs: fetch-depth: 0 # try to get results from tests - - uses: actions/download-artifact@v4.1.8 + - uses: actions/download-artifact@v4 continue-on-error: true with: github-token: ${{secrets.GITHUB_TOKEN}} @@ -38,7 +38,7 @@ jobs: pattern: '{sizes,sizes-*}' merge-multiple: true path: sizes - - uses: actions/download-artifact@v4.1.8 + - uses: actions/download-artifact@v4 continue-on-error: true with: github-token: ${{secrets.GITHUB_TOKEN}} @@ -46,7 +46,7 @@ jobs: pattern: '{cov,cov-*}' merge-multiple: true path: cov - - uses: actions/download-artifact@v4.1.8 + - uses: actions/download-artifact@v4 continue-on-error: true with: github-token: ${{secrets.GITHUB_TOKEN}} diff --git a/.github/workflows/status.yml b/.github/workflows/status.yml index 198af98e..e631b07d 100644 --- a/.github/workflows/status.yml +++ b/.github/workflows/status.yml @@ -13,7 +13,7 @@ jobs: status: runs-on: ubuntu-latest steps: - - uses: actions/download-artifact@v4.1.8 + - uses: actions/download-artifact@v4 continue-on-error: true with: github-token: ${{secrets.GITHUB_TOKEN}} @@ -68,7 +68,7 @@ jobs: steps: # generated comment? - - uses: actions/download-artifact@v4.1.8 + - uses: actions/download-artifact@v4 continue-on-error: true with: github-token: ${{secrets.GITHUB_TOKEN}} diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index d80f4d79..48d00eff 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -21,7 +21,7 @@ jobs: arch: [x86_64, thumb, mips, powerpc] steps: - - uses: actions/checkout@v4.1.7 + - uses: actions/checkout@v4 - name: install run: | # need a few things @@ -235,7 +235,7 @@ jobs: # create size statuses - name: upload-sizes - uses: actions/upload-artifact@v4.4.0 + uses: actions/upload-artifact@v4 with: name: sizes-${{matrix.arch}} path: sizes @@ -274,7 +274,7 @@ jobs: done - name: upload-status-sizes if: ${{matrix.arch == 'x86_64'}} - uses: actions/upload-artifact@v4.4.0 + uses: actions/upload-artifact@v4 with: name: status-sizes-${{matrix.arch}} path: status @@ -283,7 +283,7 @@ jobs: # create cov statuses - name: upload-cov if: ${{matrix.arch == 'x86_64'}} - uses: actions/upload-artifact@v4.4.0 + uses: actions/upload-artifact@v4 with: name: cov path: cov @@ -320,7 +320,7 @@ jobs: done - name: upload-status-cov if: ${{matrix.arch == 'x86_64'}} - uses: actions/upload-artifact@v4.4.0 + uses: actions/upload-artifact@v4 with: name: status-cov path: status @@ -337,7 +337,7 @@ jobs: pls: [1, 2] steps: - - uses: actions/checkout@v4.1.7 + - uses: actions/checkout@v4 - name: install run: | # need a few things @@ -362,7 +362,7 @@ jobs: test-no-intrinsics: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4.1.7 + - uses: actions/checkout@v4 - name: install run: | # need a few things @@ -379,7 +379,7 @@ jobs: test-multiversion: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4.1.7 + - uses: actions/checkout@v4 - name: install run: | # need a few things @@ -396,7 +396,7 @@ jobs: test-lfs2_0: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4.1.7 + - uses: actions/checkout@v4 - name: install run: | # need a few things @@ -415,7 +415,7 @@ jobs: test-valgrind: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4.1.7 + - uses: actions/checkout@v4 - name: install run: | # need a few things @@ -437,7 +437,7 @@ jobs: test-clang: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4.1.7 + - uses: actions/checkout@v4 - name: install run: | # need a few things @@ -460,7 +460,7 @@ jobs: bench: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4.1.7 + - uses: actions/checkout@v4 - name: install run: | # need a few things @@ -492,7 +492,7 @@ jobs: # create bench statuses - name: upload-bench - uses: actions/upload-artifact@v4.4.0 + uses: actions/upload-artifact@v4 with: name: bench path: bench @@ -526,7 +526,7 @@ jobs: }' | tee status/$(basename $f .csv)-$s.json done - name: upload-status-bench - uses: actions/upload-artifact@v4.4.0 + uses: actions/upload-artifact@v4 with: name: status-bench path: status @@ -536,10 +536,10 @@ jobs: test-compat: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4.1.7 + - uses: actions/checkout@v4 if: ${{github.event_name == 'pull_request'}} # checkout the current pr target into lfsp - - uses: actions/checkout@v4.1.7 + - uses: actions/checkout@v4 if: ${{github.event_name == 'pull_request'}} with: ref: ${{github.event.pull_request.base.ref}} @@ -573,7 +573,7 @@ jobs: runs-on: ubuntu-latest if: ${{!endsWith(github.ref, '-prefix')}} steps: - - uses: actions/checkout@v4.1.7 + - uses: actions/checkout@v4 - name: install run: | # need a few things @@ -583,7 +583,7 @@ jobs: gcc --version python3 --version fusermount -V - - uses: actions/checkout@v4.1.7 + - uses: actions/checkout@v4 with: repository: littlefs-project/littlefs-fuse ref: v2 @@ -623,7 +623,7 @@ jobs: runs-on: ubuntu-latest if: ${{!endsWith(github.ref, '-prefix')}} steps: - - uses: actions/checkout@v4.1.7 + - uses: actions/checkout@v4 - name: install run: | # need a few things @@ -633,12 +633,12 @@ jobs: gcc --version python3 --version fusermount -V - - uses: actions/checkout@v4.1.7 + - uses: actions/checkout@v4 with: repository: littlefs-project/littlefs-fuse ref: v2 path: v2 - - uses: actions/checkout@v4.1.7 + - uses: actions/checkout@v4 with: repository: littlefs-project/littlefs-fuse ref: v1 @@ -695,7 +695,7 @@ jobs: runs-on: ubuntu-latest needs: [test, bench] steps: - - uses: actions/checkout@v4.1.7 + - uses: actions/checkout@v4 if: ${{github.event_name == 'pull_request'}} - name: install if: ${{github.event_name == 'pull_request'}} @@ -705,21 +705,21 @@ jobs: pip3 install toml gcc --version python3 --version - - uses: actions/download-artifact@v4.1.8 + - uses: actions/download-artifact@v4 if: ${{github.event_name == 'pull_request'}} continue-on-error: true with: pattern: '{sizes,sizes-*}' merge-multiple: true path: sizes - - uses: actions/download-artifact@v4.1.8 + - uses: actions/download-artifact@v4 if: ${{github.event_name == 'pull_request'}} continue-on-error: true with: pattern: '{cov,cov-*}' merge-multiple: true path: cov - - uses: actions/download-artifact@v4.1.8 + - uses: actions/download-artifact@v4 if: ${{github.event_name == 'pull_request'}} continue-on-error: true with: @@ -866,7 +866,7 @@ jobs: body: $comment, }' | tee comment/comment.json - name: upload-comment - uses: actions/upload-artifact@v4.4.0 + uses: actions/upload-artifact@v4 with: name: comment path: comment