fix(lotw): filter QSOs by cert's allowed date range before upload #268
Workflow file for this run
This file contains hidden or 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: CI | |
| on: | |
| push: | |
| branches: [ main, develop ] | |
| pull_request: | |
| branches: [ main, develop ] | |
| jobs: | |
| test: | |
| timeout-minutes: 60 | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: '22' | |
| cache: 'npm' | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Install Playwright Browsers | |
| run: npx playwright install --with-deps chromium | |
| - name: Build application | |
| run: npm run build | |
| - name: Run linting | |
| run: npm run lint | |
| - name: Run Playwright tests | |
| run: npm run test | |
| env: | |
| PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1 | |
| - uses: actions/upload-artifact@v4 | |
| if: always() | |
| with: | |
| name: playwright-report | |
| path: playwright-report/ | |
| retention-days: 30 | |
| security: | |
| runs-on: ubuntu-latest | |
| env: | |
| SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: '22' | |
| cache: 'npm' | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Check Snyk token | |
| id: snyk_token | |
| run: | | |
| if [ -n "$SNYK_TOKEN" ]; then | |
| echo "present=true" >> "$GITHUB_OUTPUT" | |
| else | |
| echo "present=false" >> "$GITHUB_OUTPUT" | |
| echo "::warning::SNYK_TOKEN not set - skipping Snyk scan. Add it to repo secrets to enable enforcement." | |
| fi | |
| - name: Snyk SCA test | |
| if: steps.snyk_token.outputs.present == 'true' | |
| uses: snyk/actions/node@master | |
| with: | |
| args: --severity-threshold=high | |
| - name: Snyk container test (Dockerfile) | |
| if: steps.snyk_token.outputs.present == 'true' | |
| uses: snyk/actions/docker@master | |
| with: | |
| image: node:22-alpine | |
| args: --file=Dockerfile --severity-threshold=high | |
| # This job will be required for merging PRs | |
| tests-required: | |
| runs-on: ubuntu-latest | |
| needs: test | |
| if: always() | |
| steps: | |
| - name: Check test results | |
| run: | | |
| if [ "${{ needs.test.result }}" != "success" ]; then | |
| echo "Tests failed or were cancelled" | |
| exit 1 | |
| fi | |
| echo "All tests passed!" |