name: 'test-cache' on: pull_request: push: branches: - main concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: test-setup-cache: runs-on: ${{ matrix.os }} strategy: matrix: os: [ubuntu-latest, macos-latest, macos-14] steps: - uses: actions/checkout@v4 - name: Setup with cache uses: ./ with: enable-cache: true cache-suffix: ${{ github.run_id }}-${{ github.run_attempt }} - run: uv sync working-directory: __tests__/fixtures/uv-project test-restore-cache: runs-on: ${{ matrix.os }} strategy: matrix: os: [ubuntu-latest, macos-latest, macos-14] needs: test-setup-cache steps: - uses: actions/checkout@v4 - name: Restore with cache id: restore uses: ./ with: enable-cache: true cache-suffix: ${{ github.run_id }}-${{ github.run_attempt }} - name: Cache was hit run: | if [ "$CACHE_HIT" != "true" ]; then exit 1 fi env: CACHE_HIT: ${{ steps.restore.outputs.cache-hit }} - run: uv sync working-directory: __tests__/fixtures/uv-project test-setup-cache-local: runs-on: oracle-aarch64 steps: - uses: actions/checkout@v4 - name: Setup with cache uses: ./ with: enable-cache: true cache-suffix: ${{ github.run_id }}-${{ github.run_attempt }} cache-local-path: /tmp/uv-cache - run: uv sync working-directory: __tests__/fixtures/uv-project test-restore-cache-local: runs-on: oracle-aarch64 needs: test-setup-cache-local steps: - uses: actions/checkout@v4 - name: Restore with cache id: restore uses: ./ with: enable-cache: true cache-suffix: ${{ github.run_id }}-${{ github.run_attempt }} cache-local-path: /tmp/uv-cache - name: Cache was hit run: | if [ "$CACHE_HIT" != "true" ]; then exit 1 fi env: CACHE_HIT: ${{ steps.restore.outputs.cache-hit }} - run: uv sync working-directory: __tests__/fixtures/uv-project