fix(XS-55): Import CSV #226
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: Tests | |
| on: | |
| workflow_dispatch: | |
| inputs: | |
| suite: | |
| description: 'Test suite to run' | |
| required: true | |
| default: 'all' | |
| type: choice | |
| options: | |
| - all | |
| - frontend | |
| - unit | |
| - e2e | |
| push: | |
| branches: [master] | |
| pull_request: | |
| permissions: | |
| contents: read | |
| jobs: | |
| frontend: | |
| name: Frontend (Biome + Type Check + Vitest) | |
| if: github.event_name != 'workflow_dispatch' || inputs.suite == 'all' || inputs.suite == 'frontend' | |
| runs-on: ubuntu-latest | |
| defaults: | |
| run: | |
| working-directory: frontend | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 24 | |
| cache: npm | |
| cache-dependency-path: frontend/package-lock.json | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Lint, format & imports (Biome) | |
| run: npm run check | |
| - name: Type-check and build | |
| run: npm run build | |
| - name: Run Vitest | |
| run: npm test | |
| unit: | |
| name: Unit tests (SQLite) | |
| if: github.event_name != 'workflow_dispatch' || inputs.suite == 'all' || inputs.suite == 'unit' | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Go | |
| uses: actions/setup-go@v5 | |
| with: | |
| go-version: '1.26' | |
| - name: Install Linux build dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y libgtk-4-dev libwebkitgtk-6.0-dev libglib2.0-dev pkg-config gcc | |
| - name: Install Task | |
| uses: arduino/setup-task@v2 | |
| with: | |
| version: 3.x | |
| repo-token: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Run unit tests | |
| run: task test | |
| - name: Verify all packages compile | |
| run: task build:check | |
| e2e: | |
| name: API E2E (PostgreSQL, MySQL, MariaDB) | |
| if: github.event_name != 'workflow_dispatch' || inputs.suite == 'all' || inputs.suite == 'e2e' | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Go | |
| uses: actions/setup-go@v5 | |
| with: | |
| go-version: '1.26' | |
| - name: Install Linux build dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y libgtk-4-dev libwebkitgtk-6.0-dev libglib2.0-dev pkg-config gcc | |
| - name: Install Task | |
| uses: arduino/setup-task@v2 | |
| with: | |
| version: 3.x | |
| repo-token: ${{ secrets.GITHUB_TOKEN }} | |
| # Reuse the same compose file developers use locally, so the database | |
| # configuration (and the native-password MySQL auth) is defined once. | |
| - name: Start database stack | |
| run: task e2e:up | |
| - name: Run API E2E suite | |
| run: task e2e:go | |
| - name: Dump database logs on failure | |
| if: failure() | |
| run: task e2e:logs | |
| - name: Tear down database stack | |
| if: always() | |
| run: task e2e:down |