Skip to content

Commit e4b5ea3

Browse files
committed
Check if commit is on default branch.
1 parent b61f479 commit e4b5ea3

1 file changed

Lines changed: 44 additions & 16 deletions

File tree

.github/workflows/PrepareJob.yml

Lines changed: 44 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -35,15 +35,18 @@ on:
3535
type: string
3636

3737
outputs:
38+
on_default_branch:
39+
description: ""
40+
value: ${{ jobs.Prepare.outputs.on_default_branch }}
3841
on_main_branch:
3942
description: ""
4043
value: ${{ jobs.Prepare.outputs.on_main_branch }}
41-
on_dev_branch:
42-
description: ""
43-
value: ${{ jobs.Prepare.outputs.on_dev_branch }}
4444
on_release_branch:
4545
description: ""
4646
value: ${{ jobs.Prepare.outputs.on_release_branch }}
47+
on_dev_branch:
48+
description: ""
49+
value: ${{ jobs.Prepare.outputs.on_dev_branch }}
4750
is_regular_commit:
4851
description: ""
4952
value: ${{ jobs.Prepare.outputs.is_regular_commit }}
@@ -89,9 +92,10 @@ jobs:
8992
name: Extract Information
9093
runs-on: ubuntu-24.04
9194
outputs:
95+
on_default_branch: ${{ steps.Classify.outputs.on_default_branch }}
9296
on_main_branch: ${{ steps.Classify.outputs.on_main_branch }}
93-
on_dev_branch: ${{ steps.Classify.outputs.on_dev_branch }}
9497
on_release_branch: ${{ steps.Classify.outputs.on_release_branch }}
98+
on_dev_branch: ${{ steps.Classify.outputs.on_dev_branch }}
9599
is_regular_commit: ${{ steps.Classify.outputs.is_regular_commit }}
96100
is_merge_commit: ${{ steps.Classify.outputs.is_merge_commit }}
97101
is_release_commit: ${{ steps.Classify.outputs.is_release_commit }}
@@ -133,15 +137,17 @@ jobs:
133137
ANSI_NOCOLOR=$'\x1b[0m'
134138
135139
ref="${{ github.ref }}"
140+
on_default_branch="false"
136141
on_main_branch="false"
137-
on_dev_branch="false"
138142
on_release_branch="false"
143+
on_dev_branch="false"
139144
is_regular_commit="false"
140145
is_merge_commit="false"
141146
is_release_commit="false"
142147
is_nightly_tag="false"
143148
is_release_tag="false"
144149
ref_kind="unknown"
150+
default_branch=""
145151
branch=""
146152
tag=""
147153
pr_number=""
@@ -151,10 +157,18 @@ jobs:
151157
ref_kind="branch"
152158
branch="${ref:11}"
153159
160+
printf "Get default branch name ... "
161+
defaultBranch=$(gh repo view "${{ github.repository }}" --json defaultBranchRef --jq '.defaultBranchRef.name')
162+
if [[ $? -eq 0 ]]; then
163+
printf " ${ANSI_LIGHT_GREEN} [OK]\n"
164+
else
165+
printf " ${ANSI_LIGHT_RED} [FAILED]\n"
166+
fi
167+
154168
printf "Commit check:\n"
155169
156-
if [[ "${branch}" == "${{ inputs.main_branch }}" ]]; then
157-
on_main_branch="true"
170+
if [[ "${branch}" == "${defaultBranch}" ]]; then
171+
on_default_branch="true"
158172
159173
if [[ -z "$(git rev-list -1 --merges ${{ github.sha }}~1..${{ github.sha }})" ]]; then
160174
is_regular_commit="true"
@@ -163,11 +177,11 @@ jobs:
163177
is_merge_commit="true"
164178
printf " ${ANSI_LIGHT_GREEN}merge "
165179
fi
166-
printf "commit${ANSI_NOCOLOR} on main branch ${ANSI_LIGHT_BLUE}'%s'${ANSI_NOCOLOR}\n" "${{ inputs.main_branch }}"
180+
printf "commit${ANSI_NOCOLOR} on default branch ${ANSI_LIGHT_BLUE}'%s'${ANSI_NOCOLOR}\n" "${defaultBranch}"
167181
fi
168182
169-
if [[ "${branch}" == "${{ inputs.development_branch }}" ]]; then
170-
on_dev_branch="true"
183+
if [[ "${branch}" == "${{ inputs.main_branch }}" ]]; then
184+
on_main_branch="true"
171185
172186
if [[ -z "$(git rev-list -1 --merges ${{ github.sha }}~1..${{ github.sha }})" ]]; then
173187
is_regular_commit="true"
@@ -176,7 +190,7 @@ jobs:
176190
is_merge_commit="true"
177191
printf " ${ANSI_LIGHT_GREEN}merge "
178192
fi
179-
printf "commit${ANSI_NOCOLOR} on development branch ${ANSI_LIGHT_BLUE}'%s'${ANSI_NOCOLOR}\n" "${{ inputs.development_branch }}"
193+
printf "commit${ANSI_NOCOLOR} on main branch ${ANSI_LIGHT_BLUE}'%s'${ANSI_NOCOLOR}\n" "${{ inputs.main_branch }}"
180194
fi
181195
182196
if [[ "${branch}" == "${{ inputs.release_branch }}" ]]; then
@@ -191,20 +205,33 @@ jobs:
191205
fi
192206
printf "commit${ANSI_NOCOLOR} on release branch ${ANSI_LIGHT_BLUE}'%s'${ANSI_NOCOLOR}\n" "${{ inputs.release_branch }}"
193207
fi
208+
209+
if [[ "${branch}" == "${{ inputs.development_branch }}" ]]; then
210+
on_dev_branch="true"
211+
212+
if [[ -z "$(git rev-list -1 --merges ${{ github.sha }}~1..${{ github.sha }})" ]]; then
213+
is_regular_commit="true"
214+
printf " ${ANSI_LIGHT_YELLOW}regular "
215+
else
216+
is_merge_commit="true"
217+
printf " ${ANSI_LIGHT_GREEN}merge "
218+
fi
219+
printf "commit${ANSI_NOCOLOR} on development branch ${ANSI_LIGHT_BLUE}'%s'${ANSI_NOCOLOR}\n" "${{ inputs.development_branch }}"
220+
fi
194221
elif [[ "${ref:0:10}" == "refs/tags/" ]]; then
195222
ref_kind="tag"
196223
tag="${ref:10}"
197224
198225
printf "Tag check:\n"
199226
200-
printf " Check if tag is on release branch '%s' ... " "${{ inputs.release_branch }}"
201-
git branch --remotes --contains $(git rev-parse --verify "tags/${tag}~0") | grep "origin/${{ inputs.release_branch }}" > /dev/null
227+
printf " Check if tag is on main branch '%s' ... " "${{ inputs.main_branch }}"
228+
git branch --remotes --contains $(git rev-parse --verify "tags/${tag}~0") | grep "origin/${{ inputs.main_branch }}" > /dev/null
202229
if [[ $? -eq 0 ]]; then
203230
printf "${ANSI_LIGHT_GREEN}[OK]${ANSI_NOCOLOR}\n"
204231
else
205232
printf "${ANSI_LIGHT_RED}[FAILED]${ANSI_NOCOLOR}\n"
206-
printf "${ANSI_LIGHT_RED}Tag '%s' isn't on branch '%s'.${ANSI_NOCOLOR}\n" "${tag}" "${{ inputs.release_branch }}"
207-
printf "::error title=TagCheck::Tag '%s' isn't on branch '%s'.\n" "${tag}" "${{ inputs.release_branch }}"
233+
printf "${ANSI_LIGHT_RED}Tag '%s' isn't on branch '%s'.${ANSI_NOCOLOR}\n" "${tag}" "${{ inputs.main_branch }}"
234+
printf "::error title=TagCheck::Tag '%s' isn't on branch '%s'.\n" "${tag}" "${{ inputs.main_branch }}"
208235
exit 1
209236
fi
210237
@@ -240,9 +267,10 @@ jobs:
240267
fi
241268
242269
tee --append "${GITHUB_OUTPUT}" <<EOF
270+
on_default_branch=${on_default_branch}
243271
on_main_branch=${on_main_branch}
244-
on_dev_branch=${on_dev_branch}
245272
on_release_branch=${on_release_branch}
273+
on_dev_branch=${on_dev_branch}
246274
is_regular_commit=${is_regular_commit}
247275
is_merge_commit=${is_merge_commit}
248276
is_release_commit=${is_release_commit}

0 commit comments

Comments
 (0)