{"thread":{"id":"65542","subject":"[PATCH] [ci] Update GitHub Actions to latest major release / GitHub #2278","startedAt":"2026-04-23T14:23:36Z","lastAt":"2026-04-25T10:37:33Z","messageCount":3,"participants":["Christoph Grüninger","Johannes Schindelin","Junio C Hamano"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"542201","messageId":"b3238847-91c1-42fa-b87a-b9d10daa6066@grueninger.de","threadId":"65542","inReplyTo":null,"subject":"[PATCH] [ci] Update GitHub Actions to latest major release / GitHub #2278","fromName":"Christoph Grüninger","fromEmail":"foss@grueninger.de","sentAt":"2026-04-23T14:20:26Z","receivedAt":"2026-04-23T14:23:36Z","isPatch":true,"body":"Dear Git developer!\n\nI repost my suggested contribution from:\n\nhttps://github.com/git/git/pull/2278\n\nI updated all GitHub Actions to their latest major release. In contrast \nto \"ci: GitHub Actions updates\" (brought to you by Dependabot \n(https://lore.kernel.org/git/pull.2097.git.1776775319.gitgitgadget@gmail.com/T/#t), \nI update some more standard actions and mshick/add-pr-comment.\nThey fix deprecation warnings that GitHub Action deprecated Node20.js.\n\nKind regards,\nChristoph\n\n\n-- \nMost customers will not accept source code with compile errors in it.\n                  Dan Saks, CppCon 2016 (https://youtu.be/D7Sd8A6_fYU)\n\n\nFrom c55bac722b6e6e5df6ea698f5985e97d625db457 Mon Sep 17 00:00:00 2001\nFrom: =?UTF-8?q?Christoph=20Gr=C3=BCninger?= <foss@grueninger.de>\nDate: Wed, 22 Apr 2026 23:34:12 +0200\nSubject: [PATCH] [ci] Update GitHub Actions to latest major release\n\nFix deprecation warning that Node20.js will stop working\nin June.\n---\n .github/workflows/check-whitespace.yml |  2 +-\n .github/workflows/coverity.yml         |  2 +-\n .github/workflows/l10n.yml             |  2 +-\n .github/workflows/main.yml             | 50 +++++++++++++-------------\n 4 files changed, 28 insertions(+), 28 deletions(-)\n\ndiff --git a/.github/workflows/check-whitespace.yml b/.github/workflows/check-whitespace.yml\nindex 928fd4c..ea6f49f 100644\n--- a/.github/workflows/check-whitespace.yml\n+++ b/.github/workflows/check-whitespace.yml\n@@ -19,7 +19,7 @@ jobs:\n   check-whitespace:\n     runs-on: ubuntu-latest\n     steps:\n-    - uses: actions/checkout@v5\n+    - uses: actions/checkout@v6\n       with:\n         fetch-depth: 0\n \ndiff --git a/.github/workflows/coverity.yml b/.github/workflows/coverity.yml\nindex 3435bae..89bef26 100644\n--- a/.github/workflows/coverity.yml\n+++ b/.github/workflows/coverity.yml\n@@ -38,7 +38,7 @@ jobs:\n       COVERITY_LANGUAGE: cxx\n       COVERITY_PLATFORM: overridden-below\n     steps:\n-      - uses: actions/checkout@v5\n+      - uses: actions/checkout@v6\n       - name: install minimal Git for Windows SDK\n         if: contains(matrix.os, 'windows')\n         uses: git-for-windows/setup-git-for-windows-sdk@v1\ndiff --git a/.github/workflows/l10n.yml b/.github/workflows/l10n.yml\nindex 95e5513..114a12a 100644\n--- a/.github/workflows/l10n.yml\n+++ b/.github/workflows/l10n.yml\n@@ -92,7 +92,7 @@ jobs:\n           cat git-po-helper.out\n           exit $exit_code\n       - name: Create comment in pull request for report\n-        uses: mshick/add-pr-comment@v2\n+        uses: mshick/add-pr-comment@v3\n         if: >-\n           always() &&\n           github.event_name == 'pull_request_target' &&\ndiff --git a/.github/workflows/main.yml b/.github/workflows/main.yml\nindex 6f3d94e..e992562 100644\n--- a/.github/workflows/main.yml\n+++ b/.github/workflows/main.yml\n@@ -63,7 +63,7 @@ jobs:\n           echo \"skip_concurrent=$skip_concurrent\" >>$GITHUB_OUTPUT\n       - name: skip if the commit or tree was already tested\n         id: skip-if-redundant\n-        uses: actions/github-script@v8\n+        uses: actions/github-script@v9\n         if: steps.check-ref.outputs.enabled == 'yes'\n         with:\n           github-token: ${{secrets.GITHUB_TOKEN}}\n@@ -112,7 +112,7 @@ jobs:\n       group: windows-build-${{ github.ref }}\n       cancel-in-progress: ${{ needs.ci-config.outputs.skip_concurrent == 'yes' }}\n     steps:\n-    - uses: actions/checkout@v5\n+    - uses: actions/checkout@v6\n     - uses: git-for-windows/setup-git-for-windows-sdk@v1\n     - name: build\n       shell: bash\n@@ -123,7 +123,7 @@ jobs:\n     - name: zip up tracked files\n       run: git archive -o artifacts/tracked.tar.gz HEAD\n     - name: upload tracked files and build artifacts\n-      uses: actions/upload-artifact@v5\n+      uses: actions/upload-artifact@v7\n       with:\n         name: windows-artifacts\n         path: artifacts\n@@ -140,7 +140,7 @@ jobs:\n       cancel-in-progress: ${{ needs.ci-config.outputs.skip_concurrent == 'yes' }}\n     steps:\n     - name: download tracked files and build artifacts\n-      uses: actions/download-artifact@v6\n+      uses: actions/download-artifact@v8\n       with:\n         name: windows-artifacts\n         path: ${{github.workspace}}\n@@ -157,7 +157,7 @@ jobs:\n       run: ci/print-test-failures.sh\n     - name: Upload failed tests' directories\n       if: failure() && env.FAILED_TEST_ARTIFACTS != ''\n-      uses: actions/upload-artifact@v5\n+      uses: actions/upload-artifact@v7\n       with:\n         name: failed-tests-windows-${{ matrix.nr }}\n         path: ${{env.FAILED_TEST_ARTIFACTS}}\n@@ -173,10 +173,10 @@ jobs:\n       group: vs-build-${{ github.ref }}\n       cancel-in-progress: ${{ needs.ci-config.outputs.skip_concurrent == 'yes' }}\n     steps:\n-    - uses: actions/checkout@v5\n+    - uses: actions/checkout@v6\n     - uses: git-for-windows/setup-git-for-windows-sdk@v1\n     - name: initialize vcpkg\n-      uses: actions/checkout@v5\n+      uses: actions/checkout@v6\n       with:\n         repository: 'microsoft/vcpkg'\n         path: 'compat/vcbuild/vcpkg'\n@@ -186,7 +186,7 @@ jobs:\n         repository: git/git\n         definitionId: 9\n     - name: add msbuild to PATH\n-      uses: microsoft/setup-msbuild@v2\n+      uses: microsoft/setup-msbuild@v3\n     - name: copy dlls to root\n       shell: cmd\n       run: compat\\vcbuild\\vcpkg_copy_dlls.bat release\n@@ -208,7 +208,7 @@ jobs:\n     - name: zip up tracked files\n       run: git archive -o artifacts/tracked.tar.gz HEAD\n     - name: upload tracked files and build artifacts\n-      uses: actions/upload-artifact@v5\n+      uses: actions/upload-artifact@v7\n       with:\n         name: vs-artifacts\n         path: artifacts\n@@ -226,7 +226,7 @@ jobs:\n     steps:\n     - uses: git-for-windows/setup-git-for-windows-sdk@v1\n     - name: download tracked files and build artifacts\n-      uses: actions/download-artifact@v6\n+      uses: actions/download-artifact@v8\n       with:\n         name: vs-artifacts\n         path: ${{github.workspace}}\n@@ -244,7 +244,7 @@ jobs:\n       run: ci/print-test-failures.sh\n     - name: Upload failed tests' directories\n       if: failure() && env.FAILED_TEST_ARTIFACTS != ''\n-      uses: actions/upload-artifact@v5\n+      uses: actions/upload-artifact@v7\n       with:\n         name: failed-tests-windows-vs-${{ matrix.nr }}\n         path: ${{env.FAILED_TEST_ARTIFACTS}}\n@@ -258,7 +258,7 @@ jobs:\n       group: windows-meson-build-${{ github.ref }}\n       cancel-in-progress: ${{ needs.ci-config.outputs.skip_concurrent == 'yes' }}\n     steps:\n-    - uses: actions/checkout@v5\n+    - uses: actions/checkout@v6\n     - uses: actions/setup-python@v6\n     - name: Set up dependencies\n       shell: pwsh\n@@ -270,7 +270,7 @@ jobs:\n       shell: pwsh\n       run: meson compile -C build\n     - name: Upload build artifacts\n-      uses: actions/upload-artifact@v5\n+      uses: actions/upload-artifact@v7\n       with:\n         name: windows-meson-artifacts\n         path: build\n@@ -286,13 +286,13 @@ jobs:\n       group: windows-meson-test-${{ matrix.nr }}-${{ github.ref }}\n       cancel-in-progress: ${{ needs.ci-config.outputs.skip_concurrent == 'yes' }}\n     steps:\n-    - uses: actions/checkout@v5\n+    - uses: actions/checkout@v6\n     - uses: actions/setup-python@v6\n     - name: Set up dependencies\n       shell: pwsh\n       run: pip install meson ninja\n     - name: Download build artifacts\n-      uses: actions/download-artifact@v6\n+      uses: actions/download-artifact@v8\n       with:\n         name: windows-meson-artifacts\n         path: build\n@@ -305,7 +305,7 @@ jobs:\n       run: ci/print-test-failures.sh\n     - name: Upload failed tests' directories\n       if: failure() && env.FAILED_TEST_ARTIFACTS != ''\n-      uses: actions/upload-artifact@v4\n+      uses: actions/upload-artifact@v7\n       with:\n         name: failed-tests-windows-meson-${{ matrix.nr }}\n         path: ${{env.FAILED_TEST_ARTIFACTS}}\n@@ -341,7 +341,7 @@ jobs:\n       TEST_OUTPUT_DIRECTORY: ${{github.workspace}}/t\n     runs-on: ${{matrix.vector.pool}}\n     steps:\n-    - uses: actions/checkout@v5\n+    - uses: actions/checkout@v6\n     - run: ci/install-dependencies.sh\n     - run: ci/run-build-and-tests.sh\n     - name: print test failures\n@@ -349,7 +349,7 @@ jobs:\n       run: ci/print-test-failures.sh\n     - name: Upload failed tests' directories\n       if: failure() && env.FAILED_TEST_ARTIFACTS != ''\n-      uses: actions/upload-artifact@v5\n+      uses: actions/upload-artifact@v7\n       with:\n         name: failed-tests-${{matrix.vector.jobname}}\n         path: ${{env.FAILED_TEST_ARTIFACTS}}\n@@ -362,7 +362,7 @@ jobs:\n       CI_JOB_IMAGE: ubuntu-latest\n     runs-on: ubuntu-latest\n     steps:\n-    - uses: actions/checkout@v5\n+    - uses: actions/checkout@v6\n     - run: ci/install-dependencies.sh\n     - run: ci/run-build-and-minimal-fuzzers.sh\n   dockerized:\n@@ -439,7 +439,7 @@ jobs:\n         else\n           apt-get -q update && apt-get -q -y install git\n         fi\n-    - uses: actions/checkout@v5\n+    - uses: actions/checkout@v6\n     - run: ci/install-dependencies.sh\n     - run: useradd builder --create-home\n     - run: chown -R builder .\n@@ -449,7 +449,7 @@ jobs:\n       run: sudo --preserve-env --set-home --user=builder ci/print-test-failures.sh\n     - name: Upload failed tests' directories\n       if: failure() && env.FAILED_TEST_ARTIFACTS != ''\n-      uses: actions/upload-artifact@v5\n+      uses: actions/upload-artifact@v6\n       with:\n         name: failed-tests-${{matrix.vector.jobname}}\n         path: ${{env.FAILED_TEST_ARTIFACTS}}\n@@ -464,7 +464,7 @@ jobs:\n       group: static-analysis-${{ github.ref }}\n       cancel-in-progress: ${{ needs.ci-config.outputs.skip_concurrent == 'yes' }}\n     steps:\n-    - uses: actions/checkout@v5\n+    - uses: actions/checkout@v6\n     - run: ci/install-dependencies.sh\n     - run: ci/run-static-analysis.sh\n     - run: ci/check-directional-formatting.bash\n@@ -480,7 +480,7 @@ jobs:\n       group: rust-analysis-${{ github.ref }}\n       cancel-in-progress: ${{ needs.ci-config.outputs.skip_concurrent == 'yes' }}\n     steps:\n-    - uses: actions/checkout@v5\n+    - uses: actions/checkout@v6\n     - run: ci/install-dependencies.sh\n     - run: ci/run-rust-checks.sh\n   sparse:\n@@ -494,7 +494,7 @@ jobs:\n       group: sparse-${{ github.ref }}\n       cancel-in-progress: ${{ needs.ci-config.outputs.skip_concurrent == 'yes' }}\n     steps:\n-    - uses: actions/checkout@v5\n+    - uses: actions/checkout@v6\n     - name: Install other dependencies\n       run: ci/install-dependencies.sh\n     - run: make sparse\n@@ -510,6 +510,6 @@ jobs:\n       CI_JOB_IMAGE: ubuntu-latest\n     runs-on: ubuntu-latest\n     steps:\n-    - uses: actions/checkout@v5\n+    - uses: actions/checkout@v6\n     - run: ci/install-dependencies.sh\n     - run: ci/test-documentation.sh\n-- \n2.53.0\n\n"},{"id":"542288","messageId":"44549a1f-d5e5-fb2b-bebb-a7fa05e10076@gmx.de","threadId":"65542","inReplyTo":"b3238847-91c1-42fa-b87a-b9d10daa6066@grueninger.de","subject":"Re: [PATCH] [ci] Update GitHub Actions to latest major release / GitHub #2278","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2026-04-25T10:22:16Z","receivedAt":"2026-04-25T10:22:19Z","isPatch":true,"body":"Hi Christoph,\n\nOn Sat, 25 Apr 2026, Christoph Grüninger wrote:\n\n> I repost my suggested contribution from:\n> \n> https://github.com/git/git/pull/2278\n> \n> I updated all GitHub Actions to their latest major release. In contrast \n> to \"ci: GitHub Actions updates\" (brought to you by Dependabot \n> (https://lore.kernel.org/git/pull.2097.git.1776775319.gitgitgadget@gmail.com/T/#t), \n> I update some more standard actions and mshick/add-pr-comment.\n> They fix deprecation warnings that GitHub Action deprecated Node20.js.\n\nSorry, I was unclear in my suggestion at\nhttps://github.com/git/git/pull/2278#issuecomment-4302349600: I did not\nmean to just throw out a diverging patch. What I meant was to analyze what\nthe differences are, and to work toward a combined, improved contribution\nthat is better than either of the original ones.\n\nLucky for me, it is easy to compare the contributions via:\nhttps://github.com/dscho/git/compare/dependabot-updates..gruenich:git:feature/update-github-actions\n\nThis diff shows that I had missed an update of the `mshick/add-pr-comment`\nAction from v2 to v3. Or, more correctly, Dependabot had not yet reported\nthis in `git-for-windows/git`...\n\nI will add a patch to my patch series, crediting you with the find.\n\nCiao,\nJohannes\n"},{"id":"542289","messageId":"xmqq8qab9vh0.fsf@gitster.g","threadId":"65542","inReplyTo":"b3238847-91c1-42fa-b87a-b9d10daa6066@grueninger.de","subject":"Re: [PATCH] [ci] Update GitHub Actions to latest major release / GitHub #2278","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2026-04-25T10:37:31Z","receivedAt":"2026-04-25T10:37:33Z","isPatch":true,"body":"Christoph Grüninger <foss@grueninger.de> writes:\n\n> Dear Git developer!\n>\n> I repost my suggested contribution from:\n>\n> https://github.com/git/git/pull/2278\n\n\nGlad to see new people show interest in joining the Git development\ncommunity.  Documentation/SubmittingPatches would help.\n\n> I updated all GitHub Actions to their latest major release. In contrast \n> to \"ci: GitHub Actions updates\" (brought to you by Dependabot \n> (https://lore.kernel.org/git/pull.2097.git.1776775319.gitgitgadget@gmail.com/T/#t), \n> I update some more standard actions and mshick/add-pr-comment.\n> They fix deprecation warnings that GitHub Action deprecated Node20.js.\n>\n> Kind regards,\n> Christoph\n\nThanks.\n"}]}