Merge pull request #903 from aehrc/main #5
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: Smart Forms Build-Test-Lint Workflow | |
on: | |
push: | |
jobs: | |
build: | |
name: Build | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Use Node.js 16.x | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 16 | |
cache: npm | |
- name: Install dependencies | |
run: npm ci | |
- name: Build application | |
run: npm run build -w apps/smart-forms-app | |
jest-test: | |
name: Jest Tests | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Use Node.js 16.x | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 16 | |
cache: npm | |
- name: Install dependencies | |
run: npm ci | |
- name: Run jest tests | |
run: npm run test -w packages/smart-forms-renderer | |
- uses: codecov/codecov-action@v4 | |
playwright-test: | |
name: Playwright Tests | |
timeout-minutes: 60 | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 16 | |
cache: npm | |
- name: Install dependencies | |
run: npm ci | |
- name: Install Playwright Browsers | |
run: npx playwright install --with-deps | |
- name: Run Playwright tests | |
run: npm run playwright -w apps/smart-forms-app | |
- uses: actions/upload-artifact@v4 | |
if: always() | |
with: | |
build: npm run build -w apps/smart-forms-app | |
start: npm run preview -w apps/smart-forms-app | |
name: playwright-report | |
path: playwright-report/ | |
retention-days: 30 | |
lint: | |
name: Lint | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Use Node.js 16.x | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 16 | |
cache: npm | |
- name: Install dependencies | |
run: npm ci | |
- name: Run linter | |
run: npm run lint | |
- name: Check formatting | |
run: npm run check-formatting |