Skip to content

Commit 3137c3e

Browse files
Add steps to prepare lowercase Docker image names for CI/CD workflows (#151)
1 parent 56db555 commit 3137c3e

File tree

2 files changed

+28
-4
lines changed

2 files changed

+28
-4
lines changed

.github/workflows/ci.yml

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -149,11 +149,19 @@ jobs:
149149
username: ${{ github.actor }}
150150
password: ${{ secrets.GITHUB_TOKEN }}
151151

152+
- name: Prepare lowercase image name
153+
id: lowercase
154+
run: |
155+
repo_owner="${{ github.repository_owner }}"
156+
repo_name="${{ github.event.repository.name }}"
157+
echo "repo_owner=$(echo "$repo_owner" | tr '[:upper:]' '[:lower:]')" >> "$GITHUB_OUTPUT"
158+
echo "repo_name=$(echo "$repo_name" | tr '[:upper:]' '[:lower:]')" >> "$GITHUB_OUTPUT"
159+
152160
- name: Extract Docker metadata & tags
153161
id: meta
154162
uses: docker/metadata-action@v5.10.0
155163
with:
156-
images: ghcr.io/${{ github.repository_owner }}/${{ github.event.repository.name }}
164+
images: ghcr.io/${{ steps.lowercase.outputs.repo_owner }}/${{ steps.lowercase.outputs.repo_name }}
157165
tags: |
158166
type=sha,format=short
159167
type=ref,event=branch
@@ -168,7 +176,7 @@ jobs:
168176
image_ref=$(echo "$tags_raw" | tr ',' '\n' | grep ':sha-' | head -n 1)
169177
170178
if [ -z "$image_ref" ]; then
171-
image_ref="ghcr.io/${{ github.repository_owner }}/${{ github.event.repository.name }}:sha-${{ github.sha }}"
179+
image_ref="ghcr.io/${{ steps.lowercase.outputs.repo_owner }}/${{ steps.lowercase.outputs.repo_name }}:sha-${{ github.sha }}"
172180
fi
173181
174182
echo "image_ref=$image_ref" >> "$GITHUB_OUTPUT"

.github/workflows/deploy.yml

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,10 +42,18 @@ jobs:
4242
HEROKU_API_KEY: ${{ secrets.HEROKU_API_KEY }}
4343
run: heroku stack:set container --app ${{ vars.HEROKU_STAGING_APP }}
4444

45+
- name: Prepare lowercase image name
46+
id: lowercase
47+
run: |
48+
repo_owner="${{ github.repository_owner }}"
49+
repo_name="${{ github.event.repository.name }}"
50+
echo "repo_owner=$(echo "$repo_owner" | tr '[:upper:]' '[:lower:]')" >> "$GITHUB_OUTPUT"
51+
echo "repo_name=$(echo "$repo_name" | tr '[:upper:]' '[:lower:]')" >> "$GITHUB_OUTPUT"
52+
4553
- name: Pull tested image from GHCR & deploy to Heroku Staging
4654
env:
4755
HEROKU_API_KEY: ${{ secrets.HEROKU_API_KEY }}
48-
IMAGE_NAME: ghcr.io/${{ github.repository_owner }}/${{ github.event.repository.name }}
56+
IMAGE_NAME: ghcr.io/${{ steps.lowercase.outputs.repo_owner }}/${{ steps.lowercase.outputs.repo_name }}
4957
run: |
5058
SHORT_SHA=$(echo ${{ github.event.workflow_run.head_sha }} | cut -c1-7)
5159
echo "Deploying tested image: ${IMAGE_NAME}:sha-${SHORT_SHA} → ${{ vars.HEROKU_STAGING_APP }}"
@@ -94,10 +102,18 @@ jobs:
94102
HEROKU_API_KEY: ${{ secrets.HEROKU_API_KEY }}
95103
run: heroku stack:set container --app ${{ vars.HEROKU_PROD_APP }}
96104

105+
- name: Prepare lowercase image name
106+
id: lowercase
107+
run: |
108+
repo_owner="${{ github.repository_owner }}"
109+
repo_name="${{ github.event.repository.name }}"
110+
echo "repo_owner=$(echo "$repo_owner" | tr '[:upper:]' '[:lower:]')" >> "$GITHUB_OUTPUT"
111+
echo "repo_name=$(echo "$repo_name" | tr '[:upper:]' '[:lower:]')" >> "$GITHUB_OUTPUT"
112+
97113
- name: Pull tested image from GHCR & deploy to Heroku Production
98114
env:
99115
HEROKU_API_KEY: ${{ secrets.HEROKU_API_KEY }}
100-
IMAGE_NAME: ghcr.io/${{ github.repository_owner }}/${{ github.event.repository.name }}
116+
IMAGE_NAME: ghcr.io/${{ steps.lowercase.outputs.repo_owner }}/${{ steps.lowercase.outputs.repo_name }}
101117
run: |
102118
SHORT_SHA=$(echo ${{ github.event.workflow_run.head_sha }} | cut -c1-7)
103119
echo "Deploying tested image: ${IMAGE_NAME}:sha-${SHORT_SHA} → ${{ vars.HEROKU_PROD_APP }}"

0 commit comments

Comments
 (0)