Repository navigation
Investigating issues from recent commit (#17) #120
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: tests | |
| on: | |
| push: | |
| branches: [develop, main] | |
| pull_request: | |
| branches: [develop, main] | |
| workflow_dispatch: | |
| defaults: | |
| run: | |
| working-directory: . | |
| jobs: | |
| python: | |
| name: Python ${{ matrix.python-version }} (pytest) | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python-version: ["3.11", "3.12"] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| cache: pip | |
| cache-dependency-path: requirements-dev.txt | |
| - name: Install Python dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install -r requirements-dev.txt | |
| - name: Run pytest with coverage | |
| run: | | |
| python -m pytest tests/python \ | |
| --cov=src/runtime \ | |
| --cov-report=xml:coverage-python.xml \ | |
| --cov-report=term | |
| - name: Upload Python coverage artifact | |
| if: matrix.python-version == '3.12' | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: coverage-python | |
| path: coverage-python.xml | |
| typescript: | |
| name: TypeScript (Vitest) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: "20" | |
| cache: npm | |
| - name: Install npm dependencies | |
| run: npm ci | |
| - name: Prettier check | |
| run: npm run format:check | |
| - name: Lint | |
| run: npm run lint | |
| - name: i18n catalog check | |
| run: npm run i18n:check | |
| - name: Run Vitest with coverage | |
| run: npm run test:cov | |
| - name: Upload TypeScript coverage artifact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: coverage-typescript | |
| path: coverage-ts/ | |
| e2e: | |
| name: End-to-end (Playwright) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: "20" | |
| cache: npm | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.12" | |
| - name: Install npm dependencies | |
| run: npm ci | |
| - name: Build Sigima wheel | |
| run: | | |
| python -m pip install "$(grep '^Babel' requirements-dev.txt)" | |
| python scripts/build_sigima_wheel.py \ | |
| "$(grep '^sigima @ ' requirements-dev.txt)" .wheels | |
| wheel_path=$(find "$GITHUB_WORKSPACE/.wheels" -name 'sigima-*.whl' -print -quit) | |
| test -n "$wheel_path" | |
| echo "VITE_SIGIMA_INSTALL_SPEC=/@fs/$wheel_path" >> "$GITHUB_ENV" | |
| - name: Install Playwright browsers | |
| run: npx playwright install --with-deps chromium | |
| - name: Run Playwright tests | |
| run: npm run test:e2e | |
| - name: Upload Playwright report | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: playwright-report | |
| path: playwright-report/ | |
| retention-days: 7 |