Skip to content

Commit

Permalink
CI: use standard Github Action templates
Browse files Browse the repository at this point in the history
A lot of our repositories have diverged from our intended template, so this copies a temlated version over whatever was here before

Connects pelias/pelias#951
  • Loading branch information
orangejulius committed Nov 25, 2024
1 parent 5b697cf commit feb3a4f
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 35 deletions.
21 changes: 21 additions & 0 deletions .github/workflows/_test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: Unit Tests
on: workflow_call
jobs:
unit-tests:
runs-on: '${{ matrix.os }}'
strategy:
matrix:
os:
- ubuntu-22.04
node-version: [ 18.x, 20.x, 22.x ]
steps:
- uses: actions/checkout@v4
- name: 'Install node.js ${{ matrix.node-version }}'
uses: actions/setup-node@v4
with:
node-version: '${{ matrix.node-version }}'
- name: Run unit tests
run: |
[[ -f ./bin/ci-setup ]] && ./bin/ci-setup
npm install
npm run ci
7 changes: 7 additions & 0 deletions .github/workflows/pull_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
name: Continuous Integration
on: pull_request
jobs:
unit-tests:
# only run this job for forks
if: github.event.pull_request.head.repo.full_name != github.repository
uses: ./.github/workflows/_test.yml
39 changes: 4 additions & 35 deletions .github/workflows/push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,48 +2,17 @@ name: Continuous Integration
on: push
jobs:
unit-tests:
runs-on: '${{ matrix.os }}'
strategy:
matrix:
os:
- ubuntu-22.04
node-version: [ 18.x, 20.x, 22.x ]
go-version:
- 1.16.x
steps:
- uses: actions/checkout@v4
- name: 'Install Golang ${{ matrix.go-version }}'
uses: actions/setup-go@v2
with:
go-version: '${{ matrix.go-version }}'
- name: Run Go unit tests
run: go test ./...
- name: 'Install node.js ${{ matrix.node-version }}'
uses: actions/setup-node@v4
with:
node-version: '${{ matrix.node-version }}'
- name: Install npm dependencies
run: npm install
- name: Run JS unit tests
run: npm test
- name: Run JS end-to-end tests
run: npm run end-to-end
uses: ./.github/workflows/_test.yml
npm-publish:
needs: unit-tests
if: github.ref == 'refs/heads/master' && github.event_name == 'push'
if: github.ref == 'refs/heads/master' && needs.unit-tests.result == 'success'
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: 'Install Golang 1.16.x'
uses: actions/setup-go@v2
with:
go-version: '1.16.x'
- name: 'Install node.js 16.x'
- name: Install Node.js
uses: actions/setup-node@v4
with:
node-version: '16.x'
- name: Install npm dependencies
run: npm install
node-version: 20.x
- name: Run semantic-release
env:
GH_TOKEN: ${{ secrets.GH_SEMANTIC_RELEASE_TOKEN }}
Expand Down

0 comments on commit feb3a4f

Please sign in to comment.