@@ -11,8 +11,9 @@ defaults:
1111
1212env :
1313 CHIPYARD_RELPATH : chipyard-work
14- # need to be persistent cross-action
15- CHIPYARD_DIR : " /scratch/buildbot/radiance-ci-shared/chipyard"
14+ CHIPYARD_RUN_ROOT : " /scratch/buildbot/radiance-ci-runs/${{ github.run_id }}-${{ github.run_attempt }}"
15+ CHIPYARD_DIR : " /scratch/buildbot/radiance-ci-runs/${{ github.run_id }}-${{ github.run_attempt }}/chipyard"
16+ CONDA_CACHE_ROOT : " /scratch/buildbot/radiance-ci-shared/conda"
1617 # flip to force-reset cache
1718 CACHE_NUMBER : 0
1819 JAVA_HEAP_SIZE : " 64G"
@@ -43,12 +44,17 @@ jobs:
4344 submodules : recursive
4445
4546 - name : Checkout Chipyard
47+ id : checkout-chipyard
4648 run : |
47- [ -d "${CHIPYARD_DIR}" ] && echo "${CHIPYARD_DIR} already exists, aborting" && exit 1
48- mkdir -p "${CHIPYARD_DIR}"
49+ mkdir -p "${CHIPYARD_RUN_ROOT}"
4950 git clone --depth 1 --branch graphics "https://github.com/ucb-bar/chipyard.git" "${CHIPYARD_DIR}"
5051 cd "${CHIPYARD_DIR}"
51- echo "CHIPYARD_HASH=$(git rev-parse HEAD)" >> "${GITHUB_ENV}"
52+ CHIPYARD_HASH="$(git rev-parse HEAD)"
53+ CONDA_ENV_DIR="${CONDA_CACHE_ROOT}/chipyard-${CHIPYARD_HASH}/.conda-env"
54+ echo "CHIPYARD_HASH=${CHIPYARD_HASH}" >> "${GITHUB_ENV}"
55+ echo "CONDA_ENV_DIR=${CONDA_ENV_DIR}" >> "${GITHUB_ENV}"
56+ echo "chipyard_hash=${CHIPYARD_HASH}" >> "${GITHUB_OUTPUT}"
57+ echo "conda_env_dir=${CONDA_ENV_DIR}" >> "${GITHUB_OUTPUT}"
5258 # for caching
5359 ln -sf "${CHIPYARD_DIR}" "${GITHUB_WORKSPACE}/${CHIPYARD_RELPATH}"
5460
7884 uses : actions/cache@v5
7985 with :
8086 path : |
81- ${{ env.CHIPYARD_DIR }}/.conda-env
82- ${{ env.CHIPYARD_RELPATH }}/env.sh
83- key : chipyard-${{ env.CHIPYARD_HASH }}-${{ runner.os }}-${{ runner.arch }}-${{ env.CACHE_NUMBER }}
87+ ${{ steps.checkout-chipyard.outputs.conda_env_dir }}
88+ key : chipyard-${{ steps.checkout-chipyard.outputs.chipyard_hash }}-${{ runner.os }}-${{ runner.arch }}-${{ env.CACHE_NUMBER }}
8489
8590 - name : Setup Chipyard
8691 run : |
@@ -234,4 +239,4 @@ jobs:
234239 - name : Cleanup workspace, chipyard and conda
235240 run : |
236241 [ -d "${{ github.workspace }}" ] && rm -rf "${{ github.workspace }}"
237- [ -d "${CHIPYARD_DIR }" ] && rm -rf "${CHIPYARD_DIR }"
242+ [ -d "${CHIPYARD_RUN_ROOT }" ] && rm -rf "${CHIPYARD_RUN_ROOT }"
0 commit comments