@@ -20,6 +20,10 @@ inputs:
2020 OFFICIAL_SUBMODULE_BRANCH :
2121 required : false
2222 default : main
23+ OVERRIDE_SUBMODULE_SHA :
24+ required : false
25+ OVERRIDE_SUBMODULE_REF :
26+ required : false
2327
2428runs :
2529 using : " composite"
3539 SUB_PATH : ${{ inputs.OFFICIAL_SUBMODULE_PATH }}
3640 OFFICIAL_URL : ${{ inputs.OFFICIAL_SUBMODULE_URL }}
3741 OFFICIAL_BRANCH : ${{ inputs.OFFICIAL_SUBMODULE_BRANCH }}
42+ OVERRIDE_SHA : ${{ inputs.OVERRIDE_SUBMODULE_SHA }}
43+ OVERRIDE_REF : ${{ inputs.OVERRIDE_SUBMODULE_REF }}
3844 run : |
3945 set -euo pipefail
4046
@@ -65,28 +71,43 @@ runs:
6571 exit 1
6672 fi
6773
68- OFFICIAL_SHA=$(git ls-remote "$OFFICIAL_URL" "refs/heads/$OFFICIAL_BRANCH" | awk '{print $1}')
69- if [[ -z "${OFFICIAL_SHA:-}" ]]; then
70- echo "ERROR: Could not read '$OFFICIAL_BRANCH' from '$OFFICIAL_URL'"
71- exit 1
74+ if [[ -n "${OVERRIDE_SHA:-}" ]]; then
75+ TARGET_SHA="$OVERRIDE_SHA"
76+ elif [[ -n "${OVERRIDE_REF:-}" ]]; then
77+ TARGET_SHA=$(git ls-remote "$OFFICIAL_URL" "$OVERRIDE_REF" | awk '{print $1}')
78+ if [[ -z "${TARGET_SHA:-}" ]]; then
79+ echo "ERROR: Could not read override ref '$OVERRIDE_REF' from '$OFFICIAL_URL'"
80+ exit 1
81+ fi
82+ else
83+ TARGET_SHA=$(git ls-remote "$OFFICIAL_URL" "refs/heads/$OFFICIAL_BRANCH" | awk '{print $1}')
84+ if [[ -z "${TARGET_SHA:-}" ]]; then
85+ echo "ERROR: Could not read '$OFFICIAL_BRANCH' from '$OFFICIAL_URL'"
86+ exit 1
87+ fi
7288 fi
7389
7490 echo "Recorded(${SUB_PATH}): $RECORDED_SHA"
75- echo "Official ($OFFICIAL_BRANCH): $OFFICIAL_SHA"
76-
77- if [[ "$RECORDED_SHA" != "$OFFICIAL_SHA" ]]; then
78- echo "ERROR: Submodule is not on latest official main."
79- echo
80- echo "To fix locally:"
81- echo " git submodule update --init --remote -- \"${SUB_PATH}\""
82- echo " # or explicitly:"
83- echo " cd \"${SUB_PATH}\""
84- echo " git fetch origin \"${OFFICIAL_BRANCH}\""
85- echo " git checkout --detach \"origin/${OFFICIAL_BRANCH}\""
86- echo " cd -"
87- echo " git add \"${SUB_PATH}\""
88- echo " git commit -m \"Bump ${SUB_PATH} to latest ${OFFICIAL_BRANCH}\""
89- exit 1
91+ echo "Target (${SUB_PATH}): $TARGET_SHA"
92+
93+ if [[ "$RECORDED_SHA" != "$TARGET_SHA" ]]; then
94+ if [[ -n "${OVERRIDE_SHA:-}" || -n "${OVERRIDE_REF:-}" ]]; then
95+ echo "::warning::Submodule commit mismatch (override active). Recorded=${RECORDED_SHA} Target=${TARGET_SHA}"
96+ # Do not exit; proceed to allow testing with override.
97+ else
98+ echo "ERROR: Submodule is not on latest official main."
99+ echo
100+ echo "To fix locally:"
101+ echo " git submodule update --init --remote -- \"${SUB_PATH}\""
102+ echo " # or explicitly:"
103+ echo " cd \"${SUB_PATH}\""
104+ echo " git fetch origin \"${OFFICIAL_BRANCH}\""
105+ echo " git checkout --detach \"origin/${OFFICIAL_BRANCH}\""
106+ echo " cd -"
107+ echo " git add \"${SUB_PATH}\""
108+ echo " git commit -m \"Bump ${SUB_PATH} to latest ${OFFICIAL_BRANCH}\""
109+ exit 1
110+ fi
90111 fi
91112
92113 - name : Install vnu
0 commit comments