Skip to content

Commit 1c3aabf

Browse files
refactor: restructure image tag derivation and pipeline token preparation for clarity and maintainability
1 parent a96984f commit 1c3aabf

File tree

1 file changed

+23
-23
lines changed

1 file changed

+23
-23
lines changed

.github/workflows/container-build.yaml

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,19 @@ jobs:
1717
runs-on: ubuntu-latest
1818
timeout-minutes: 60
1919
env:
20-
IMAGE_TAG: ghcr.io/${{ github.repository }}:${{ github.ref_name }}
20+
IMAGE_TAG: ""
21+
PIPELINE_BUILD_TOKEN: ""
2122
steps:
2223
- name: Checkout code
2324
uses: actions/checkout@v5
2425

26+
- name: Derive image tag
27+
run: |
28+
set -euo pipefail
29+
repo="${GITHUB_REPOSITORY,,}"
30+
ref="${GITHUB_REF_NAME,,}"
31+
echo "IMAGE_TAG=ghcr.io/${repo}:${ref}" >> "$GITHUB_ENV"
32+
2533
- name: Log in to GitHub Container Registry
2634
uses: docker/login-action@v3
2735
with:
@@ -30,33 +38,25 @@ jobs:
3038
password: ${{ secrets.GITHUB_TOKEN }}
3139

3240
- name: Prepare pipeline token
33-
env:
34-
PIPELINE_GITHUB_TOKEN: ${{ secrets.PIPELINE_GITHUB_TOKEN }}
35-
DEFAULT_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
3641
run: |
3742
set -euo pipefail
38-
token="$PIPELINE_GITHUB_TOKEN"
39-
source="PIPELINE_GITHUB_TOKEN"
40-
41-
if [ -z "$token" ]; then
42-
token="$DEFAULT_GITHUB_TOKEN"
43-
source="GITHUB_TOKEN"
43+
if [ -n "${{ secrets.PIPELINE_GITHUB_TOKEN }}" ]; then
44+
echo "::add-mask::${{ secrets.PIPELINE_GITHUB_TOKEN }}"
45+
echo "PIPELINE_BUILD_TOKEN=${{ secrets.PIPELINE_GITHUB_TOKEN }}" >> "$GITHUB_ENV"
46+
echo "PIPELINE_BUILD_TOKEN_SOURCE=PIPELINE_GITHUB_TOKEN" >> "$GITHUB_ENV"
47+
echo "Using token source: PIPELINE_GITHUB_TOKEN"
48+
else
49+
if [ -z "${{ secrets.GITHUB_TOKEN }}" ]; then
50+
echo "No GitHub token available. Configure PIPELINE_GITHUB_TOKEN or ensure GITHUB_TOKEN is accessible." >&2
51+
exit 1
52+
fi
4453
echo "PIPELINE_GITHUB_TOKEN not set; falling back to workflow GITHUB_TOKEN (may hit rate limits)." >&2
54+
echo "::add-mask::${{ secrets.GITHUB_TOKEN }}"
55+
echo "PIPELINE_BUILD_TOKEN=${{ secrets.GITHUB_TOKEN }}" >> "$GITHUB_ENV"
56+
echo "PIPELINE_BUILD_TOKEN_SOURCE=GITHUB_TOKEN" >> "$GITHUB_ENV"
57+
echo "Using token source: GITHUB_TOKEN"
4558
fi
4659
47-
if [ -z "$token" ]; then
48-
echo "No GitHub token available. Configure PIPELINE_GITHUB_TOKEN or rely on the default GITHUB_TOKEN." >&2
49-
exit 1
50-
fi
51-
52-
echo "::add-mask::$token"
53-
{
54-
echo "PIPELINE_BUILD_TOKEN=$token"
55-
echo "PIPELINE_BUILD_TOKEN_SOURCE=$source"
56-
} >> "$GITHUB_ENV"
57-
58-
echo "Using token source: $source"
59-
6060
- name: Build and push image
6161
uses: docker/build-push-action@v6
6262
with:

0 commit comments

Comments
 (0)