From f9d6e9e3b8c831aaff9b0c7123923734ac2d97f0 Mon Sep 17 00:00:00 2001 From: Julie Schwartz Date: Wed, 7 Feb 2024 11:25:45 +1300 Subject: [PATCH] GitHub CI: Update action versions The checkout and cache versions are updated to newer versions (v4) that use Node 20, because Node 16 is being phased out. The upload- and download-artifact actions are updated to newer versions (v4) that have significant performance improvements. --- .github/workflows/build-and-test-macos.yml | 36 ++++++++++----------- .github/workflows/build-and-test-ubuntu.yml | 36 ++++++++++----------- .github/workflows/ci.yml | 20 ++++++------ 3 files changed, 46 insertions(+), 46 deletions(-) diff --git a/.github/workflows/build-and-test-macos.yml b/.github/workflows/build-and-test-macos.yml index 46e2f3cc..586098c1 100644 --- a/.github/workflows/build-and-test-macos.yml +++ b/.github/workflows/build-and-test-macos.yml @@ -21,7 +21,7 @@ jobs: name: "Build: ${{ inputs.os }} ghc-${{ inputs.ghc_version }}" runs-on: ${{ inputs.os }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Checkout submodules shell: bash run: | @@ -51,7 +51,7 @@ jobs: # in the key so that a new cache file is generated after every build, # and have the restore-key use the most recent. - name: CCache cache files - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ${{ GITHUB.WORKSPACE }}/ccache key: build-${{ inputs.os }}-ghc-${{ inputs.ghc_version }}-ccache-${{ github.sha }} @@ -112,7 +112,7 @@ jobs: exit 0 fi - name: Upload artifact - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: ${{ inputs.os }} ghc-${{ inputs.ghc_version }} build path: inst.tar.gz @@ -122,14 +122,14 @@ jobs: runs-on: ${{ inputs.os }} needs: build-macos steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Install dependencies shell: bash run: ".github/workflows/install_dependencies_testsuite_macos.sh" - name: Download bsc - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: ${{ inputs.os }} ghc-${{ inputs.ghc_version }} build - name: Install bsc @@ -139,7 +139,7 @@ jobs: # in the key so that a new cache file is generated after every # successful build, and have the restore-key use the most recent. - name: CCache cache files - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ${{ GITHUB.WORKSPACE }}/ccache key: test-${{ inputs.os }}-ghc-${{ inputs.ghc_version }}-ccache-${{ github.sha }} @@ -179,7 +179,7 @@ jobs: # Save test logs on failure so we can diagnose - name: Archive test logs if: failure() - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: test-logs-${{ inputs.os }}-ghc-${{ inputs.ghc_version }} path: logs.tar.gz @@ -189,14 +189,14 @@ jobs: runs-on: ${{ inputs.os }} needs: build-macos steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Install dependencies run: | brew install ccache libelf - name: Download bsc - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: ${{ inputs.os }} ghc-${{ inputs.ghc_version }} build - name: Install bsc @@ -210,7 +210,7 @@ jobs: # in the key so that a new cache file is generated after every # successful build, and have the restore-key use the most recent. - name: CCache cache files - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ${{ GITHUB.WORKSPACE }}/ccache key: test-toooba-${{ inputs.os }}-ghc-${{ inputs.ghc_version }}-ccache-${{ github.sha }} @@ -266,14 +266,14 @@ jobs: runs-on: ${{ inputs.os }} needs: build-macos steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Install dependencies shell: bash run: ".github/workflows/install_dependencies_testsuite_macos.sh" - name: Download bsc - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: ${{ inputs.os }} ghc-${{ inputs.ghc_version }} build - name: Install bsc @@ -292,7 +292,7 @@ jobs: # in the key so that a new cache file is generated after every # successful build, and have the restore-key use the most recent. - name: CCache cache files - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ${{ GITHUB.WORKSPACE }}/ccache key: test-contrib-${{ inputs.os }}-ghc-${{ inputs.ghc_version }}-ccache-${{ github.sha }} @@ -332,7 +332,7 @@ jobs: # Save test logs on failure so we can diagnose - name: Archive test logs if: failure() - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: test-contrib-logs-${{ inputs.os }}-ghc-${{ inputs.ghc_version }} path: logs.tar.gz @@ -342,10 +342,10 @@ jobs: runs-on: ${{ inputs.os }} needs: build-macos steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Download bsc - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: ${{ inputs.os }} ghc-${{ inputs.ghc_version }} build - name: Install bsc @@ -368,7 +368,7 @@ jobs: # in the key so that a new cache file is generated after every # successful build, and have the restore-key use the most recent. - name: CCache cache files - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ${{ GITHUB.WORKSPACE }}/ccache key: test-bdw-${{ inputs.os }}-ghc-${{ inputs.ghc_version }}-ccache-${{ github.sha }} @@ -408,7 +408,7 @@ jobs: # Save test logs on failure so we can diagnose - name: Archive test logs if: failure() - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: test-bdw-logs-${{ inputs.os }}-ghc-${{ inputs.ghc_version }} path: logs.tar.gz diff --git a/.github/workflows/build-and-test-ubuntu.yml b/.github/workflows/build-and-test-ubuntu.yml index ac667d2b..91ad6433 100644 --- a/.github/workflows/build-and-test-ubuntu.yml +++ b/.github/workflows/build-and-test-ubuntu.yml @@ -21,7 +21,7 @@ jobs: name: "Build: ${{ inputs.os }} ghc-${{ inputs.ghc_version }}" runs-on: ${{ inputs.os }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Checkout submodules shell: bash run: | @@ -45,7 +45,7 @@ jobs: # in the key so that a new cache file is generated after every build, # and have the restore-key use the most recent. - name: CCache cache files - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ${{ GITHUB.WORKSPACE }}/ccache key: build-${{ inputs.os }}-ghc-${{ inputs.ghc_version }}-ccache-${{ github.sha }} @@ -96,7 +96,7 @@ jobs: exit 0 fi - name: Upload artifact - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: ${{ inputs.os }} ghc-${{ inputs.ghc_version }} build path: inst.tar.gz @@ -106,14 +106,14 @@ jobs: runs-on: ${{ inputs.os }} needs: build-ubuntu steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Install dependencies shell: bash run: "sudo .github/workflows/install_dependencies_testsuite_ubuntu.sh" - name: Download bsc - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: ${{ inputs.os }} ghc-${{ inputs.ghc_version }} build - name: Install bsc @@ -123,7 +123,7 @@ jobs: # in the key so that a new cache file is generated after every # successful build, and have the restore-key use the most recent. - name: CCache cache files - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ${{ GITHUB.WORKSPACE }}/ccache key: test-${{ inputs.os }}-ghc-${{ inputs.ghc_version }}-ccache-${{ github.sha }} @@ -162,7 +162,7 @@ jobs: # Save test logs on failure so we can diagnose - name: Archive test logs if: failure() - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: test-logs-${{ inputs.os }}-ghc-${{ inputs.ghc_version }} path: logs.tar.gz @@ -172,14 +172,14 @@ jobs: runs-on: ${{ inputs.os }} needs: build-ubuntu steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Install dependencies run: | sudo apt-get install -y ccache libelf-dev - name: Download bsc - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: ${{ inputs.os }} ghc-${{ inputs.ghc_version }} build - name: Install bsc @@ -193,7 +193,7 @@ jobs: # in the key so that a new cache file is generated after every # successful build, and have the restore-key use the most recent. - name: CCache cache files - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ${{ GITHUB.WORKSPACE }}/ccache key: test-toooba-${{ inputs.os }}-ghc-${{ inputs.ghc_version }}-ccache-${{ github.sha }} @@ -255,14 +255,14 @@ jobs: runs-on: ${{ inputs.os }} needs: build-ubuntu steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Install dependencies shell: bash run: "sudo .github/workflows/install_dependencies_testsuite_ubuntu.sh" - name: Download bsc - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: ${{ inputs.os }} ghc-${{ inputs.ghc_version }} build - name: Install bsc @@ -281,7 +281,7 @@ jobs: # in the key so that a new cache file is generated after every # successful build, and have the restore-key use the most recent. - name: CCache cache files - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ${{ GITHUB.WORKSPACE }}/ccache key: test-contrib-${{ inputs.os }}-ghc-${{ inputs.ghc_version }}-ccache-${{ github.sha }} @@ -326,7 +326,7 @@ jobs: # Save test logs on failure so we can diagnose - name: Archive test logs if: failure() - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: test-contrib-logs-${{ inputs.os }}-ghc-${{ inputs.ghc_version }} path: logs.tar.gz @@ -336,10 +336,10 @@ jobs: runs-on: ${{ inputs.os }} needs: build-ubuntu steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Download bsc - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: name: ${{ inputs.os }} ghc-${{ inputs.ghc_version }} build - name: Install bsc @@ -362,7 +362,7 @@ jobs: # in the key so that a new cache file is generated after every # successful build, and have the restore-key use the most recent. - name: CCache cache files - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ${{ GITHUB.WORKSPACE }}/ccache key: test-bdw-${{ inputs.os }}-ghc-${{ inputs.ghc_version }}-ccache-${{ github.sha }} @@ -407,7 +407,7 @@ jobs: # Save test logs on failure so we can diagnose - name: Archive test logs if: failure() - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: test-bdw-logs-${{ inputs.os }}-ghc-${{ inputs.ghc_version }} path: logs.tar.gz diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 881028d7..8be2b5d9 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -8,7 +8,7 @@ jobs: name: "Check: code cleanliness" runs-on: ubuntu-20.04 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Check tabs and whitespace shell: bash run: ".github/workflows/check_whitespace.sh" @@ -17,7 +17,7 @@ jobs: name: "Check: testsuite lint" runs-on: ubuntu-20.04 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Check CONFDIR run: | cd testsuite @@ -76,7 +76,7 @@ jobs: name: "Build doc: ${{ matrix.os }}" runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Install dependencies shell: bash run: "sudo .github/workflows/install_dependencies_doc_ubuntu.sh" @@ -94,13 +94,13 @@ jobs: # therefore we provide an option without the tarfile layer. - name: Upload artifact # This artifact (PDFs inside inst.tar.gz inside artifact.zip) is for release packaging. - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: ${{ matrix.os }} build doc path: inst.tar.gz - name: Upload doc not tar # This artifact (PDFs inside artifact.zip) is for viewing the built documents. - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: ${{matrix.os}}-doc-not-tar path: inst/doc @@ -113,7 +113,7 @@ jobs: name: "Build doc: ${{ matrix.os }}" runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Install dependencies shell: bash run: ".github/workflows/install_dependencies_doc_macos.sh" @@ -134,13 +134,13 @@ jobs: # therefore we provide an option without the tarfile layer. - name: Upload artifact # This artifact (PDFs inside inst.tar.gz inside artifact.zip) is for release packaging. - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: ${{ matrix.os }} build doc path: inst.tar.gz - name: Upload doc not tar # This artifact (PDFs inside artifact.zip) is for viewing the built documents. - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: ${{matrix.os}}-doc-not-tar path: inst/doc @@ -156,7 +156,7 @@ jobs: name: "Build releasenotes: ${{ matrix.os }}" runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Install dependencies shell: bash run: "sudo .github/workflows/install_dependencies_releasenotes_ubuntu.sh" @@ -165,7 +165,7 @@ jobs: make install-release tar czf inst.tar.gz inst - name: Upload artifact - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: ${{ matrix.os }} releasenotes path: inst.tar.gz