chore: refresh standalone lockfile #46
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: RepoReaper CI | |
| on: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| packages: write | |
| env: | |
| FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: "true" | |
| jobs: | |
| backend: | |
| runs-on: ubuntu-latest | |
| defaults: | |
| run: | |
| working-directory: backend | |
| steps: | |
| - name: Check out repository | |
| uses: actions/checkout@v5 | |
| - name: Set up Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Check backend | |
| run: cargo check --locked | |
| frontend: | |
| runs-on: ubuntu-latest | |
| defaults: | |
| run: | |
| working-directory: frontend | |
| steps: | |
| - name: Check out repository | |
| uses: actions/checkout@v5 | |
| - name: Set up Node.js | |
| uses: actions/setup-node@v5 | |
| with: | |
| node-version: 24 | |
| registry-url: https://registry.npmjs.org | |
| - name: Install frontend dependencies | |
| run: | | |
| for attempt in 1 2 3 4 5; do | |
| npm install --prefer-online && exit 0 | |
| if [ "$attempt" -eq 5 ]; then | |
| exit 1 | |
| fi | |
| echo "npm install failed, retrying after registry backoff..." | |
| sleep 15 | |
| done | |
| - name: Build frontend | |
| run: npm run build | |
| images: | |
| runs-on: ubuntu-latest | |
| needs: | |
| - backend | |
| - frontend | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - service: backend | |
| context: backend | |
| image: reporeaper-backend | |
| - service: frontend | |
| context: frontend | |
| image: reporeaper-frontend | |
| steps: | |
| - name: Check out repository | |
| uses: actions/checkout@v5 | |
| - name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@v3 | |
| - name: Log in to GHCR | |
| if: github.event_name != 'pull_request' | |
| uses: docker/login-action@v3 | |
| with: | |
| registry: ghcr.io | |
| username: ${{ github.actor }} | |
| password: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Build and publish image | |
| uses: docker/build-push-action@v6 | |
| with: | |
| context: ${{ matrix.context }} | |
| push: ${{ github.event_name != 'pull_request' }} | |
| tags: | | |
| ghcr.io/${{ github.repository_owner }}/${{ matrix.image }}:main | |
| ghcr.io/${{ github.repository_owner }}/${{ matrix.image }}:latest | |
| ghcr.io/${{ github.repository_owner }}/${{ matrix.image }}:${{ github.sha }} | |
| labels: | | |
| org.opencontainers.image.source=https://github.com/${{ github.repository }} | |
| org.opencontainers.image.revision=${{ github.sha }} | |
| org.opencontainers.image.title=${{ matrix.image }} | |
| cache-from: type=gha,scope=${{ matrix.image }} | |
| cache-to: type=gha,mode=max,scope=${{ matrix.image }} |