Skip to content

Commit 8458d4d

Browse files
authored
Fixes fluentd/fluent-bit image build CI workflows (#1259)
* Re-factor. Signed-off-by: Josh Baird <[email protected]> * Re-factor. Signed-off-by: Josh Baird <[email protected]> * Re-factor. Signed-off-by: Josh Baird <[email protected]> * Re-factor. Signed-off-by: Josh Baird <[email protected]> * Skip arm64 builds for now. Signed-off-by: Josh Baird <[email protected]> * Skip arm64 builds for now. Signed-off-by: Josh Baird <[email protected]> * Skip arm64 builds for now. Signed-off-by: Josh Baird <[email protected]> * Skip arm64 builds for now. Signed-off-by: Josh Baird <[email protected]> * Skip arm64 builds for now. Signed-off-by: Josh Baird <[email protected]> * Skip arm64 builds for now. Signed-off-by: Josh Baird <[email protected]> * Skip arm64 builds for now. Signed-off-by: Josh Baird <[email protected]> * Add arm64-base back in. Signed-off-by: Josh Baird <[email protected]> * Fix tags. Signed-off-by: Josh Baird <[email protected]> * Remove check-image. Signed-off-by: Josh Baird <[email protected]> * Remove check. Signed-off-by: Josh Baird <[email protected]> * Remove check. Signed-off-by: Josh Baird <[email protected]> * Remove check. Signed-off-by: Josh Baird <[email protected]> * Add tags back. Signed-off-by: Josh Baird <[email protected]> * Add tags back. Signed-off-by: Josh Baird <[email protected]> * Add tags back. Signed-off-by: Josh Baird <[email protected]> * Add tags back. Signed-off-by: Josh Baird <[email protected]> * Remove check image. Signed-off-by: Josh Baird <[email protected]> * Remove platform from fb. Signed-off-by: Josh Baird <[email protected]> * Remove platform from fb. Signed-off-by: Josh Baird <[email protected]> --------- Signed-off-by: Josh Baird <[email protected]>
1 parent 8e864f1 commit 8458d4d

File tree

3 files changed

+153
-302
lines changed

3 files changed

+153
-302
lines changed

.github/workflows/build-fb-image.yaml

+49-88
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,38 @@ permissions:
1818
packages: write
1919

2020
jobs:
21+
determine-tags:
22+
runs-on: ubuntu-latest
23+
name: Determine image tags
24+
outputs:
25+
IMAGE_BASE_TAG: ${{ steps.determine-tags.outputs.IMAGE_BASE_TAG }}
26+
IMAGE_MAJOR_MINOR: ${{ steps.determine-tags.outputs.IMAGE_MAJOR_MINOR }}
27+
28+
steps:
29+
- name: Determine image version tag
30+
id: determine-tags
31+
run: |
32+
VERSION=${{ github.event.inputs.docker_tag_version }}
33+
VERSION_WITHOUT_V=${VERSION#v}
34+
MAJOR_MINOR=$(echo $VERSION_WITHOUT_V | cut -d. -f1-2)
35+
36+
if skopeo inspect docker://ghcr.io/${{ env.GITHUB_IMAGE }}:${VERSION}; then
37+
echo "${VERSION} tag already exists, assuming we're building a patch release!"
38+
LATEST_PATCH_VERSION=$(skopeo list-tags docker://ghcr.io/${{ env.GITHUB_IMAGE }} | grep -E "${VERSION}-[0-9]+" | sort | uniq | tail -1 | tr -d \" | cut -d'-' -f2)
39+
NEW_PATCH_VERSION=$((LATEST_PATCH_VERSION + 1))
40+
IMAGE_BASE_TAG="${VERSION}-${NEW_PATCH_VERSION}"
41+
echo "Building patch release ${IMAGE_BASE_TAG}!"
42+
else
43+
echo "${VERSION} tag does not exist, assuming we're building a new release!"
44+
IMAGE_BASE_TAG="${VERSION}"
45+
fi
46+
47+
echo "IMAGE_BASE_TAG=$IMAGE_BASE_TAG" >> $GITHUB_OUTPUT
48+
echo "IMAGE_MAJOR_MINOR=$MAJOR_MINOR" >> $GITHUB_OUTPUT
49+
2150
build-prod-image-metadata:
51+
needs:
52+
- determine-tags
2253
runs-on: ubuntu-latest
2354
name: Build prod image metadata
2455
outputs:
@@ -31,35 +62,6 @@ jobs:
3162
steps:
3263
- name: Checkout code
3364
uses: actions/checkout@v4
34-
35-
- name: Extract version parts
36-
id: extract_version
37-
run: |
38-
VERSION=${{ github.event.inputs.docker_tag_version }}
39-
VERSION_WITHOUT_V=${VERSION#v}
40-
MAJOR_MINOR=$(echo $VERSION_WITHOUT_V | cut -d. -f1-2)
41-
42-
echo "VERSION=$VERSION" >> $GITHUB_ENV
43-
echo "VERSION_WITHOUT_V=$VERSION_WITHOUT_V" >> $GITHUB_ENV
44-
echo "MAJOR_MINOR=$MAJOR_MINOR" >> $GITHUB_ENV
45-
46-
- name: Determine image version tag
47-
id: determine-tags
48-
run: |
49-
if skopeo inspect docker://ghcr.io/${{ env.GITHUB_IMAGE }}:${{ env.VERSION }}; then
50-
echo "${{ env.VERSION }} tag already exists, assuming we're building a patch release!"
51-
LATEST_PATCH_VERSION=$(skopeo list-tags docker://ghcr.io/${{ env.GITHUB_IMAGE }} | grep -E "${{ env.VERSION }}-[0-9]+" | sort | uniq | tail -1 | tr -d \" | cut -d'-' -f2)
52-
NEW_PATCH_VERSION=$((LATEST_PATCH_VERSION + 1))
53-
IMAGE_TAG="${{ env.VERSION }}-${NEW_PATCH_VERSION}"
54-
echo "Building patch release ${IMAGE_TAG}!"
55-
else
56-
echo "${{ env.VERSION }} tag does not exist, assuming we're building a new release!"
57-
IMAGE_TAG="${{ env.VERSION }}"
58-
fi
59-
60-
echo "IMAGE_TAG=$IMAGE_TAG" >> $GITHUB_ENV
61-
env:
62-
VERSION: ${{env.VERSION }}
6365

6466
- name: docker metadata for building
6567
id: image-metadata
@@ -68,27 +70,21 @@ jobs:
6870
images: "ghcr.io/${{ env.GITHUB_IMAGE }}"
6971
tags: |
7072
raw,latest
71-
type=raw,value=${{ env.IMAGE_TAG }}
72-
type=raw,value=v${{ env.IMAGE_TAG }}
73-
type=raw,value=${{ env.MAJOR_MINOR }}
74-
type=raw,value=v${{ env.MAJOR_MINOR }}
75-
env:
76-
IMAGE_TAG: ${{ env.IMAGE_TAG }}
77-
MAJOR_MINOR: ${{ env.MAJOR_MINOR }}
73+
type=raw,value=${{ needs.determine-tags.outputs.IMAGE_BASE_TAG }}
74+
type=raw,value=v${{ needs.determine-tags.outputs.IMAGE_BASE_TAG }}
75+
type=raw,value=${{ needs.determine-tags.outputs.IMAGE_MAJOR_MINOR }}
76+
type=raw,value=v${{ needs.determine-tags.outputs.IMAGE_MAJOR_MINOR }}
7877
7978
- name: docker tags for cloning
8079
id: image-tags
8180
uses: docker/metadata-action@v5
8281
with:
8382
tags: |
8483
raw,latest
85-
type=raw,value=${{ env.IMAGE_TAG }}
86-
type=raw,value=v${{ env.IMAGE_TAG }}
87-
type=raw,value=${{ env.MAJOR_MINOR }}
88-
type=raw,value=v${{ env.MAJOR_MINOR }}
89-
env:
90-
IMAGE_TAG: ${{ env.IMAGE_TAG }}
91-
MAJOR_MINOR: ${{ env.MAJOR_MINOR }}
84+
type=raw,value=${{ needs.determine-tags.outputs.IMAGE_BASE_TAG }}
85+
type=raw,value=v${{ needs.determine-tags.outputs.IMAGE_BASE_TAG }}
86+
type=raw,value=${{ needs.determine-tags.outputs.IMAGE_MAJOR_MINOR }}
87+
type=raw,value=v${{ needs.determine-tags.outputs.IMAGE_MAJOR_MINOR }}
9288
9389
- name: Set outputs
9490
id: set-outputs
@@ -97,6 +93,8 @@ jobs:
9793
echo "DOCKER_IMG_NAME=${{env.DOCKER_REPO}}/${{ env.DOCKER_IMAGE }}" >> $GITHUB_OUTPUT
9894
9995
build-debug-image-metadata:
96+
needs:
97+
- determine-tags
10098
runs-on: ubuntu-latest
10199
name: Build debug image metadata
102100
outputs:
@@ -110,35 +108,6 @@ jobs:
110108
- name: Checkout code
111109
uses: actions/checkout@v4
112110

113-
- name: Extract version parts
114-
id: extract_version
115-
run: |
116-
VERSION=${{ github.event.inputs.docker_tag_version }}
117-
VERSION_WITHOUT_V=${VERSION#v}
118-
MAJOR_MINOR=$(echo $VERSION_WITHOUT_V | cut -d. -f1-2)
119-
120-
echo "VERSION=$VERSION" >> $GITHUB_ENV
121-
echo "VERSION_WITHOUT_V=$VERSION_WITHOUT_V" >> $GITHUB_ENV
122-
echo "MAJOR_MINOR=$MAJOR_MINOR" >> $GITHUB_ENV
123-
124-
- name: Determine image version tag
125-
id: determine-tags
126-
run: |
127-
if skopeo inspect docker://ghcr.io/${{ env.GITHUB_IMAGE }}:${{ env.VERSION }}-debug; then
128-
echo "${{ env.VERSION }}-debug tag already exists, assuming we're building a patch release!"
129-
LATEST_PATCH_VERSION=$(skopeo list-tags docker://ghcr.io/${{ env.GITHUB_IMAGE }} | grep -E "${{ env.VERSION }}-[0-9]+" | sort | uniq | tail -1 | tr -d \" | cut -d'-' -f2)
130-
NEW_PATCH_VERSION=$((LATEST_PATCH_VERSION + 1))
131-
IMAGE_TAG="${{ env.VERSION }}-${NEW_PATCH_VERSION}"
132-
echo "Building patch release ${IMAGE_TAG}-debug!"
133-
else
134-
echo "${{ env.VERSION }}-debug tag does not exist, assuming we're building a new release!"
135-
IMAGE_TAG="${{ env.VERSION }}"
136-
fi
137-
138-
echo "IMAGE_TAG=$IMAGE_TAG" >> $GITHUB_ENV
139-
env:
140-
VERSION: ${{env.VERSION }}
141-
142111
- name: docker metadata
143112
id: image-metadata
144113
uses: docker/metadata-action@v5
@@ -148,13 +117,10 @@ jobs:
148117
latest=false
149118
suffix=-debug
150119
tags: |
151-
type=raw,value=${{ env.IMAGE_TAG }}
152-
type=raw,value=v${{ env.IMAGE_TAG }}
153-
type=raw,value=${{ env.MAJOR_MINOR }}
154-
type=raw,value=v${{ env.MAJOR_MINOR }}
155-
env:
156-
IMAGE_TAG: ${{ env.IMAGE_TAG }}
157-
MAJOR_MINOR: ${{ env.MAJOR_MINOR }}
120+
type=raw,value=${{ needs.determine-tags.outputs.IMAGE_BASE_TAG }}
121+
type=raw,value=v${{ needs.determine-tags.outputs.IMAGE_BASE_TAG }}
122+
type=raw,value=${{ needs.determine-tags.outputs.IMAGE_MAJOR_MINOR }}
123+
type=raw,value=v${{ needs.determine-tags.outputs.IMAGE_MAJOR_MINOR }}
158124
159125
- name: docker tags for cloning
160126
id: image-tags
@@ -164,13 +130,10 @@ jobs:
164130
latest=false
165131
suffix=-debug
166132
tags: |
167-
type=raw,value=${{ env.IMAGE_TAG }}
168-
type=raw,value=v${{ env.IMAGE_TAG }}
169-
type=raw,value=${{ env.MAJOR_MINOR }}
170-
type=raw,value=v${{ env.MAJOR_MINOR }}
171-
env:
172-
IMAGE_TAG: ${{ env.IMAGE_TAG }}
173-
MAJOR_MINOR: ${{ env.MAJOR_MINOR }}
133+
type=raw,value=${{ needs.determine-tags.outputs.IMAGE_BASE_TAG }}
134+
type=raw,value=v${{ needs.determine-tags.outputs.IMAGE_BASE_TAG }}
135+
type=raw,value=${{ needs.determine-tags.outputs.IMAGE_MAJOR_MINOR }}
136+
type=raw,value=v${{ needs.determine-tags.outputs.IMAGE_MAJOR_MINOR }}
174137
175138
- name: Set outputs
176139
id: set-outputs
@@ -293,7 +256,6 @@ jobs:
293256
source_registry: ghcr.io
294257
target_image: "${{ needs.build-prod-image-metadata.outputs.DOCKER_IMG_NAME }}"
295258
target_registry: docker.io
296-
platforms: "['linux/arm64', 'linux/amd64']"
297259
tags: ${{ needs.build-prod-image-metadata.outputs.release_tags }}
298260
secrets:
299261
source_registry_username: ${{ github.actor }}
@@ -313,7 +275,6 @@ jobs:
313275
source_registry: ghcr.io
314276
target_image: "${{ needs.build-debug-image-metadata.outputs.DOCKER_IMG_NAME }}"
315277
target_registry: docker.io
316-
platforms: "['linux/arm64', 'linux/amd64']"
317278
tags: ${{ needs.build-debug-image-metadata.outputs.release_tags }}
318279
secrets:
319280
source_registry_username: ${{ github.actor }}

0 commit comments

Comments
 (0)