cobalt/.github/workflows/test.yml

58 lines
1.5 KiB
YAML
Raw Normal View History

name: Run tests
on:
pull_request:
push:
jobs:
check-lockfile:
name: check lockfile correctness
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
2024-08-03 10:32:42 +01:00
- uses: pnpm/action-setup@v4
- name: Check that lockfile does not need an update
2024-08-03 10:29:29 +01:00
run: pnpm install --frozen-lockfile
test-web:
name: web sanity check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
2024-08-03 10:52:46 +01:00
node-version: 'lts/*'
2024-08-03 10:32:42 +01:00
- uses: pnpm/action-setup@v4
- run: .github/test.sh web
test-api:
name: api sanity check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
2024-08-03 10:32:42 +01:00
- uses: pnpm/action-setup@v4
- run: .github/test.sh api
2024-07-09 19:30:24 +01:00
check-services:
name: test service functionality
runs-on: ubuntu-latest
outputs:
services: ${{ steps.checkServices.outputs.service_list }}
steps:
- uses: actions/checkout@v4
2024-08-03 10:32:42 +01:00
- uses: pnpm/action-setup@v4
2024-07-09 19:30:24 +01:00
- id: checkServices
2024-08-03 10:32:42 +01:00
run: pnpm i --frozen-lockfile && echo "service_list=$(node api/src/util/test-ci get-services)" >> "$GITHUB_OUTPUT"
2024-07-09 19:30:24 +01:00
test-services:
needs: check-services
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
service: ${{ fromJson(needs.check-services.outputs.services) }}
name: "test service: ${{ matrix.service }}"
steps:
- uses: actions/checkout@v4
2024-08-03 10:32:42 +01:00
- uses: pnpm/action-setup@v4
- run: pnpm i --frozen-lockfile && node api/src/util/test-ci run-tests-for ${{ matrix.service }}