diff --git a/.github/workflows/test-cache-windows.yml b/.github/workflows/test-cache-windows.yml new file mode 100644 index 0000000..4c4c249 --- /dev/null +++ b/.github/workflows/test-cache-windows.yml @@ -0,0 +1,51 @@ +name: 'test-cache-windows' +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: [windows-latest] + steps: + - uses: actions/checkout@v4 + - name: Setup with cache + uses: .\ + with: + enable-cache: true + working-directory: __tests__\fixtures\rye-project + cache-prefix: ${{ github.run_id }}-${{ github.run_attempt }} + - run: rye sync + working-directory: __tests__\fixtures\rye-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 + working-directory: __tests__\fixtures\rye-project + cache-prefix: ${{ github.run_id }}-${{ github.run_attempt }} + - name: Cache was hit + run: | + if ($env:CACHE_HIT -ne "true") { + exit 1 + } + env: + CACHE_HIT: ${{ steps.restore.outputs.cache-hit }} + - run: rye sync + working-directory: __tests__\fixtures\rye-project