Implement e2e test flow, fix small bugs #115
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
name: Continuous Build | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
jobs: | |
documentation: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Clone repo | |
uses: actions/checkout@v4 | |
- name: Check hyperlinks | |
uses: gaurav-nelson/github-action-markdown-link-check@v1 | |
lint-build-test: | |
runs-on: ubuntu-latest | |
name: Build, lint and test | |
steps: | |
- name: Clone repo | |
uses: actions/checkout@v4 | |
- name: Install pnpm | |
uses: pnpm/action-setup@v2 | |
with: | |
version: 8.8.0 | |
- name: Setup Node | |
uses: actions/setup-node@v3 | |
with: | |
node-version: '18.x' | |
cache: 'pnpm' | |
- name: Install Dependencies | |
run: pnpm install --frozen-lockfile | |
- name: Build | |
run: pnpm run build | |
- name: Lint Typescript | |
run: pnpm run tsc | |
- name: Lint | |
run: pnpm run prettier:check && pnpm run eslint:check | |
- name: Test | |
run: pnpm run test | |
e2e: | |
runs-on: ubuntu-latest | |
name: E2e tests | |
steps: | |
- name: Clone repo | |
uses: actions/checkout@v4 | |
- name: Install pnpm | |
uses: pnpm/action-setup@v2 | |
with: | |
version: 8.8.0 | |
- name: Setup Node | |
uses: actions/setup-node@v3 | |
with: | |
node-version: '18.x' | |
cache: 'pnpm' | |
- name: Install dependencies | |
run: pnpm install --frozen-lockfile | |
- name: Build | |
run: pnpm run build | |
- name: Build Docker images | |
run: pnpm run docker:build | |
- name: Start services | |
# Start the e2e services in the background and wait a small amount of time for them to start. | |
run: | | |
pnpm run --recursive --filter e2e start:data-provider-api & | |
pnpm run --recursive --filter e2e start:ci:signed-api & | |
pnpm run --recursive --filter e2e start:ci:pusher & | |
sleep 5 | |
- name: Run e2e tests | |
run: pnpm run --recursive --filter e2e test:e2e | |
required-checks-passed: | |
name: All required checks passed | |
runs-on: ubuntu-latest | |
needs: [documentation, lint-build-test, e2e] | |
steps: | |
- run: exit 0 |