Skip to content

Commit 6e6ef34

Browse files
committed
ci: Skip redundant setup when base images already exist
The base image release build unconditionally runs setup steps (buildx and QEMU configuration) regardless of whether the base images actually need to be rebuilt. This PR moves those setup steps a bit later in the workflow so that they can be gated on the same signals as the actual images build steps. The net result: we no longer run those setup steps if we're not gonna be rebuilding the images. Similarly, today this workflow unconditionally regenerates protobufs, but those can only change if the `builder` image changed. So this PR similarly skips protobuf regeneration if the builder image was not rebuilt. These optimizations should be quite impactful because by design, those workflows run anytime the source files for the runtime and/or builder images are changed, which means there's a first workflow run that rebuilds those images as needed. The new images references are then auto-commited, triggering a second run of that same workflow on that new commit. By design, that second workflow will always observe that the images are already built and will not do any further builds. This PR is meant to cut the duration of that second workflow run. Also applied the same optimization to each stable branch's version of that workflow. Signed-off-by: Hadrien Patte <hadrien.patte@datadoghq.com>
1 parent e4b9d11 commit 6e6ef34

5 files changed

Lines changed: 171 additions & 56 deletions

File tree

.github/workflows/build-images-base-v1.17.yaml

Lines changed: 39 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -92,16 +92,6 @@ jobs:
9292
- name: Set Environment Variables
9393
uses: ./.github/actions/set-env-variables
9494

95-
- name: Set up Docker Buildx
96-
uses: docker/setup-buildx-action@bb05f3f5519dd87d3ba754cc423b652a5edd6d2c # v4.2.0
97-
98-
- name: Set up QEMU
99-
id: qemu
100-
uses: docker/setup-qemu-action@96fe6ef7f33517b61c61be40b68a1882f3264fb8 # v4.2.0
101-
102-
- name: Install Cosign
103-
uses: sigstore/cosign-installer@6f9f17788090df1f26f669e9d70d6ae9567deba6 # v4.1.2
104-
10595
# Warning: since this is a privileged workflow, subsequent workflow job
10696
# steps must take care not to execute untrusted code.
10797
- name: Checkout pull request branch (NOT TRUSTED)
@@ -132,6 +122,23 @@ jobs:
132122
echo exists="false" >> $GITHUB_OUTPUT
133123
fi
134124
125+
# Set up the multi-arch build tooling (and cosign) only when the runtime
126+
# image actually needs to be built. If it already exists, this is deferred
127+
# until we know whether the builder image needs building (see the matching
128+
# block below), so that when both images already exist we skip this setup.
129+
- name: Set up Docker Buildx
130+
if: ${{ steps.cilium-runtime-tag-in-repositories.outputs.exists == 'false' }}
131+
uses: docker/setup-buildx-action@bb05f3f5519dd87d3ba754cc423b652a5edd6d2c # v4.2.0
132+
133+
- name: Set up QEMU
134+
if: ${{ steps.cilium-runtime-tag-in-repositories.outputs.exists == 'false' }}
135+
id: qemu
136+
uses: docker/setup-qemu-action@96fe6ef7f33517b61c61be40b68a1882f3264fb8 # v4.2.0
137+
138+
- name: Install Cosign
139+
if: ${{ steps.cilium-runtime-tag-in-repositories.outputs.exists == 'false' }}
140+
uses: sigstore/cosign-installer@6f9f17788090df1f26f669e9d70d6ae9567deba6 # v4.1.2
141+
135142
- name: Login to ${{ env.REGISTRY_DEV }}
136143
if: ${{ steps.cilium-runtime-tag-in-repositories.outputs.exists == 'false' }}
137144
uses: docker/login-action@af1e73f918a031802d376d3c8bbc3fe56130a9b0 # v4.4.0
@@ -221,6 +228,20 @@ jobs:
221228
echo exists="false" >> $GITHUB_OUTPUT
222229
fi
223230
231+
# If the runtime image already existed we skipped the multi-arch build
232+
# setup above; set it up now that we know the builder image must be built.
233+
- name: Set up Docker Buildx
234+
if: ${{ steps.cilium-builder-tag-in-repositories.outputs.exists == 'false' && steps.cilium-runtime-tag-in-repositories.outputs.exists != 'false' }}
235+
uses: docker/setup-buildx-action@bb05f3f5519dd87d3ba754cc423b652a5edd6d2c # v4.2.0
236+
237+
- name: Set up QEMU
238+
if: ${{ steps.cilium-builder-tag-in-repositories.outputs.exists == 'false' && steps.cilium-runtime-tag-in-repositories.outputs.exists != 'false' }}
239+
uses: docker/setup-qemu-action@96fe6ef7f33517b61c61be40b68a1882f3264fb8 # v4.2.0
240+
241+
- name: Install Cosign
242+
if: ${{ steps.cilium-builder-tag-in-repositories.outputs.exists == 'false' && steps.cilium-runtime-tag-in-repositories.outputs.exists != 'false' }}
243+
uses: sigstore/cosign-installer@6f9f17788090df1f26f669e9d70d6ae9567deba6 # v4.1.2
244+
224245
- name: Login to ${{ env.REGISTRY_DEV }}
225246
if: ${{ steps.cilium-builder-tag-in-repositories.outputs.exists == 'false' && steps.cilium-runtime-tag-in-repositories.outputs.exists != 'false' }}
226247
uses: docker/login-action@af1e73f918a031802d376d3c8bbc3fe56130a9b0 # v4.4.0
@@ -302,13 +323,18 @@ jobs:
302323
if [[ "${{ steps.cilium-builder-tag-in-repositories.outputs.exists == 'false' }}" == "true" ]]; then
303324
../cilium-base-branch/images/builder/update-cilium-builder-image.sh "${{ env.REGISTRY_DEV }}/${{ env.ORGANIZATION_DEV }}/cilium-builder:${{ steps.builder-tag.outputs.tag }}@${{ steps.docker_build_release_builder.outputs.digest }}"
304325
export CONTAINER_IMAGE=${{ env.REGISTRY_DEV }}/${{ env.ORGANIZATION_DEV }}/cilium-builder:${{ steps.builder-tag.outputs.tag }}@${{ steps.docker_build_release_builder.outputs.digest }}
326+
# The builder image changed, so its bundled codegen tooling may
327+
# produce different protobuf output: regenerate it.
328+
export VOLUME=$PWD/api/v1
329+
make -C ../cilium-base-branch/api/v1
305330
else
306331
digest=$(../cilium-base-branch/images/scripts/get-image-digest.sh "${{ env.REGISTRY_DEV }}/${{ env.ORGANIZATION_DEV }}/cilium-builder:${{ steps.builder-tag.outputs.tag }}")
307332
../cilium-base-branch/images/builder/update-cilium-builder-image.sh "${{ env.REGISTRY_DEV }}/${{ env.ORGANIZATION_DEV }}/cilium-builder:${{ steps.builder-tag.outputs.tag }}@${digest}"
308-
export CONTAINER_IMAGE="${{ env.REGISTRY_DEV }}/${{ env.ORGANIZATION_DEV }}/cilium-builder:${{ steps.builder-tag.outputs.tag }}@${digest}"
333+
# The builder image is unchanged, so regenerating protobuf would be a
334+
# no-op (output is a function of the builder image and proto sources,
335+
# and this workflow only triggers on image changes). Skip the
336+
# expensive builder-image pull + protoc run.
309337
fi
310-
export VOLUME=$PWD/api/v1
311-
make -C ../cilium-base-branch/api/v1
312338
if ! git diff --quiet; then
313339
if [[ "${{ steps.update-runtime-image.outputs.committed }}" == "true" ]]; then
314340
git commit --amend -sam "images: update cilium-{runtime,builder}"

.github/workflows/build-images-base-v1.18.yaml

Lines changed: 39 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -64,16 +64,6 @@ jobs:
6464
- name: Set Environment Variables
6565
uses: ./.github/actions/set-env-variables
6666

67-
- name: Set up Docker Buildx
68-
uses: docker/setup-buildx-action@bb05f3f5519dd87d3ba754cc423b652a5edd6d2c # v4.2.0
69-
70-
- name: Set up QEMU
71-
id: qemu
72-
uses: docker/setup-qemu-action@96fe6ef7f33517b61c61be40b68a1882f3264fb8 # v4.2.0
73-
74-
- name: Install Cosign
75-
uses: sigstore/cosign-installer@6f9f17788090df1f26f669e9d70d6ae9567deba6 # v4.1.2
76-
7767
# Warning: since this is a privileged workflow, subsequent workflow job
7868
# steps must take care not to execute untrusted code.
7969
- name: Checkout pull request branch (NOT TRUSTED)
@@ -104,6 +94,23 @@ jobs:
10494
echo exists="false" >> $GITHUB_OUTPUT
10595
fi
10696
97+
# Set up the multi-arch build tooling (and cosign) only when the runtime
98+
# image actually needs to be built. If it already exists, this is deferred
99+
# until we know whether the builder image needs building (see the matching
100+
# block below), so that when both images already exist we skip this setup.
101+
- name: Set up Docker Buildx
102+
if: ${{ steps.cilium-runtime-tag-in-repositories.outputs.exists == 'false' }}
103+
uses: docker/setup-buildx-action@bb05f3f5519dd87d3ba754cc423b652a5edd6d2c # v4.2.0
104+
105+
- name: Set up QEMU
106+
if: ${{ steps.cilium-runtime-tag-in-repositories.outputs.exists == 'false' }}
107+
id: qemu
108+
uses: docker/setup-qemu-action@96fe6ef7f33517b61c61be40b68a1882f3264fb8 # v4.2.0
109+
110+
- name: Install Cosign
111+
if: ${{ steps.cilium-runtime-tag-in-repositories.outputs.exists == 'false' }}
112+
uses: sigstore/cosign-installer@6f9f17788090df1f26f669e9d70d6ae9567deba6 # v4.1.2
113+
107114
- name: Login to ${{ env.REGISTRY_DEV }}
108115
if: ${{ steps.cilium-runtime-tag-in-repositories.outputs.exists == 'false' }}
109116
uses: docker/login-action@af1e73f918a031802d376d3c8bbc3fe56130a9b0 # v4.4.0
@@ -193,6 +200,20 @@ jobs:
193200
echo exists="false" >> $GITHUB_OUTPUT
194201
fi
195202
203+
# If the runtime image already existed we skipped the multi-arch build
204+
# setup above; set it up now that we know the builder image must be built.
205+
- name: Set up Docker Buildx
206+
if: ${{ steps.cilium-builder-tag-in-repositories.outputs.exists == 'false' && steps.cilium-runtime-tag-in-repositories.outputs.exists != 'false' }}
207+
uses: docker/setup-buildx-action@bb05f3f5519dd87d3ba754cc423b652a5edd6d2c # v4.2.0
208+
209+
- name: Set up QEMU
210+
if: ${{ steps.cilium-builder-tag-in-repositories.outputs.exists == 'false' && steps.cilium-runtime-tag-in-repositories.outputs.exists != 'false' }}
211+
uses: docker/setup-qemu-action@96fe6ef7f33517b61c61be40b68a1882f3264fb8 # v4.2.0
212+
213+
- name: Install Cosign
214+
if: ${{ steps.cilium-builder-tag-in-repositories.outputs.exists == 'false' && steps.cilium-runtime-tag-in-repositories.outputs.exists != 'false' }}
215+
uses: sigstore/cosign-installer@6f9f17788090df1f26f669e9d70d6ae9567deba6 # v4.1.2
216+
196217
- name: Login to ${{ env.REGISTRY_DEV }}
197218
if: ${{ steps.cilium-builder-tag-in-repositories.outputs.exists == 'false' && steps.cilium-runtime-tag-in-repositories.outputs.exists != 'false' }}
198219
uses: docker/login-action@af1e73f918a031802d376d3c8bbc3fe56130a9b0 # v4.4.0
@@ -274,13 +295,18 @@ jobs:
274295
if [[ "${{ steps.cilium-builder-tag-in-repositories.outputs.exists == 'false' }}" == "true" ]]; then
275296
../cilium-base-branch/images/builder/update-cilium-builder-image.sh "${{ env.REGISTRY_DEV }}/${{ env.ORGANIZATION_DEV }}/cilium-builder:${{ steps.builder-tag.outputs.tag }}@${{ steps.docker_build_release_builder.outputs.digest }}"
276297
export CONTAINER_IMAGE=${{ env.REGISTRY_DEV }}/${{ env.ORGANIZATION_DEV }}/cilium-builder:${{ steps.builder-tag.outputs.tag }}@${{ steps.docker_build_release_builder.outputs.digest }}
298+
# The builder image changed, so its bundled codegen tooling may
299+
# produce different protobuf output: regenerate it.
300+
export VOLUME=$PWD/api/v1
301+
make -C ../cilium-base-branch/api/v1
277302
else
278303
digest=$(../cilium-base-branch/images/scripts/get-image-digest.sh "${{ env.REGISTRY_DEV }}/${{ env.ORGANIZATION_DEV }}/cilium-builder:${{ steps.builder-tag.outputs.tag }}")
279304
../cilium-base-branch/images/builder/update-cilium-builder-image.sh "${{ env.REGISTRY_DEV }}/${{ env.ORGANIZATION_DEV }}/cilium-builder:${{ steps.builder-tag.outputs.tag }}@${digest}"
280-
export CONTAINER_IMAGE="${{ env.REGISTRY_DEV }}/${{ env.ORGANIZATION_DEV }}/cilium-builder:${{ steps.builder-tag.outputs.tag }}@${digest}"
305+
# The builder image is unchanged, so regenerating protobuf would be a
306+
# no-op (output is a function of the builder image and proto sources,
307+
# and this workflow only triggers on image changes). Skip the
308+
# expensive builder-image pull + protoc run.
281309
fi
282-
export VOLUME=$PWD/api/v1
283-
make -C ../cilium-base-branch/api/v1
284310
if ! git diff --quiet; then
285311
if [[ "${{ steps.update-runtime-image.outputs.committed }}" == "true" ]]; then
286312
git commit --amend -sam "images: update cilium-{runtime,builder}"

.github/workflows/build-images-base-v1.19.yaml

Lines changed: 31 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -66,13 +66,6 @@ jobs:
6666
- name: Set Environment Variables
6767
uses: ./.github/actions/set-env-variables
6868

69-
- name: Set up Docker Buildx
70-
uses: docker/setup-buildx-action@bb05f3f5519dd87d3ba754cc423b652a5edd6d2c # v4.2.0
71-
72-
- name: Set up QEMU
73-
id: qemu
74-
uses: docker/setup-qemu-action@96fe6ef7f33517b61c61be40b68a1882f3264fb8 # v4.2.0
75-
7669
# Warning: since this is a privileged workflow, subsequent workflow job
7770
# steps must take care not to execute untrusted code.
7871
- name: Checkout pull request branch (NOT TRUSTED)
@@ -103,6 +96,19 @@ jobs:
10396
echo exists="false" >> $GITHUB_OUTPUT
10497
fi
10598
99+
# Set up the multi-arch build tooling only when the runtime image actually
100+
# needs to be built. If it already exists, this is deferred until we know
101+
# whether the builder image needs building (see the matching block below),
102+
# so that when both images already exist we skip this setup entirely.
103+
- name: Set up Docker Buildx
104+
if: ${{ steps.cilium-runtime-tag-in-repositories.outputs.exists == 'false' }}
105+
uses: docker/setup-buildx-action@bb05f3f5519dd87d3ba754cc423b652a5edd6d2c # v4.2.0
106+
107+
- name: Set up QEMU
108+
if: ${{ steps.cilium-runtime-tag-in-repositories.outputs.exists == 'false' }}
109+
id: qemu
110+
uses: docker/setup-qemu-action@96fe6ef7f33517b61c61be40b68a1882f3264fb8 # v4.2.0
111+
106112
- name: Login to ${{ env.REGISTRY_DEV }}
107113
if: ${{ steps.cilium-runtime-tag-in-repositories.outputs.exists == 'false' }}
108114
uses: docker/login-action@af1e73f918a031802d376d3c8bbc3fe56130a9b0 # v4.4.0
@@ -181,6 +187,16 @@ jobs:
181187
echo exists="false" >> $GITHUB_OUTPUT
182188
fi
183189
190+
# If the runtime image already existed we skipped the multi-arch build
191+
# setup above; set it up now that we know the builder image must be built.
192+
- name: Set up Docker Buildx
193+
if: ${{ steps.cilium-builder-tag-in-repositories.outputs.exists == 'false' && steps.cilium-runtime-tag-in-repositories.outputs.exists != 'false' }}
194+
uses: docker/setup-buildx-action@bb05f3f5519dd87d3ba754cc423b652a5edd6d2c # v4.2.0
195+
196+
- name: Set up QEMU
197+
if: ${{ steps.cilium-builder-tag-in-repositories.outputs.exists == 'false' && steps.cilium-runtime-tag-in-repositories.outputs.exists != 'false' }}
198+
uses: docker/setup-qemu-action@96fe6ef7f33517b61c61be40b68a1882f3264fb8 # v4.2.0
199+
184200
- name: Login to ${{ env.REGISTRY_DEV }}
185201
if: ${{ steps.cilium-builder-tag-in-repositories.outputs.exists == 'false' && steps.cilium-runtime-tag-in-repositories.outputs.exists != 'false' }}
186202
uses: docker/login-action@af1e73f918a031802d376d3c8bbc3fe56130a9b0 # v4.4.0
@@ -252,13 +268,18 @@ jobs:
252268
if [[ "${{ steps.cilium-builder-tag-in-repositories.outputs.exists == 'false' }}" == "true" ]]; then
253269
../cilium-base-branch/images/builder/update-cilium-builder-image.sh "${{ env.REGISTRY_DEV }}/${{ env.ORGANIZATION_DEV }}/cilium-builder:${{ steps.builder-tag.outputs.tag }}@${{ steps.docker_build_release_builder.outputs.digest }}"
254270
export CONTAINER_IMAGE=${{ env.REGISTRY_DEV }}/${{ env.ORGANIZATION_DEV }}/cilium-builder:${{ steps.builder-tag.outputs.tag }}@${{ steps.docker_build_release_builder.outputs.digest }}
271+
# The builder image changed, so its bundled codegen tooling may
272+
# produce different protobuf output: regenerate it.
273+
export VOLUME=$PWD/api/v1
274+
make -C ../cilium-base-branch/api/v1
255275
else
256276
digest=$(../cilium-base-branch/images/scripts/get-image-digest.sh "${{ env.REGISTRY_DEV }}/${{ env.ORGANIZATION_DEV }}/cilium-builder:${{ steps.builder-tag.outputs.tag }}")
257277
../cilium-base-branch/images/builder/update-cilium-builder-image.sh "${{ env.REGISTRY_DEV }}/${{ env.ORGANIZATION_DEV }}/cilium-builder:${{ steps.builder-tag.outputs.tag }}@${digest}"
258-
export CONTAINER_IMAGE="${{ env.REGISTRY_DEV }}/${{ env.ORGANIZATION_DEV }}/cilium-builder:${{ steps.builder-tag.outputs.tag }}@${digest}"
278+
# The builder image is unchanged, so regenerating protobuf would be a
279+
# no-op (output is a function of the builder image and proto sources,
280+
# and this workflow only triggers on image changes). Skip the
281+
# expensive builder-image pull + protoc run.
259282
fi
260-
export VOLUME=$PWD/api/v1
261-
make -C ../cilium-base-branch/api/v1
262283
if ! git diff --quiet; then
263284
if [[ "${{ steps.update-runtime-image.outputs.committed }}" == "true" ]]; then
264285
git commit --amend -sam "images: update cilium-{runtime,builder}"

.github/workflows/build-images-base-v1.20.yaml

Lines changed: 31 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -66,13 +66,6 @@ jobs:
6666
- name: Set Environment Variables
6767
uses: ./.github/actions/set-env-variables
6868

69-
- name: Set up Docker Buildx
70-
uses: docker/setup-buildx-action@bb05f3f5519dd87d3ba754cc423b652a5edd6d2c # v4.2.0
71-
72-
- name: Set up QEMU
73-
id: qemu
74-
uses: docker/setup-qemu-action@96fe6ef7f33517b61c61be40b68a1882f3264fb8 # v4.2.0
75-
7669
# Warning: since this is a privileged workflow, subsequent workflow job
7770
# steps must take care not to execute untrusted code.
7871
- name: Checkout pull request branch (NOT TRUSTED)
@@ -103,6 +96,19 @@ jobs:
10396
echo exists="false" >> $GITHUB_OUTPUT
10497
fi
10598
99+
# Set up the multi-arch build tooling only when the runtime image actually
100+
# needs to be built. If it already exists, this is deferred until we know
101+
# whether the builder image needs building (see the matching block below),
102+
# so that when both images already exist we skip this setup entirely.
103+
- name: Set up Docker Buildx
104+
if: ${{ steps.cilium-runtime-tag-in-repositories.outputs.exists == 'false' }}
105+
uses: docker/setup-buildx-action@bb05f3f5519dd87d3ba754cc423b652a5edd6d2c # v4.2.0
106+
107+
- name: Set up QEMU
108+
if: ${{ steps.cilium-runtime-tag-in-repositories.outputs.exists == 'false' }}
109+
id: qemu
110+
uses: docker/setup-qemu-action@96fe6ef7f33517b61c61be40b68a1882f3264fb8 # v4.2.0
111+
106112
- name: Login to ${{ env.REGISTRY_DEV }}
107113
if: ${{ steps.cilium-runtime-tag-in-repositories.outputs.exists == 'false' }}
108114
uses: docker/login-action@af1e73f918a031802d376d3c8bbc3fe56130a9b0 # v4.4.0
@@ -181,6 +187,16 @@ jobs:
181187
echo exists="false" >> $GITHUB_OUTPUT
182188
fi
183189
190+
# If the runtime image already existed we skipped the multi-arch build
191+
# setup above; set it up now that we know the builder image must be built.
192+
- name: Set up Docker Buildx
193+
if: ${{ steps.cilium-builder-tag-in-repositories.outputs.exists == 'false' && steps.cilium-runtime-tag-in-repositories.outputs.exists != 'false' }}
194+
uses: docker/setup-buildx-action@bb05f3f5519dd87d3ba754cc423b652a5edd6d2c # v4.2.0
195+
196+
- name: Set up QEMU
197+
if: ${{ steps.cilium-builder-tag-in-repositories.outputs.exists == 'false' && steps.cilium-runtime-tag-in-repositories.outputs.exists != 'false' }}
198+
uses: docker/setup-qemu-action@96fe6ef7f33517b61c61be40b68a1882f3264fb8 # v4.2.0
199+
184200
- name: Login to ${{ env.REGISTRY_DEV }}
185201
if: ${{ steps.cilium-builder-tag-in-repositories.outputs.exists == 'false' && steps.cilium-runtime-tag-in-repositories.outputs.exists != 'false' }}
186202
uses: docker/login-action@af1e73f918a031802d376d3c8bbc3fe56130a9b0 # v4.4.0
@@ -252,13 +268,18 @@ jobs:
252268
if [[ "${{ steps.cilium-builder-tag-in-repositories.outputs.exists == 'false' }}" == "true" ]]; then
253269
../cilium-base-branch/images/builder/update-cilium-builder-image.sh "${{ env.REGISTRY_DEV }}/${{ env.ORGANIZATION_DEV }}/cilium-builder:${{ steps.builder-tag.outputs.tag }}@${{ steps.docker_build_release_builder.outputs.digest }}"
254270
export CONTAINER_IMAGE=${{ env.REGISTRY_DEV }}/${{ env.ORGANIZATION_DEV }}/cilium-builder:${{ steps.builder-tag.outputs.tag }}@${{ steps.docker_build_release_builder.outputs.digest }}
271+
# The builder image changed, so its bundled codegen tooling may
272+
# produce different protobuf output: regenerate it.
273+
export VOLUME=$PWD/api/v1
274+
make -C ../cilium-base-branch/api/v1
255275
else
256276
digest=$(../cilium-base-branch/images/scripts/get-image-digest.sh "${{ env.REGISTRY_DEV }}/${{ env.ORGANIZATION_DEV }}/cilium-builder:${{ steps.builder-tag.outputs.tag }}")
257277
../cilium-base-branch/images/builder/update-cilium-builder-image.sh "${{ env.REGISTRY_DEV }}/${{ env.ORGANIZATION_DEV }}/cilium-builder:${{ steps.builder-tag.outputs.tag }}@${digest}"
258-
export CONTAINER_IMAGE="${{ env.REGISTRY_DEV }}/${{ env.ORGANIZATION_DEV }}/cilium-builder:${{ steps.builder-tag.outputs.tag }}@${digest}"
278+
# The builder image is unchanged, so regenerating protobuf would be a
279+
# no-op (output is a function of the builder image and proto sources,
280+
# and this workflow only triggers on image changes). Skip the
281+
# expensive builder-image pull + protoc run.
259282
fi
260-
export VOLUME=$PWD/api/v1
261-
make -C ../cilium-base-branch/api/v1
262283
if ! git diff --quiet; then
263284
if [[ "${{ steps.update-runtime-image.outputs.committed }}" == "true" ]]; then
264285
git commit --amend -sam "images: update cilium-{runtime,builder}"

0 commit comments

Comments
 (0)