name: CI on: push: branches: [ main, develop ] pull_request: branches: [ main, develop ] jobs: lint: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: pnpm/action-setup@v2 with: version: 9 - uses: actions/setup-node@v3 with: node-version: '18' cache: 'pnpm' - run: pnpm install - run: pnpm run lint test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: pnpm/action-setup@v2 with: version: 9 - uses: actions/setup-node@v3 with: node-version: '18' cache: 'pnpm' - run: pnpm install - run: pnpm test -- --coverage - uses: codecov/codecov-action@v3 with: files: ./coverage/lcov.info fail_ci_if_error: false build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: pnpm/action-setup@v2 with: version: 9 - uses: actions/setup-node@v3 with: node-version: '18' cache: 'pnpm' - run: pnpm install - run: pnpm run build - name: Check for build errors run: | if [ $? -ne 0 ]; then echo "Build failed" exit 1 fi security: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: pnpm/action-setup@v2 with: version: 9 - uses: actions/setup-node@v3 with: node-version: '18' cache: 'pnpm' - run: pnpm install - run: pnpm audit --audit-level=moderate - name: Run security tests run: pnpm test -- __tests__/security.test.ts