UI refactor: add FAQ, fix responsive layouts and map zooming #521
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: | |
| pull_request: | |
| branches: [main] | |
| jobs: | |
| check-branch: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 2 | |
| concurrency: | |
| group: ci-check-branch-${{ github.ref }} | |
| cancel-in-progress: true | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: Check if the PR's branch is updated | |
| uses: osl-incubator/gh-check-pr-is-updated@1.0.0 | |
| with: | |
| remote_branch: origin/main | |
| pr_sha: ${{ github.event.pull_request.head.sha }} | |
| pre-commit: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 10 | |
| defaults: | |
| run: | |
| shell: bash -el {0} | |
| concurrency: | |
| group: ci-pre-commit-${{ github.ref }} | |
| cancel-in-progress: true | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup Conda environment | |
| uses: mamba-org/setup-micromamba@v2 | |
| with: | |
| environment-file: conda.yaml | |
| cache-environment: true | |
| - name: Install Node dependencies | |
| run: npm ci | |
| - name: Run pre-commit | |
| run: pre-commit run --all-files --verbose | |
| lint-and-test: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 10 | |
| permissions: | |
| pull-requests: write | |
| contents: read | |
| concurrency: | |
| group: ci-lint-test-${{ github.ref }} | |
| cancel-in-progress: true | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: "20" | |
| cache: "npm" | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Lint | |
| run: npm run lint | |
| - name: Run tests with coverage | |
| run: npm run test:coverage | |
| - name: Report Coverage | |
| uses: davelosert/vitest-coverage-report-action@v2 | |
| if: always() | |
| - name: Build | |
| run: npm run build | |
| test-backend: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 10 | |
| concurrency: | |
| group: ci-test-backend-${{ github.ref }} | |
| cancel-in-progress: true | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.12" | |
| cache: "pip" | |
| - name: Install dependencies | |
| run: | | |
| pip install pyyaml requests pytest pytest-cov pytest-mock | |
| - name: Run Python tests with coverage | |
| run: python -m pytest tests/ --cov=scripts --cov-report=term-missing | |
| validate-events: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 5 | |
| concurrency: | |
| group: ci-validate-events-${{ github.ref }} | |
| cancel-in-progress: true | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.12" | |
| - name: Install PyYAML | |
| run: pip install pyyaml | |
| - name: Backup committed events.json | |
| run: cp src/data/events.json src/data/events.json.committed | |
| - name: Validate and re-generate events.json | |
| run: python scripts/generate_events_json.py | |
| - name: Verify generated JSON matches committed JSON | |
| run: | | |
| if diff -q src/data/events.json src/data/events.json.committed > /dev/null; then | |
| echo "✅ events.json is up to date" | |
| else | |
| echo "❌ events.json is out of sync with events.yaml!" | |
| echo "Please run 'npm run generate' and commit the updated src/data/events.json" | |
| diff src/data/events.json src/data/events.json.committed | |
| exit 1 | |
| fi | |
| semantic-pr-title: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 2 | |
| steps: | |
| - name: Semantic Release PR Title Check | |
| uses: osl-incubator/semantic-release-pr-title-check@v1.4.1 | |
| with: | |
| convention-name: conventionalcommits |