Skip to content

Commit 029fa5a

Browse files
authored
Merge branch 'main' into dependabot/go_modules/github.com/open-policy-agent/gatekeeper/v3-3.21.1
2 parents c431209 + 6f4ff42 commit 029fa5a

File tree

6 files changed

+116
-45
lines changed

6 files changed

+116
-45
lines changed

.github/workflows/codeql-analysis.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ jobs:
4242

4343
# Initializes the CodeQL tools for scanning.
4444
- name: Initialize CodeQL
45-
uses: github/codeql-action/init@cdefb33c0f6224e58673d9004f47f7cb3e328b89 # v3.29.5
45+
uses: github/codeql-action/init@45cbd0c69e560cd9e7cd7f8c32362050c9b7ded2 # v3.29.5
4646
with:
4747
languages: ${{ matrix.language }}
4848
# If you wish to specify custom queries, you can do so here or in a config file.
@@ -53,7 +53,7 @@ jobs:
5353
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
5454
# If this step fails, then you should remove it and run the build manually (see below)
5555
- name: Autobuild
56-
uses: github/codeql-action/autobuild@cdefb33c0f6224e58673d9004f47f7cb3e328b89 # v3.29.5
56+
uses: github/codeql-action/autobuild@45cbd0c69e560cd9e7cd7f8c32362050c9b7ded2 # v3.29.5
5757

5858
# ℹ️ Command-line programs to run using the OS shell.
5959
# 📚 https://git.io/JvXDl
@@ -67,4 +67,4 @@ jobs:
6767
# make release
6868

6969
- name: Perform CodeQL Analysis
70-
uses: github/codeql-action/analyze@cdefb33c0f6224e58673d9004f47f7cb3e328b89 # v3.29.5
70+
uses: github/codeql-action/analyze@45cbd0c69e560cd9e7cd7f8c32362050c9b7ded2 # v3.29.5

.github/workflows/integration-per-language.yml

Lines changed: 107 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -103,15 +103,21 @@ jobs:
103103
helm-version: "v3.19.2"
104104
releaseName: "test-release"
105105
id: bake
106+
- name: Set up buildx
107+
run: |
108+
docker buildx create --use --name draft-builder || docker buildx use draft-builder
109+
docker buildx inspect --bootstrap
106110
- name: Build and Push image
107111
run: |
108112
export SHELL=/bin/bash
109113
eval $(minikube -p minikube docker-env)
110-
docker build -f ./langtest/Dockerfile -t testapp ./langtest/
111-
docker tag testapp host.minikube.internal:5001/testapp
112-
echo -n "verifying images:"
113-
docker images
114-
docker push host.minikube.internal:5001/testapp
114+
docker buildx build \
115+
--cache-from=type=gha,scope=${{ inputs.language }}-helm \
116+
--cache-to=type=gha,scope=${{ inputs.language }}-helm,mode=max \
117+
-f ./langtest/Dockerfile \
118+
-t host.minikube.internal:5001/testapp \
119+
--push \
120+
./langtest/
115121
echo 'Curling host.minikube.internal test app images from minikube'
116122
minikube ssh "curl http://host.minikube.internal:5001/v2/testapp/tags/list"
117123
# Deploys application based on manifest files from previous step
@@ -146,14 +152,29 @@ jobs:
146152
kubectl get svc
147153
echo 'Starting minikube tunnel'
148154
minikube tunnel > /dev/null 2>&1 & tunnelPID=$!
149-
sleep 120
155+
trap 'kill $tunnelPID' EXIT
156+
echo 'Waiting for service IP'
157+
for i in {1..30}; do
158+
SERVICEIP=$(kubectl get svc -o jsonpath={'.items[1].status.loadBalancer.ingress[0].ip'})
159+
if [ -n "$SERVICEIP" ]; then
160+
break
161+
fi
162+
sleep 4
163+
done
150164
kubectl get svc
151-
SERVICEIP=$(kubectl get svc -o jsonpath={'.items[1].status.loadBalancer.ingress[0].ip'})
152165
echo "SERVICEIP: $SERVICEIP"
153-
echo 'Curling service IP'
154-
curl -m 3 $SERVICEIP:${{env.serviceport}}
155-
sleep 5
156-
kill $tunnelPID
166+
if [ -z "$SERVICEIP" ]; then
167+
echo 'Service IP not ready'
168+
exit 1
169+
fi
170+
echo 'Curling service IP with retries'
171+
for i in {1..20}; do
172+
if curl -m 3 "http://$SERVICEIP:${{env.serviceport}}"; then
173+
exit 0
174+
fi
175+
sleep 3
176+
done
177+
exit 1
157178
- run: |
158179
./draft -v generate-workflow \
159180
-d ./langtest/ \
@@ -282,16 +303,22 @@ jobs:
282303
renderEngine: "kustomize"
283304
kustomizationPath: ./langtest/base
284305
kubectl-version: "latest"
306+
- name: Set up buildx
307+
run: |
308+
docker buildx create --use --name draft-builder || docker buildx use draft-builder
309+
docker buildx inspect --bootstrap
285310
- name: Build and Push Image
286311
continue-on-error: true
287312
run: |
288313
export SHELL=/bin/bash
289314
eval $(minikube -p minikube docker-env)
290-
docker build -f ./langtest/Dockerfile -t testapp ./langtest/
291-
docker tag testapp host.minikube.internal:5001/testapp
292-
echo -n "verifying images:"
293-
docker images
294-
docker push host.minikube.internal:5001/testapp
315+
docker buildx build \
316+
--cache-from=type=gha,scope=${{ inputs.language }}-kustomize \
317+
--cache-to=type=gha,scope=${{ inputs.language }}-kustomize,mode=max \
318+
-f ./langtest/Dockerfile \
319+
-t host.minikube.internal:5001/testapp \
320+
--push \
321+
./langtest/
295322
echo 'Curling host.minikube.internal test app images from minikube'
296323
minikube ssh "curl http://host.minikube.internal:5001/v2/testapp/tags/list"
297324
# Deploys application based on manifest files from previous step
@@ -326,14 +353,29 @@ jobs:
326353
kubectl get svc
327354
echo 'Starting minikube tunnel'
328355
minikube tunnel > /dev/null 2>&1 & tunnelPID=$!
329-
sleep 120
356+
trap 'kill $tunnelPID' EXIT
357+
echo 'Waiting for service IP'
358+
for i in {1..30}; do
359+
SERVICEIP=$(kubectl get svc -o jsonpath={'.items[1].status.loadBalancer.ingress[0].ip'})
360+
if [ -n "$SERVICEIP" ]; then
361+
break
362+
fi
363+
sleep 4
364+
done
330365
kubectl get svc
331-
SERVICEIP=$(kubectl get svc -o jsonpath={'.items[1].status.loadBalancer.ingress[0].ip'})
332366
echo "SERVICEIP: $SERVICEIP"
333-
echo 'Curling service IP'
334-
curl -m 3 $SERVICEIP:${{env.serviceport}}
335-
sleep 5
336-
kill $tunnelPID
367+
if [ -z "$SERVICEIP" ]; then
368+
echo 'Service IP not ready'
369+
exit 1
370+
fi
371+
echo 'Curling service IP with retries'
372+
for i in {1..20}; do
373+
if curl -m 3 "http://$SERVICEIP:${{env.serviceport}}"; then
374+
exit 0
375+
fi
376+
sleep 3
377+
done
378+
exit 1
337379
- run: |
338380
./draft -v generate-workflow \
339381
-d ./langtest/ \
@@ -458,16 +500,22 @@ jobs:
458500
uses: medyagh/setup-minikube@master
459501
with:
460502
insecure-registry: "host.minikube.internal:5001,10.0.0.0/24"
503+
- name: Set up buildx
504+
run: |
505+
docker buildx create --use --name draft-builder || docker buildx use draft-builder
506+
docker buildx inspect --bootstrap
461507
- name: Build and Push Image
462508
continue-on-error: true
463509
run: |
464510
export SHELL=/bin/bash
465511
eval $(minikube -p minikube docker-env)
466-
docker build -f ./langtest/Dockerfile -t testapp ./langtest/
467-
docker tag testapp host.minikube.internal:5001/testapp
468-
echo -n "verifying images:"
469-
docker images
470-
docker push host.minikube.internal:5001/testapp
512+
docker buildx build \
513+
--cache-from=type=gha,scope=${{ inputs.language }}-manifests \
514+
--cache-to=type=gha,scope=${{ inputs.language }}-manifests,mode=max \
515+
-f ./langtest/Dockerfile \
516+
-t host.minikube.internal:5001/testapp \
517+
--push \
518+
./langtest/
471519
echo 'Curling host.minikube.internal test app images from minikube'
472520
minikube ssh "curl http://host.minikube.internal:5001/v2/testapp/tags/list"
473521
# Deploys application based on manifest files from previous step
@@ -497,14 +545,29 @@ jobs:
497545
kubectl get svc
498546
echo 'Starting minikube tunnel'
499547
minikube tunnel > /dev/null 2>&1 & tunnelPID=$!
500-
sleep 120
548+
trap 'kill $tunnelPID' EXIT
549+
echo 'Waiting for service IP'
550+
for i in {1..30}; do
551+
SERVICEIP=$(kubectl get svc -o jsonpath={'.items[1].status.loadBalancer.ingress[0].ip'})
552+
if [ -n "$SERVICEIP" ]; then
553+
break
554+
fi
555+
sleep 4
556+
done
501557
kubectl get svc
502-
SERVICEIP=$(kubectl get svc -o jsonpath={'.items[1].status.loadBalancer.ingress[0].ip'})
503558
echo "SERVICEIP: $SERVICEIP"
504-
echo 'Curling service IP'
505-
curl -m 3 $SERVICEIP:${{env.serviceport}}
506-
sleep 5
507-
kill $tunnelPID
559+
if [ -z "$SERVICEIP" ]; then
560+
echo 'Service IP not ready'
561+
exit 1
562+
fi
563+
echo 'Curling service IP with retries'
564+
for i in {1..20}; do
565+
if curl -m 3 "http://$SERVICEIP:${{env.serviceport}}"; then
566+
exit 0
567+
fi
568+
sleep 3
569+
done
570+
exit 1
508571
- run: |
509572
./draft -v generate-workflow \
510573
-d ./langtest/ \
@@ -570,13 +633,21 @@ jobs:
570633
- name: start minikube
571634
id: minikube
572635
uses: medyagh/setup-minikube@master
636+
- name: Set up buildx
637+
run: |
638+
docker buildx create --use --name draft-builder || docker buildx use draft-builder
639+
docker buildx inspect --bootstrap
573640
- name: Build image
574641
run: |
575642
export SHELL=/bin/bash
576643
eval $(minikube -p minikube docker-env)
577-
docker build -f ./langtest/Dockerfile -t testapp ./langtest/
578-
echo -n "verifying images:"
579-
docker images
644+
docker buildx build \
645+
--cache-from=type=gha,scope=${{ inputs.language }}-manifest-update \
646+
--cache-to=type=gha,scope=${{ inputs.language }}-manifest-update,mode=max \
647+
--load \
648+
-f ./langtest/Dockerfile \
649+
-t testapp \
650+
./langtest/
580651
# Deploys application based on manifest files from previous step
581652
- name: Deploy application
582653
run: kubectl apply -f ./langtest/manifests/

template/dockerfiles/rust/draft.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@ variables:
1717
type: "string"
1818
kind: "containerImageVersion"
1919
default:
20-
value: "1.83.0"
20+
value: "1.88.0"
2121
description: "the version of rust used by the application"
22-
exampleValues: ["1.83.0", "1.82.0", "1.70.0", "1.65.0", "1.60"]
22+
exampleValues: ["1.88.0", "1.87.0", "1.86.0", "1.85.0", "1.83.0"]
2323
versions: ">=0.0.1"
2424
- name: "DOCKERFILENAME"
2525
type: "string"
@@ -28,4 +28,4 @@ variables:
2828
value: "Dockerfile"
2929
disablePrompt: true
3030
description: "the name of the Dockerfile"
31-
versions: ">=0.0.1"
31+
versions: ">=0.0.1"

test/integration/rust/helm.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ deployVariables:
1212
value: "host.minikube.internal:5001/testapp"
1313
languageVariables:
1414
- name: "VERSION"
15-
value: "1.83.0"
15+
value: "1.88.0"
1616
- name: "BUILDERVERSION"
1717
value: "null"
1818
- name: "PORT"

test/integration/rust/kustomize.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ deployVariables:
1212
value: "host.minikube.internal:5001/testapp"
1313
languageVariables:
1414
- name: "VERSION"
15-
value: "1.83.0"
15+
value: "1.88.0"
1616
- name: "BUILDERVERSION"
1717
value: "null"
1818
- name: "PORT"

test/integration/rust/manifest.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ deployVariables:
1212
value: "host.minikube.internal:5001/testapp"
1313
languageVariables:
1414
- name: "VERSION"
15-
value: "1.83.0"
15+
value: "1.88.0"
1616
- name: "BUILDERVERSION"
1717
value: "null"
1818
- name: "PORT"

0 commit comments

Comments
 (0)