Skip to content

Commit

Permalink
GitHub CI: Update action versions
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
quark17 committed Feb 7, 2024
1 parent 2b83a78 commit 1c27a41
Show file tree
Hide file tree
Showing 3 changed files with 46 additions and 46 deletions.
36 changes: 18 additions & 18 deletions .github/workflows/build-and-test-macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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: |
Expand Down Expand Up @@ -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 }}
Expand Down Expand Up @@ -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
Expand All @@ -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
Expand All @@ -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 }}
Expand Down Expand Up @@ -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
Expand All @@ -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
Expand All @@ -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 }}
Expand Down Expand Up @@ -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
Expand All @@ -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 }}
Expand Down Expand Up @@ -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
Expand All @@ -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
Expand All @@ -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 }}
Expand Down Expand Up @@ -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
36 changes: 18 additions & 18 deletions .github/workflows/build-and-test-ubuntu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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: |
Expand All @@ -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 }}
Expand Down Expand Up @@ -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
Expand All @@ -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
Expand All @@ -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 }}
Expand Down Expand Up @@ -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
Expand All @@ -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
Expand All @@ -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 }}
Expand Down Expand Up @@ -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
Expand All @@ -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 }}
Expand Down Expand Up @@ -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
Expand All @@ -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
Expand All @@ -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 }}
Expand Down Expand Up @@ -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
20 changes: 10 additions & 10 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand All @@ -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
Expand Down Expand Up @@ -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"
Expand All @@ -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
Expand All @@ -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"
Expand All @@ -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
Expand All @@ -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"
Expand All @@ -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

0 comments on commit 1c27a41

Please sign in to comment.