chore: Bump the minor-and-patch group with 17 updates #727
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: [master] | |
| pull_request: | |
| branches: [master] | |
| concurrency: | |
| group: ci-${{ github.ref }} | |
| cancel-in-progress: ${{ github.ref != 'refs/heads/master' }} | |
| jobs: | |
| changes: | |
| name: Detect changes | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 1 | |
| permissions: | |
| pull-requests: read | |
| outputs: | |
| backend: ${{ steps.filter.outputs.backend }} | |
| frontend: ${{ steps.filter.outputs.frontend }} | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: dorny/paths-filter@v4 | |
| id: filter | |
| with: | |
| filters: | | |
| backend: | |
| - 'src/backend/**' | |
| - 'global.json' | |
| frontend: | |
| - 'src/frontend/**' | |
| backend-build: | |
| name: Backend build | |
| needs: changes | |
| if: needs.changes.outputs.backend == 'true' | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 10 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-dotnet@v5 | |
| with: | |
| global-json-file: global.json | |
| - uses: actions/cache@v5 | |
| with: | |
| path: ~/.nuget/packages | |
| key: nuget-${{ runner.os }}-${{ hashFiles('src/backend/**/*.csproj', 'src/backend/Directory.Packages.props') }} | |
| restore-keys: nuget-${{ runner.os }}- | |
| - name: Restore | |
| run: dotnet restore src/backend/MyProject.slnx | |
| - name: Build | |
| run: dotnet build src/backend/MyProject.slnx --no-restore -c Release | |
| - name: Test | |
| id: test | |
| continue-on-error: true | |
| run: >- | |
| dotnet test src/backend/MyProject.slnx | |
| --no-build -c Release | |
| --collect:"XPlat Code Coverage" | |
| --results-directory ./coverage | |
| - name: Generate coverage report | |
| if: always() && steps.test.outcome != 'skipped' | |
| uses: danielpalme/ReportGenerator-GitHub-Action@v5 | |
| with: | |
| reports: 'coverage/**/coverage.cobertura.xml' | |
| targetdir: coverage-report | |
| reporttypes: 'MarkdownSummaryGithub' | |
| - name: Publish coverage summary | |
| if: always() && steps.test.outcome != 'skipped' | |
| run: cat coverage-report/SummaryGithub.md >> $GITHUB_STEP_SUMMARY | |
| - name: Fail if tests failed | |
| if: steps.test.outcome == 'failure' | |
| run: exit 1 | |
| frontend-checks: | |
| name: Frontend checks | |
| needs: changes | |
| if: needs.changes.outputs.frontend == 'true' | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 10 | |
| defaults: | |
| run: | |
| working-directory: src/frontend | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: pnpm/action-setup@v6 | |
| with: | |
| package_json_file: src/frontend/package.json | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version: 22 | |
| cache: pnpm | |
| cache-dependency-path: src/frontend/pnpm-lock.yaml | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Load test environment | |
| run: cp .env.test .env | |
| - name: Generate paraglide messages | |
| run: pnpm exec paraglide-js compile --project ./project.inlang --outdir ./src/lib/paraglide | |
| - name: Lint | |
| run: pnpm run lint | |
| - name: Type check | |
| run: pnpm run check | |
| - name: Test | |
| run: pnpm test | |
| ci-passed: | |
| name: CI passed | |
| if: always() | |
| needs: [backend-build, frontend-checks] | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 1 | |
| steps: | |
| - name: Verify upstream jobs | |
| run: | | |
| if [[ "${{ contains(needs.*.result, 'failure') }}" == "true" || "${{ contains(needs.*.result, 'cancelled') }}" == "true" ]]; then | |
| echo "::error::One or more upstream jobs failed or were cancelled" | |
| exit 1 | |
| fi | |
| echo "All upstream jobs passed or were skipped" |