From aef470cbb19f3b5a26843fdf74cdbdc64dc30ea2 Mon Sep 17 00:00:00 2001 From: Julian Simioni Date: Tue, 26 Nov 2024 17:59:29 +0100 Subject: [PATCH 1/5] 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 1d647a2..5a0e142 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 6c8fc07..d2d79db 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: ${{ vars.UBUNTU_VERSION }} 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: ${{ vars.UBUNTU_VERSION }} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Build Docker images env: DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }} From 9a3deb32adc0ea5c09443b52f6e422cb55370957 Mon Sep 17 00:00:00 2001 From: Julian Simioni Date: Tue, 26 Nov 2024 17:59:33 +0100 Subject: [PATCH 2/5] CI: move away from an Ubuntu version variable in GH Actions This doesn't really save us much effort and breaks CI on forks. 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 5a0e142..74c6104 100644 --- a/.github/workflows/_test.yml +++ b/.github/workflows/_test.yml @@ -6,7 +6,7 @@ jobs: strategy: matrix: os: - - ${{ vars.UBUNTU_VERSION }} + - ubuntu-22.04 node-version: - 12.x - 14.x diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index d2d79db..a83dee7 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: ${{ vars.UBUNTU_VERSION }} + 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: ${{ vars.UBUNTU_VERSION }} + runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 - name: Build Docker images From 28a387096651f803271079f5231b45cb54a88bc7 Mon Sep 17 00:00:00 2001 From: Julian Simioni Date: Tue, 26 Nov 2024 17:59:35 +0100 Subject: [PATCH 3/5] 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 74c6104..520e451 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 d3f7f553406213922c8c2263ebf15c50f1008722 Mon Sep 17 00:00:00 2001 From: Julian Simioni Date: Tue, 26 Nov 2024 17:59:37 +0100 Subject: [PATCH 4/5] 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 520e451..11dc06e 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, 22.x ] steps: - uses: actions/checkout@v4 - name: 'Install node.js ${{ matrix.node-version }}' From 8c8301e1178455954fcc5e39ba64bed7537ff31c Mon Sep 17 00:00:00 2001 From: Julian Simioni Date: Tue, 26 Nov 2024 17:59:39 +0100 Subject: [PATCH 5/5] 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 | 16 +--------------- 2 files changed, 2 insertions(+), 15 deletions(-) diff --git a/.github/workflows/_test.yml b/.github/workflows/_test.yml index 11dc06e..6efcedc 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 a83dee7..bc0d0e8 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 }} @@ -21,17 +21,3 @@ jobs: if [[ -n "$GH_TOKEN" && -n "$NPM_TOKEN" ]]; then curl "https://raw.githubusercontent.com/pelias/ci-tools/master/semantic-release.sh" | bash - fi - build-docker-images: - # run this job if the unit tests passed and the npm-publish job was a success or was skipped - # 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-22.04 - steps: - - uses: actions/checkout@v4 - - name: Build Docker images - env: - DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }} - DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} - run: | - curl "https://raw.githubusercontent.com/pelias/ci-tools/master/build-docker-images.sh" | bash -