db-vendo-client/.github/workflows/test.yml

100 lines
2.3 KiB
YAML
Raw Normal View History

2021-01-28 15:11:35 +01:00
name: test
2024-12-17 16:07:39 +00:00
on: [push, pull_request, workflow_call]
2021-01-28 15:11:35 +01:00
env:
npm_config_cache: /tmp/npm-cache
2021-01-28 15:11:35 +01:00
jobs:
lint:
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- name: "Checkout code"
uses: actions/checkout@v4
- name: "Use Node.js"
uses: actions/setup-node@v4
with:
node-version: 'lts/*'
- run: npm install
- run: npm run lint
2021-01-28 15:11:35 +01:00
unit-tests:
runs-on: ubuntu-latest
strategy:
matrix:
2024-09-25 21:55:44 +02:00
node-version:
- 16.x
- 18.x
- 20.x
- 22.x
2021-01-28 15:11:35 +01:00
steps:
- name: checkout
2023-12-10 22:07:02 +01:00
uses: actions/checkout@v4
2021-01-28 15:11:35 +01:00
- name: setup Node.js v${{ matrix.node-version }}
2023-12-10 22:07:02 +01:00
uses: actions/setup-node@v4
2021-01-28 15:11:35 +01:00
with:
node-version: ${{ matrix.node-version }}
- id: cache-npm
name: restore npm cache
uses: actions/cache@v4
with:
key: npm-cache-${{ github.ref_name }}-${{ matrix.node-version }}-unit-tests
path: ${{ env.npm_config_cache }}
2021-01-28 15:11:35 +01:00
- run: npm install
- run: npm run test-unit
2024-12-17 20:26:12 +00:00
integration-tests:
runs-on: ubuntu-latest
strategy:
matrix:
node-version:
- 16.x
- 18.x
- 20.x
- 22.x
steps:
- name: checkout
uses: actions/checkout@v4
- name: setup Node.js v${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
- id: cache-npm
name: restore npm cache
uses: actions/cache@v4
2024-12-17 20:26:12 +00:00
with:
key: npm-cache-${{ github.ref_name }}-${{ matrix.node-version }}-integration-tests
2024-12-17 20:26:12 +00:00
path: ${{ env.npm_config_cache }}
- run: npm install
- run: npm run test-integration
e2e-tests:
needs: [unit-tests, integration-tests]
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [18.x]
2024-12-17 20:26:12 +00:00
steps:
- name: checkout
uses: actions/checkout@v4
- name: setup Node.js v${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
- id: cache-npm
name: restore npm cache
uses: actions/cache@v4
2024-12-17 20:26:12 +00:00
with:
key: npm-cache-${{ github.ref_name }}-${{ matrix.node-version }}-e2e-tests
2024-12-17 20:26:12 +00:00
path: ${{ env.npm_config_cache }}
- run: npm install
- run: npm run test-e2e