feat: integration tests #6197
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
on: | |
push: | |
branches: | |
- '!main' | |
pull_request: | |
types: | |
- opened | |
- synchronize | |
name: PR Checks | |
jobs: | |
checkout: | |
runs-on: ubuntu-22.04 | |
timeout-minutes: 3 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ./.github/workflows/rafiki/env-setup | |
- run: pnpm checks | |
graphql: | |
runs-on: ubuntu-22.04 | |
needs: checkout | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ./.github/workflows/rafiki/env-setup | |
- name: generate backend graphql | |
run: pnpm --filter backend generate | |
- name: generate auth graphql | |
run: pnpm --filter auth generate | |
- name: verify changed files | |
uses: tj-actions/verify-changed-files@v17 | |
id: verify-changed-files | |
with: | |
files: | | |
**/generated/graphql.* | |
- name: fail if GraphQL was generated | |
if: steps.verify-changed-files.outputs.files_changed == 'true' | |
run: exit 1 | |
backend: | |
runs-on: ubuntu-22.04 | |
needs: [checkout] | |
timeout-minutes: 25 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ./.github/workflows/rafiki/env-setup | |
- run: pnpm --filter backend build:deps | |
- run: NODE_OPTIONS=--max-old-space-size=4096 pnpm --filter backend test:ci | |
frontend: | |
runs-on: ubuntu-22.04 | |
needs: checkout | |
timeout-minutes: 5 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ./.github/workflows/rafiki/env-setup | |
- run: pnpm --filter frontend typecheck | |
- run: pnpm --filter frontend build | |
auth: | |
runs-on: ubuntu-22.04 | |
needs: [checkout] | |
timeout-minutes: 5 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ./.github/workflows/rafiki/env-setup | |
- run: pnpm --filter auth build:deps | |
- run: pnpm --filter auth test | |
- name: AsyncAPI extension | |
run: | | |
echo "{\"extends\":[\"spectral:oas\",\"spectral:asyncapi\"]}" >> .spectral.json | |
- name: Validate Open API specs | |
run: | | |
npx @stoplight/spectral-cli lint ./packages/auth/openapi/*.yaml | |
mock-account-servicing-entity: | |
runs-on: ubuntu-22.04 | |
needs: checkout | |
timeout-minutes: 5 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ./.github/workflows/rafiki/env-setup | |
- run: pnpm --filter mock-account-servicing-entity build:deps | |
- run: pnpm --filter mock-account-servicing-entity typecheck | |
- run: pnpm --filter mock-account-servicing-entity build | |
token-introspection: | |
runs-on: ubuntu-22.04 | |
needs: checkout | |
timeout-minutes: 5 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ./.github/workflows/rafiki/env-setup | |
- run: pnpm --filter token-introspection test | |
- name: AsyncAPI extension | |
run: | | |
echo "{\"extends\":[\"spectral:oas\",\"spectral:asyncapi\"]}" >> .spectral.json | |
- name: Validate Open API specs | |
run: | | |
npx @stoplight/spectral-cli lint ./packages/token-introspection/openapi/*.yaml | |
build: | |
runs-on: ubuntu-22.04 | |
timeout-minutes: 5 | |
needs: | |
- backend | |
- frontend | |
- auth | |
- mock-account-servicing-entity | |
- token-introspection | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ./.github/workflows/rafiki/env-setup | |
- run: pnpm build | |
all_pr_checks_passed: | |
runs-on: ubuntu-22.04 | |
needs: | |
- build | |
steps: | |
- run: echo 'PR Checks Passed' |