From 6a2dd666de83d6012863d2e6a02a54f0e80f99cd Mon Sep 17 00:00:00 2001 From: Julian Simioni Date: Tue, 26 Nov 2024 18:25:55 +0100 Subject: [PATCH 1/6] CI: update checkout and setup-node actions to latest This just keeps us up to date and avoids warnings for deprecated Node.js versions in CI. --- .github/workflows/_test.yml | 4 ++-- .github/workflows/push.yml | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/_test.yml b/.github/workflows/_test.yml index 668608d6..6bc7842b 100644 --- a/.github/workflows/_test.yml +++ b/.github/workflows/_test.yml @@ -12,9 +12,9 @@ jobs: - 14.x - 16.x steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: 'Install node.js ${{ matrix.node-version }}' - uses: actions/setup-node@v2-beta + uses: actions/setup-node@v4 with: node-version: '${{ matrix.node-version }}' - name: Run unit tests diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index fc5664ff..12a17ee5 100644 --- a/.github/workflows/push.yml +++ b/.github/workflows/push.yml @@ -8,9 +8,9 @@ jobs: if: github.ref == 'refs/heads/master' && needs.unit-tests.result == 'success' runs-on: ubuntu-20.04 steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Install Node.js - uses: actions/setup-node@v2-beta + uses: actions/setup-node@v4 with: node-version: 16.x - name: Run semantic-release @@ -28,7 +28,7 @@ jobs: needs: [unit-tests, npm-publish] runs-on: ubuntu-20.04 steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Build Docker images env: DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }} From 899aa7b1f7f88d7f1e5c317a5b26b02cb3c1678f Mon Sep 17 00:00:00 2001 From: Julian Simioni Date: Tue, 26 Nov 2024 18:25:58 +0100 Subject: [PATCH 2/6] CI: update all hardcoded Ubuntu versions to 22.04 We were all over the place with these, with some going all the way back to Ubuntu 16! Connects https://github.com/pelias/pelias/issues/951 --- .github/workflows/_test.yml | 2 +- .github/workflows/push.yml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/_test.yml b/.github/workflows/_test.yml index 6bc7842b..74c61047 100644 --- a/.github/workflows/_test.yml +++ b/.github/workflows/_test.yml @@ -6,7 +6,7 @@ jobs: strategy: matrix: os: - - ubuntu-20.04 + - ubuntu-22.04 node-version: - 12.x - 14.x diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index 12a17ee5..a83dee78 100644 --- a/.github/workflows/push.yml +++ b/.github/workflows/push.yml @@ -6,7 +6,7 @@ jobs: npm-publish: needs: unit-tests if: github.ref == 'refs/heads/master' && needs.unit-tests.result == 'success' - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 - name: Install Node.js @@ -26,7 +26,7 @@ jobs: # note: github actions won't run a job if you don't call one of the status check functions, so `always()` is called since it evalutes to `true` if: ${{ always() && needs.unit-tests.result == 'success' && (needs.npm-publish.result == 'success' || needs.npm-publish.result == 'skipped') }} needs: [unit-tests, npm-publish] - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 - name: Build Docker images From aac4d534473af877495f344596e05006f4c8876b Mon Sep 17 00:00:00 2001 From: Julian Simioni Date: Tue, 26 Nov 2024 18:26:04 +0100 Subject: [PATCH 3/6] CI: remove EOL Node.js 12/16/18 https://github.com/pelias/pelias/issues/950 --- .github/workflows/_test.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/_test.yml b/.github/workflows/_test.yml index 74c61047..520e4512 100644 --- a/.github/workflows/_test.yml +++ b/.github/workflows/_test.yml @@ -8,9 +8,6 @@ jobs: os: - ubuntu-22.04 node-version: - - 12.x - - 14.x - - 16.x steps: - uses: actions/checkout@v4 - name: 'Install node.js ${{ matrix.node-version }}' From 6322825172c2865ca4442bad8fc1d4853d787d0d Mon Sep 17 00:00:00 2001 From: Julian Simioni Date: Tue, 26 Nov 2024 18:26:07 +0100 Subject: [PATCH 4/6] CI: Test Node.js versions supported by this repo This also rewrites our CI config so that all Node.js versions are on one line for ease of future grepping https://github.com/pelias/pelias/issues/950 --- .github/workflows/_test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/_test.yml b/.github/workflows/_test.yml index 520e4512..677d3e97 100644 --- a/.github/workflows/_test.yml +++ b/.github/workflows/_test.yml @@ -7,7 +7,7 @@ jobs: matrix: os: - ubuntu-22.04 - node-version: + node-version: [ 18.x, 20.x ] steps: - uses: actions/checkout@v4 - name: 'Install node.js ${{ matrix.node-version }}' From 633bb42b2d1ca60a5f34c67d5d53455c3bac8756 Mon Sep 17 00:00:00 2001 From: Julian Simioni Date: Tue, 26 Nov 2024 18:26:11 +0100 Subject: [PATCH 5/6] CI: use standard Github Action templates A lot of our repositories have diverged from our intended template, so this copies a templated version over whatever was here before Connects https://github.com/pelias/pelias/issues/951 --- .github/workflows/_test.yml | 1 + .github/workflows/push.yml | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/_test.yml b/.github/workflows/_test.yml index 677d3e97..f3f1f859 100644 --- a/.github/workflows/_test.yml +++ b/.github/workflows/_test.yml @@ -16,5 +16,6 @@ jobs: node-version: '${{ matrix.node-version }}' - name: Run unit tests run: | + [[ -f ./bin/ci-setup ]] && ./bin/ci-setup npm install npm run ci diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index a83dee78..8c1f9295 100644 --- a/.github/workflows/push.yml +++ b/.github/workflows/push.yml @@ -12,7 +12,7 @@ jobs: - name: Install Node.js uses: actions/setup-node@v4 with: - node-version: 16.x + node-version: 20.x - name: Run semantic-release env: GH_TOKEN: ${{ secrets.GH_SEMANTIC_RELEASE_TOKEN }} From ce44123bf28b74846fac27c91c3fffd094b7f48e Mon Sep 17 00:00:00 2001 From: Julian Simioni Date: Tue, 26 Nov 2024 18:26:14 +0100 Subject: [PATCH 6/6] feat(docker): Upgrade to Node.js 18 Docker baseimage BREAKING CHANGE: The Docker baseimage has been updated to use Node.js 18.20.5, so this repository's Docker image will also use it. https://github.com/pelias/pelias/issues/950