deps(frontend): bump recharts from 2.15.4 to 3.8.0 in /frontend #158
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: | |
| push: | |
| branches: | |
| - main | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| jobs: | |
| backend: | |
| name: Backend Build & Test | |
| runs-on: ubuntu-latest | |
| defaults: | |
| run: | |
| working-directory: backend | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Setup .NET | |
| uses: actions/setup-dotnet@v4 | |
| with: | |
| global-json-file: backend/global.json | |
| cache: true | |
| cache-dependency-path: | | |
| backend/**/*.csproj | |
| backend/global.json | |
| - name: Restore | |
| run: dotnet restore RentACar.sln | |
| - name: Build | |
| run: dotnet build RentACar.sln --configuration Release --no-restore | |
| - name: Detect test projects | |
| id: test-projects | |
| shell: bash | |
| run: | | |
| set -euo pipefail | |
| count=$(find . -name "*Tests.csproj" | wc -l) | |
| echo "count=$count" >> "$GITHUB_OUTPUT" | |
| - name: Test | |
| if: steps.test-projects.outputs.count != '0' | |
| # Keep CI unit tests free of cold-start wall-clock assertions. | |
| # Use warm-path averages or dedicated benchmarks for perf checks. | |
| run: dotnet test RentACar.sln --configuration Release --no-build --collect:"XPlat Code Coverage" --results-directory ./coverage | |
| - name: Generate Coverage Report | |
| if: steps.test-projects.outputs.count != '0' | |
| run: | | |
| dotnet tool install --global dotnet-reportgenerator-globaltool --version 5.* | |
| echo "$HOME/.dotnet/tools" >> "$GITHUB_PATH" | |
| coverage_files=$(find ./coverage -name "coverage.cobertura.xml" | tr '\n' ',') | |
| reportgenerator -reports:"${coverage_files%,}" -targetdir:./coverage-report -reporttypes:MarkdownSummaryGithub | |
| echo "### Backend Coverage Report" >> "$GITHUB_STEP_SUMMARY" | |
| cat ./coverage-report/SummaryGithub.md >> "$GITHUB_STEP_SUMMARY" | |
| - name: Upload Backend Coverage | |
| if: steps.test-projects.outputs.count != '0' | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: backend-coverage | |
| path: | | |
| backend/coverage/ | |
| backend/coverage-report/ | |
| retention-days: 7 | |
| - name: No tests detected | |
| if: steps.test-projects.outputs.count == '0' | |
| run: echo "No *Tests.csproj projects found. Skipping test execution." | |
| frontend: | |
| name: Frontend Lint, Test & Build | |
| runs-on: ubuntu-latest | |
| defaults: | |
| run: | |
| working-directory: frontend | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Setup pnpm | |
| uses: pnpm/action-setup@v4 | |
| with: | |
| version: 9 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '22' | |
| cache: 'pnpm' | |
| cache-dependency-path: frontend/pnpm-lock.yaml | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Type check | |
| run: pnpm tsc --noEmit | |
| - name: Lint | |
| run: pnpm lint | |
| - name: Test | |
| run: pnpm test:coverage | |
| - name: Upload Frontend Coverage | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: frontend-coverage | |
| path: frontend/coverage/ | |
| retention-days: 7 | |
| - name: Build | |
| run: pnpm build | |
| docker-build: | |
| name: Docker Build | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@v4 | |
| - name: Build API image | |
| uses: docker/build-push-action@v6 | |
| with: | |
| context: backend | |
| file: backend/src/RentACar.API/Dockerfile | |
| push: false | |
| tags: rentacar-api:ci | |
| - name: Build Worker image | |
| uses: docker/build-push-action@v6 | |
| with: | |
| context: backend | |
| file: backend/src/RentACar.Worker/Dockerfile | |
| push: false | |
| tags: rentacar-worker:ci | |
| docker-push: | |
| name: Docker Push to GHCR | |
| runs-on: ubuntu-latest | |
| needs: [backend, frontend, docker-build] | |
| if: github.event_name == 'push' && github.ref == 'refs/heads/main' | |
| permissions: | |
| contents: read | |
| packages: write | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@v4 | |
| - name: Convert owner to lowercase | |
| id: owner | |
| shell: bash | |
| env: | |
| OWNER: ${{ github.repository_owner }} | |
| run: | | |
| echo "value=${OWNER,,}" >> "$GITHUB_OUTPUT" | |
| - name: Log in to GHCR | |
| uses: docker/login-action@v4 | |
| with: | |
| registry: ghcr.io | |
| username: ${{ github.actor }} | |
| password: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Build and push API image | |
| uses: docker/build-push-action@v6 | |
| with: | |
| context: backend | |
| file: backend/src/RentACar.API/Dockerfile | |
| push: true | |
| tags: | | |
| ghcr.io/${{ steps.owner.outputs.value }}/rentacar-api:${{ github.sha }} | |
| ghcr.io/${{ steps.owner.outputs.value }}/rentacar-api:latest | |
| - name: Build and push Worker image | |
| uses: docker/build-push-action@v6 | |
| with: | |
| context: backend | |
| file: backend/src/RentACar.Worker/Dockerfile | |
| push: true | |
| tags: | | |
| ghcr.io/${{ steps.owner.outputs.value }}/rentacar-worker:${{ github.sha }} | |
| ghcr.io/${{ steps.owner.outputs.value }}/rentacar-worker:latest |