Skip to content

Commit cb99bdc

Browse files
committed
explicit test-only ref overrides
1 parent abbc727 commit cb99bdc

2 files changed

Lines changed: 23 additions & 14 deletions

File tree

.github/workflows/self-test.yml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -93,10 +93,10 @@ jobs:
9393
- name: Run action in tag-triggered mode
9494
uses: ./action-src
9595
env:
96-
GITHUB_REF_TYPE: tag
97-
GITHUB_REF_NAME: v-test
98-
GITHUB_REF: refs/tags/v-test
99-
GITHUB_HEAD_REF: ""
96+
GITCOVERAGE_REF_TYPE: tag
97+
GITCOVERAGE_REF_NAME: v-test
98+
GITCOVERAGE_REF: refs/tags/v-test
99+
GITCOVERAGE_HEAD_REF: ""
100100
with:
101101
coverage: "82%"
102102

@@ -117,10 +117,10 @@ jobs:
117117
continue-on-error: true
118118
uses: ./action-src
119119
env:
120-
GITHUB_REF_TYPE: tag
121-
GITHUB_REF_NAME: v-detached
122-
GITHUB_REF: refs/tags/v-detached
123-
GITHUB_HEAD_REF: ""
120+
GITCOVERAGE_REF_TYPE: tag
121+
GITCOVERAGE_REF_NAME: v-detached
122+
GITCOVERAGE_REF: refs/tags/v-detached
123+
GITCOVERAGE_HEAD_REF: ""
124124
with:
125125
coverage: "77%"
126126

action.yml

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,18 @@ runs:
4545
env:
4646
INPUT_BRANCH: ${{ inputs.branch }}
4747
GITHUB_DEFAULT_BRANCH: ${{ github.event.repository.default_branch }}
48+
CTX_HEAD_REF: ${{ env.GITCOVERAGE_HEAD_REF }}
49+
CTX_REF_TYPE: ${{ env.GITCOVERAGE_REF_TYPE }}
50+
CTX_REF_NAME: ${{ env.GITCOVERAGE_REF_NAME }}
51+
CTX_REF: ${{ env.GITCOVERAGE_REF }}
4852
run: |
4953
set -euo pipefail
5054
55+
HEAD_REF="${CTX_HEAD_REF:-${GITHUB_HEAD_REF:-}}"
56+
REF_TYPE="${CTX_REF_TYPE:-${GITHUB_REF_TYPE:-}}"
57+
REF_NAME="${CTX_REF_NAME:-${GITHUB_REF_NAME:-}}"
58+
REF_FULL="${CTX_REF:-${GITHUB_REF:-}}"
59+
5160
resolve_default_branch() {
5261
local d=""
5362
d="$(git symbolic-ref --quiet --short refs/remotes/origin/HEAD 2>/dev/null | sed 's@^origin/@@' || true)"
@@ -128,18 +137,18 @@ runs:
128137
fi
129138
130139
# --- Fast paths: PR source branch or branch ref ---
131-
if [[ -n "${GITHUB_HEAD_REF:-}" ]]; then
132-
BRANCH="${GITHUB_HEAD_REF}"
133-
elif [[ "${GITHUB_REF_TYPE:-}" == "branch" && -n "${GITHUB_REF_NAME:-}" ]]; then
134-
BRANCH="${GITHUB_REF_NAME}"
140+
if [[ -n "$HEAD_REF" ]]; then
141+
BRANCH="${HEAD_REF}"
142+
elif [[ "$REF_TYPE" == "branch" && -n "$REF_NAME" ]]; then
143+
BRANCH="${REF_NAME}"
135144
else
136145
BRANCH=""
137146
fi
138147
139148
# --- Tag path: map tag -> containing branch ---
140-
if [[ -z "$BRANCH" ]] && { [[ "${GITHUB_REF_TYPE:-}" == "tag" ]] || [[ "${GITHUB_REF:-}" == refs/tags/* ]]; }; then
149+
if [[ -z "$BRANCH" ]] && { [[ "$REF_TYPE" == "tag" ]] || [[ "$REF_FULL" == refs/tags/* ]]; }; then
141150
ensure_tag_resolution_refs
142-
TAG="${GITHUB_REF_NAME:-${GITHUB_REF#refs/tags/}}"
151+
TAG="${REF_NAME:-${REF_FULL#refs/tags/}}"
143152
TAG_REF="tags/$TAG"
144153
TAG_SHA="$(git rev-list -n1 "$TAG_REF")"
145154
echo "Ref is a tag (${TAG}); resolving containing branch..."

0 commit comments

Comments
 (0)