|
5 | 5 | branches: |
6 | 6 | - '*' |
7 | 7 |
|
| 8 | +concurrency: |
| 9 | + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} |
| 10 | + cancel-in-progress: true |
| 11 | + |
8 | 12 | jobs: |
9 | 13 | test: |
10 | 14 | name: Run Solr Tests using Crave.io resources |
11 | 15 |
|
12 | 16 | runs-on: self-hosted |
13 | 17 | timeout-minutes: 40 |
14 | 18 |
|
| 19 | + env: |
| 20 | + # Use a PR-scoped workspace path so that each new run for the same PR |
| 21 | + # destroys any leftover resources from a previous run (including cancelled |
| 22 | + # runs whose cleanup step may not have completed in time). |
| 23 | + CRAVE_WORKSPACE: /crave-devspaces/pipeline/prs/${{ github.event.pull_request.number }} |
| 24 | + |
15 | 25 | steps: |
16 | 26 | - name: Destroy previous clone |
17 | | - run: crave clone destroy -y /crave-devspaces/pipeline/runs/${GITHUB_RUN_ID}_${GITHUB_RUN_NUMBER} || echo "Clone did not exist" |
| 27 | + run: crave clone destroy -y ${CRAVE_WORKSPACE} || echo "Clone did not exist" |
18 | 28 | continue-on-error: true |
19 | 29 | - name: Crave clone sources |
20 | | - run: crave clone create --projectID 39 /crave-devspaces/pipeline/runs/${GITHUB_RUN_ID}_${GITHUB_RUN_NUMBER} |
| 30 | + run: crave clone create --projectID 39 ${CRAVE_WORKSPACE} |
21 | 31 | - name: Checkout the correct branch |
22 | 32 | run: | |
23 | | - git -C /crave-devspaces/pipeline/runs/${GITHUB_RUN_ID}_${GITHUB_RUN_NUMBER} fetch origin ${GITHUB_REF}:${GITHUB_REF} |
24 | | - git -C /crave-devspaces/pipeline/runs/${GITHUB_RUN_ID}_${GITHUB_RUN_NUMBER} checkout ${GITHUB_REF} |
| 33 | + git -C ${CRAVE_WORKSPACE} fetch origin ${GITHUB_REF}:${GITHUB_REF} |
| 34 | + git -C ${CRAVE_WORKSPACE} checkout ${GITHUB_REF} |
25 | 35 | - name: Initialize, build, test |
26 | 36 | run: | |
27 | | - cd /crave-devspaces/pipeline/runs/${GITHUB_RUN_ID}_${GITHUB_RUN_NUMBER} |
| 37 | + cd ${CRAVE_WORKSPACE} |
28 | 38 | crave run --clean --message "PR: ${GITHUB_REF_NAME}" -- ./gradlew --console=plain test |
29 | 39 | - name: Cleanup |
30 | 40 | if: ${{ always() }} |
31 | 41 | run: | |
32 | | - pushd /crave-devspaces/pipeline/runs/${GITHUB_RUN_ID}_${GITHUB_RUN_NUMBER} |
| 42 | + pushd ${CRAVE_WORKSPACE} |
33 | 43 | crave stop --all |
34 | 44 | popd |
35 | | - crave clone destroy -y /crave-devspaces/pipeline/runs/${GITHUB_RUN_ID}_${GITHUB_RUN_NUMBER} |
| 45 | + crave clone destroy -y ${CRAVE_WORKSPACE} |
0 commit comments