ci(deps): group Dependabot updates and fix its commit prefixes #34
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] | |
| push: | |
| branches: [main] | |
| # A new push to the same PR cancels the previous run. | |
| concurrency: | |
| group: ci-${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read | |
| jobs: | |
| backend: | |
| name: backend (build + test) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: actions/setup-dotnet@v6 | |
| with: | |
| global-json-file: global.json | |
| - name: Cache NuGet | |
| uses: actions/cache@v6 | |
| with: | |
| path: ~/.nuget/packages | |
| key: nuget-${{ runner.os }}-${{ hashFiles('backend/**/*.csproj') }} | |
| restore-keys: nuget-${{ runner.os }}- | |
| - run: dotnet restore backend/VoxLib.slnx | |
| - name: Verify C# formatting | |
| run: dotnet format backend/VoxLib.slnx --verify-no-changes --no-restore | |
| - run: dotnet build backend/VoxLib.slnx --configuration Release --no-restore | |
| - name: Test | |
| run: > | |
| dotnet test backend/VoxLib.slnx | |
| --configuration Release | |
| --no-build | |
| --logger "trx;LogFileName=test-results.trx" | |
| --results-directory ./TestResults | |
| - name: Upload test results | |
| if: always() | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: test-results | |
| path: ./TestResults | |
| if-no-files-found: ignore | |
| frontend: | |
| name: frontend (lint + build) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: pnpm/action-setup@v6 | |
| - uses: actions/setup-node@v7 | |
| with: | |
| node-version: '24' | |
| cache: pnpm | |
| - run: pnpm install --frozen-lockfile | |
| - name: Check formatting | |
| run: pnpm format:check | |
| - name: Lint | |
| run: pnpm lint | |
| # Runs tsc -b, then vite build. The bundle is discarded; the point is that | |
| # both steps succeed. vite build catches what tsc cannot: imports that do | |
| # not resolve at bundle time, missing referenced assets, plugin failures. | |
| - name: Typecheck and build | |
| run: pnpm --filter frontend build |