Skip to content

Commit 775ee64

Browse files
Refactor Github Action per b/485167538
1 parent 43eda63 commit 775ee64

File tree

2 files changed

+28
-14
lines changed

2 files changed

+28
-14
lines changed

.github/workflows/presubmit.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,4 +95,6 @@ jobs:
9595
steps:
9696
- uses: actions/checkout@v4
9797
- name: Run e2e
98-
run: TEST_RUN=${{matrix.testrun}} make e2e
98+
run: TEST_RUN=${MATRIX_TESTRUN} make e2e
99+
env:
100+
MATRIX_TESTRUN: ${{matrix.testrun}}

.github/workflows/release-bot.yml

Lines changed: 25 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -51,23 +51,29 @@ jobs:
5151
- name: Get the other commit from the merge if there is one
5252
id: merge
5353
run: |
54-
parents=$(git log --pretty=%P -n 1 ${{ inputs.commit_sha }})
54+
parents=$(git log --pretty=%P -n 1 ${INPUTS_COMMIT_SHA})
5555
IFS=' ' read -r parent1 parent2 <<< "$parents"
5656
echo "sha=$parent2" >> $GITHUB_OUTPUT
57+
env:
58+
INPUTS_COMMIT_SHA: ${{ inputs.commit_sha }}
5759
- name: Check if commit is tagged
5860
if: ${{ steps.merge.outputs.sha != '' }}
5961
id: check
6062
run: |
61-
TAG=$(git tag --points-at ${{ steps.merge.outputs.sha }} | grep releasebot || true)
63+
TAG=$(git tag --points-at ${STEPS_MERGE_OUTPUTS_SHA} | grep releasebot || true)
6264
echo "tag=$TAG" >> $GITHUB_OUTPUT
65+
env:
66+
STEPS_MERGE_OUTPUTS_SHA: ${{ steps.merge.outputs.sha }}
6367
- name: Push tag
6468
if: ${{ steps.check.outputs.tag != '' }}
6569
run: |
6670
set -ex
67-
NEW_TAG=$(echo "${{ steps.check.outputs.tag }}" | awk '{gsub(/releasebot\//, ""); print}')
71+
NEW_TAG=$(echo "${STEPS_CHECK_OUTPUTS_TAG}" | awk '{gsub(/releasebot\//, ""); print}')
6872
git tag "$NEW_TAG"
6973
git push origin "$NEW_TAG"
7074
echo "::notice::Successfully created and pushed new tag: '$NEW_TAG'."
75+
env:
76+
STEPS_CHECK_OUTPUTS_TAG: ${{ steps.check.outputs.tag }}
7177

7278
build_and_push_image:
7379
runs-on: ubuntu-latest
@@ -80,7 +86,7 @@ jobs:
8086
- name: Get docker tag
8187
id: create_tag
8288
run: |
83-
TAG=$(echo "${{ env.BRANCH_NAME }}" | awk '{gsub(/\//, "-"); print}')
89+
TAG=$(echo "${BRANCH_NAME}" | awk '{gsub(/\//, "-"); print}')
8490
echo "image_tag=${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:$TAG" >> $GITHUB_OUTPUT
8591
- name: Checkout repository
8692
uses: actions/checkout@v4
@@ -135,28 +141,32 @@ jobs:
135141
id: prepare
136142
working-directory: ./main_branch
137143
run: |
138-
go run ./hack/prepare_rc ${{ env.BRANCH_NAME }} ../release_branch
144+
go run ./hack/prepare_rc ${BRANCH_NAME} ../release_branch
139145
- name: Regen files
140146
working-directory: ./release_branch
141147
# Workflows can't edit workflows. Better to create PR and let tests fail.
142148
run: |
143149
mv .github ..
144-
make regen CACHE_IMAGE_FROM=${{ needs.build_and_push_image.outputs.image_tag }}-cache
150+
make regen CACHE_IMAGE_FROM=${NEEDS_BUILD_AND_PUSH_IMAGE_OUTPUTS_IMAGE_TAG}-cache
145151
mv ../.github .
152+
env:
153+
NEEDS_BUILD_AND_PUSH_IMAGE_OUTPUTS_IMAGE_TAG: ${{ needs.build_and_push_image.outputs.image_tag }}
146154
- name: Commit and Tag Release Candidate
147155
if: steps.prepare.outputs.full_rc_version != ''
148156
id: push
149157
working-directory: ./release_branch
150158
run: |
151159
set -e
152-
BOT_BRANCH=$(echo "${{ env.BRANCH_NAME }}" | awk '{gsub(/release/, "releasebot"); print}')
160+
BOT_BRANCH=$(echo "${BRANCH_NAME}" | awk '{gsub(/release/, "releasebot"); print}')
153161
echo "bot_branch=$BOT_BRANCH" >> $GITHUB_OUTPUT
154162
git checkout -b "$BOT_BRANCH"
155163
git add .
156-
RC="${{ steps.prepare.outputs.full_rc_version }}"
164+
RC="${STEPS_PREPARE_OUTPUTS_FULL_RC_VERSION}"
157165
git commit -as -m"chore: prepare for $RC release"
158166
git tag -a "releasebot/$RC" -m "releasebot release candidate $RC"
159167
git push -f origin "$BOT_BRANCH" "releasebot/$RC"
168+
env:
169+
STEPS_PREPARE_OUTPUTS_FULL_RC_VERSION: ${{ steps.prepare.outputs.full_rc_version }}
160170
manage_pr:
161171
permissions:
162172
contents: read
@@ -172,20 +182,22 @@ jobs:
172182
- name: Manage Release PR
173183
env:
174184
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
185+
NEEDS_PREPARE_RC_OUTPUTS_BOT_BRANCH: ${{needs.prepare_rc.outputs.bot_branch}}
186+
NEEDS_PREPARE_RC_OUTPUTS_FULL_RC_VERSION: ${{ needs.prepare_rc.outputs.full_rc_version }}
175187
run: |
176-
BOT_BRANCH=${{needs.prepare_rc.outputs.bot_branch}}
177-
RC=${{ needs.prepare_rc.outputs.full_rc_version }}
188+
BOT_BRANCH=${NEEDS_PREPARE_RC_OUTPUTS_BOT_BRANCH}
189+
RC=${NEEDS_PREPARE_RC_OUTPUTS_FULL_RC_VERSION}
178190
EXISTING_PR_NUMBER=$(gh pr list \
179-
--base ${{ env.BRANCH_NAME }} \
191+
--base ${BRANCH_NAME} \
180192
--head $BOT_BRANCH \
181193
--state open \
182194
--json number \
183195
-q '.[0].number // empty')
184196
185197
if [[ -z "$EXISTING_PR_NUMBER" ]]; then
186198
gh pr create \
187-
--base ${{ env.BRANCH_NAME }} \
199+
--base ${BRANCH_NAME} \
188200
--head $BOT_BRANCH \
189201
--title "chore: prepare for $RC release" \
190202
--body "Beep boop. Merging activates deployment. A fresh PR appears on merge. Boop beep."
191-
fi
203+
fi

0 commit comments

Comments
 (0)