From 2dff0c273532ea9b5407714363335b481ab457af Mon Sep 17 00:00:00 2001 From: Carolyn Maynard Date: Tue, 12 May 2026 15:30:12 -0700 Subject: [PATCH] Update ngwpc-cicd.yml to bust EWTS Docker cache when remote ref changes Resolve EWTS_REF to commit SHA in workflow and pass as EWTS_CACHE_BUST build arg. Ensures Docker rebuilds EWTS layer when branch/tag HEAD changes while keeping cache stable for fixed commit hashes. --- .github/workflows/ngwpc-cicd.yml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/.github/workflows/ngwpc-cicd.yml b/.github/workflows/ngwpc-cicd.yml index 07f7f8c80f..f6c7127140 100644 --- a/.github/workflows/ngwpc-cicd.yml +++ b/.github/workflows/ngwpc-cicd.yml @@ -83,6 +83,7 @@ jobs: ngen_forcing_digest: ${{ steps.vars.outputs.ngen_forcing_digest }} ngen_forcing_revision: ${{ steps.vars.outputs.ngen_forcing_revision }} ewts_revision: ${{ steps.vars.outputs.ewts_revision }} + ewts_cache_bust: ${{ steps.vars.outputs.ewts_cache_bust }} steps: - name: Compute image vars id: vars @@ -171,6 +172,21 @@ jobs: EWTS_REVISION=$(resolve_sha "https://github.com/${{ inputs.EWTS_ORG || github.repository_owner }}/nwm-ewts.git" "$(ref_or_default "${{ inputs.EWTS_REF }}")") + # Resolve EWTS ref for Docker cache busting + EWTS_ORG="${{ inputs.EWTS_ORG || github.repository_owner }}" + EWTS_REF="${{ inputs.EWTS_REF || 'development' }}" + + if [[ "${EWTS_REF}" =~ ^[0-9a-f]{7,40}$ ]]; then + EWTS_CACHE_BUST="${EWTS_REF}" + else + EWTS_CACHE_BUST="$(git ls-remote "https://github.com/${EWTS_ORG}/nwm-ewts.git" "${EWTS_REF}" | awk '{print $1}')" + fi + + if [ -z "${EWTS_CACHE_BUST}" ]; then + echo "ERROR: Could not resolve EWTS_REF=${EWTS_REF}" + exit 1 + fi + # save outputs cat >> "$GITHUB_OUTPUT" <