Skip to content

Commit

Permalink
Merge pull request #491 from pelias/ci-uniformity
Browse files Browse the repository at this point in the history
CI: Update GitHub Actions config for uniformity
  • Loading branch information
orangejulius committed Jul 16, 2023
2 parents d547f3a + c9790c2 commit 17f6e7f
Show file tree
Hide file tree
Showing 4 changed files with 66 additions and 44 deletions.
30 changes: 30 additions & 0 deletions .github/workflows/_integration_tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: Integration Tests
on: workflow_call
jobs:
integration-tests:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os:
- ${{ vars.UBUNTU_VERSION }}
node-version: [14.x, 16.x]
es-version: [7.6.1]
jdk-version: [oraclejdk11]
steps:
- uses: actions/checkout@v2
- name: Install node.js ${{ matrix.node-version }}
uses: actions/setup-node@v2-beta
with:
node-version: ${{ matrix.node-version }}
- name: Start elasticsearch ${{ matrix.es-version }} (${{ matrix.jdk-version }})
env:
ES_VERSION: ${{ matrix.es-version }}
JDK_VERSION: ${{ matrix.jdk-version }}
run: ./scripts/setup_ci.sh
- name: Run integration tests
run: |
npm install -g npm
npm install
curl http://127.0.0.1:9200/
./bin/create_index
npm run integration
21 changes: 21 additions & 0 deletions .github/workflows/_unit_tests.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:
- ${{ vars.UBUNTU_VERSION }}
node-version: [14.x, 16.x]
steps:
- uses: actions/checkout@v2
- name: Install node.js ${{ matrix.node-version }}
uses: actions/setup-node@v2-beta
with:
node-version: ${{ matrix.node-version }}
- name: Run unit tests
run: |
npm install -g npm
npm install
npm run test
11 changes: 11 additions & 0 deletions .github/workflows/pull_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
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/_unit_tests.yml
integration-tests:
# only run this job for forks
if: github.event.pull_request.head.repo.full_name != github.repository
uses: ./.github/workflows/_integration_tests.yml
48 changes: 4 additions & 44 deletions .github/workflows/push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,53 +5,13 @@ on:
- 'v[0-9]+.[0-9]+.[0-9]+'
jobs:
unit-tests:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-20.04]
node-version: [14.x, 16.x]
steps:
- uses: actions/checkout@v2
- name: Install node.js ${{ matrix.node-version }}
uses: actions/setup-node@v2-beta
with:
node-version: ${{ matrix.node-version }}
- name: Run unit tests
run: |
npm install -g npm
npm install
npm run test
uses: ./.github/workflows/_unit_tests.yml
integration-tests:
needs: unit-tests
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-20.04]
node-version: [14.x, 16.x]
es-version: [7.6.1]
jdk-version: [oraclejdk11]
steps:
- uses: actions/checkout@v2
- name: Install node.js ${{ matrix.node-version }}
uses: actions/setup-node@v2-beta
with:
node-version: ${{ matrix.node-version }}
- name: Start elasticsearch ${{ matrix.es-version }} (${{ matrix.jdk-version }})
env:
ES_VERSION: ${{ matrix.es-version }}
JDK_VERSION: ${{ matrix.jdk-version }}
run: ./scripts/setup_ci.sh
- name: Run integration tests
run: |
npm install -g npm
npm install
curl http://127.0.0.1:9200/
./bin/create_index
npm run integration
uses: ./.github/workflows/_integration_tests.yml
npm-publish:
needs: [unit-tests, integration-tests]
if: github.ref == 'refs/heads/master' && github.event_name == 'push'
runs-on: ubuntu-20.04
runs-on: ${{ vars.UBUNTU_VERSION }}
steps:
- uses: actions/checkout@v2
- name: Install Node.js
Expand All @@ -69,7 +29,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, integration-tests, npm-publish]
runs-on: ubuntu-20.04
runs-on: ${{ vars.UBUNTU_VERSION }}
steps:
- uses: actions/checkout@v2
- name: Build Docker images
Expand Down

0 comments on commit 17f6e7f

Please sign in to comment.