1010
1111env :
1212 # Common versions
13- EARTHLY_VERSION : ' 0.8.13 '
13+ EARTHLY_VERSION : ' 0.8.15 '
1414
1515 # Force Earthly to use color output
1616 FORCE_COLOR : " 1"
2929
3030 steps :
3131 - name : Checkout
32- uses : actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
32+ uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
3333
3434 - name : Setup Earthly
3535 uses : earthly/actions-setup@v1
@@ -38,20 +38,20 @@ jobs:
3838 version : ${{ env.EARTHLY_VERSION }}
3939
4040 - name : Login to DockerHub
41- uses : docker/login-action@0d4c9c5ea7693da7b068278f7b52bda2a190a446 # v3
41+ uses : docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3
4242 if : env.DOCKER_USR != ''
4343 with :
4444 username : ${{ secrets.DOCKER_USR }}
4545 password : ${{ secrets.DOCKER_PSW }}
4646
4747 - name : Login to GitHub Container Registry
48- uses : docker/login-action@0d4c9c5ea7693da7b068278f7b52bda2a190a446 # v3
48+ uses : docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3
4949 with :
5050 registry : ghcr.io
5151 username : ${{ github.actor }}
5252 password : ${{ secrets.GITHUB_TOKEN }}
5353
54- - name : Configure Earthly to Push Cache to GitHub Container Registry
54+ - name : Configure Earthly to Push Cache to GitHub Container Registry
5555 if : github.ref == 'refs/heads/main'
5656 run : |
5757 echo "EARTHLY_PUSH=true" >> $GITHUB_ENV
7575
7676 steps :
7777 - name : Checkout
78- uses : actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
78+ uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
7979
8080 - name : Setup Earthly
8181 uses : earthly/actions-setup@v1
@@ -84,20 +84,20 @@ jobs:
8484 version : ${{ env.EARTHLY_VERSION }}
8585
8686 - name : Login to DockerHub
87- uses : docker/login-action@0d4c9c5ea7693da7b068278f7b52bda2a190a446 # v3
87+ uses : docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3
8888 if : env.DOCKER_USR != ''
8989 with :
9090 username : ${{ secrets.DOCKER_USR }}
9191 password : ${{ secrets.DOCKER_PSW }}
9292
9393 - name : Login to GitHub Container Registry
94- uses : docker/login-action@0d4c9c5ea7693da7b068278f7b52bda2a190a446 # v3
94+ uses : docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3
9595 with :
9696 registry : ghcr.io
9797 username : ${{ github.actor }}
9898 password : ${{ secrets.GITHUB_TOKEN }}
9999
100- - name : Configure Earthly to Push Cache to GitHub Container Registry
100+ - name : Configure Earthly to Push Cache to GitHub Container Registry
101101 if : github.ref == 'refs/heads/main'
102102 run : |
103103 echo "EARTHLY_PUSH=true" >> $GITHUB_ENV
@@ -111,7 +111,7 @@ jobs:
111111
112112 steps :
113113 - name : Checkout
114- uses : actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
114+ uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
115115
116116 - name : Setup Earthly
117117 uses : earthly/actions-setup@v1
@@ -120,20 +120,20 @@ jobs:
120120 version : ${{ env.EARTHLY_VERSION }}
121121
122122 - name : Login to DockerHub
123- uses : docker/login-action@0d4c9c5ea7693da7b068278f7b52bda2a190a446 # v3
123+ uses : docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3
124124 if : env.DOCKER_USR != ''
125125 with :
126126 username : ${{ secrets.DOCKER_USR }}
127127 password : ${{ secrets.DOCKER_PSW }}
128128
129129 - name : Login to GitHub Container Registry
130- uses : docker/login-action@0d4c9c5ea7693da7b068278f7b52bda2a190a446 # v3
130+ uses : docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3
131131 with :
132132 registry : ghcr.io
133133 username : ${{ github.actor }}
134134 password : ${{ secrets.GITHUB_TOKEN }}
135135
136- - name : Configure Earthly to Push Cache to GitHub Container Registry
136+ - name : Configure Earthly to Push Cache to GitHub Container Registry
137137 if : github.ref == 'refs/heads/main'
138138 run : |
139139 echo "EARTHLY_PUSH=true" >> $GITHUB_ENV
@@ -143,7 +143,7 @@ jobs:
143143 run : earthly --strict --remote-cache ghcr.io/crossplane/earthly-cache:${{ github.job }} +ci-codeql
144144
145145 - name : Upload CodeQL Results to GitHub
146- uses : github/codeql-action/upload-sarif@f079b8493333aace61c81488f8bd40919487bd9f # v3
146+ uses : github/codeql-action/upload-sarif@396bb3e45325a47dd9ef434068033c6d5bb0d11a # v3
147147 with :
148148 sarif_file : ' _output/codeql/go.sarif'
149149
@@ -152,10 +152,10 @@ jobs:
152152 runs-on : ubuntu-22.04
153153 steps :
154154 - name : Checkout
155- uses : actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
155+ uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
156156
157157 - name : Run Trivy vulnerability scanner in fs mode
158- uses : aquasecurity/trivy-action@fd25fed6972e341ff0007ddb61f77e88103953c2 # 0.21 .0
158+ uses : aquasecurity/trivy-action@915b19bbe73b92a6cf82a1bc12b087c9a19a5fe2 # 0.28 .0
159159 with :
160160 scan-type : ' fs'
161161 ignore-unfixed : true
@@ -166,7 +166,7 @@ jobs:
166166 output : ' trivy-results.sarif'
167167
168168 - name : Upload Trivy Results to GitHub
169- uses : github/codeql-action/upload-sarif@f079b8493333aace61c81488f8bd40919487bd9f # v3
169+ uses : github/codeql-action/upload-sarif@396bb3e45325a47dd9ef434068033c6d5bb0d11a # v3
170170 with :
171171 sarif_file : ' trivy-results.sarif'
172172
@@ -175,7 +175,7 @@ jobs:
175175
176176 steps :
177177 - name : Checkout
178- uses : actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
178+ uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
179179
180180 - name : Setup Earthly
181181 uses : earthly/actions-setup@v1
@@ -184,20 +184,20 @@ jobs:
184184 version : ${{ env.EARTHLY_VERSION }}
185185
186186 - name : Login to DockerHub
187- uses : docker/login-action@0d4c9c5ea7693da7b068278f7b52bda2a190a446 # v3
187+ uses : docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3
188188 if : env.DOCKER_USR != ''
189189 with :
190190 username : ${{ secrets.DOCKER_USR }}
191191 password : ${{ secrets.DOCKER_PSW }}
192192
193193 - name : Login to GitHub Container Registry
194- uses : docker/login-action@0d4c9c5ea7693da7b068278f7b52bda2a190a446 # v3
194+ uses : docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3
195195 with :
196196 registry : ghcr.io
197197 username : ${{ github.actor }}
198198 password : ${{ secrets.GITHUB_TOKEN }}
199199
200- - name : Configure Earthly to Push Cache to GitHub Container Registry
200+ - name : Configure Earthly to Push Cache to GitHub Container Registry
201201 if : github.ref == 'refs/heads/main'
202202 run : |
203203 echo "EARTHLY_PUSH=true" >> $GITHUB_ENV
@@ -207,7 +207,7 @@ jobs:
207207 run : earthly --strict --remote-cache ghcr.io/crossplane/earthly-cache:${{ github.job }} +test
208208
209209 - name : Publish Unit Test Coverage
210- uses : codecov/codecov-action@125fc84a9a348dbcf27191600683ec096ec9021c # v4
210+ uses : codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4
211211 with :
212212 flags : unittests
213213 file : _output/tests/coverage.txt
@@ -220,14 +220,15 @@ jobs:
220220 matrix :
221221 test-suite :
222222 - base
223- - environment-configs
224223 - usage
225224 - ssa-claims
226225 - realtime-compositions
226+ - package-dependency-upgrades
227+ - package-signature-verification
227228
228229 steps :
229230 - name : Checkout
230- uses : actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
231+ uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
231232
232233 - name : Setup Earthly
233234 uses : earthly/actions-setup@v1
@@ -236,29 +237,53 @@ jobs:
236237 version : ${{ env.EARTHLY_VERSION }}
237238
238239 - name : Login to DockerHub
239- uses : docker/login-action@0d4c9c5ea7693da7b068278f7b52bda2a190a446 # v3
240+ uses : docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3
240241 if : env.DOCKER_USR != ''
241242 with :
242243 username : ${{ secrets.DOCKER_USR }}
243244 password : ${{ secrets.DOCKER_PSW }}
244245
245246 - name : Login to GitHub Container Registry
246- uses : docker/login-action@0d4c9c5ea7693da7b068278f7b52bda2a190a446 # v3
247+ uses : docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3
247248 with :
248249 registry : ghcr.io
249250 username : ${{ github.actor }}
250251 password : ${{ secrets.GITHUB_TOKEN }}
251252
252- - name : Configure Earthly to Push Cache to GitHub Container Registry
253+ - name : Configure Earthly to Push Cache to GitHub Container Registry
253254 if : github.ref == 'refs/heads/main'
254255 run : |
255256 echo "EARTHLY_PUSH=true" >> $GITHUB_ENV
256257 echo "EARTHLY_MAX_REMOTE_CACHE=true" >> $GITHUB_ENV
257258
259+ - name : Set CROSSPLANE_PRIOR_VERSION GitHub Environment Variable
260+ # We want to run this for the release branches, and PRs against release branches.
261+ if : startsWith(github.ref, 'refs/heads/release-') || startsWith(github.base_ref, 'release-')
262+ run : |
263+ # Extract the version part from the branch name
264+ if [[ "${GITHUB_REF}" == refs/heads/release-* ]]; then
265+ VERSION=${GITHUB_REF#refs/heads/release-}
266+ elif [[ "${GITHUB_BASE_REF}" == release-* ]]; then
267+ VERSION=${GITHUB_BASE_REF#release-}
268+ fi
269+ # Extract the major and minor parts of the version
270+ MAJOR=$(echo "$VERSION" | cut -d. -f1)
271+ MINOR=$(echo "$VERSION" | cut -d. -f2)
272+ # Decrement the MINOR version
273+ if [[ "$MINOR" -gt 0 ]]; then
274+ MINOR=$((MINOR - 1))
275+ else
276+ echo "Error: Minor version cannot be decremented below 0"
277+ exit 1
278+ fi
279+
280+ echo "CROSSPLANE_PRIOR_VERSION=$MAJOR.$MINOR" >> $GITHUB_ENV
281+
282+
258283 - name : Run E2E Tests
259284 run : |
260285 earthly --strict --allow-privileged --remote-cache ghcr.io/crossplane/earthly-cache:${{ github.job }}-${{ matrix.test-suite}} \
261- +e2e --FLAGS="-test.failfast -fail-fast --test-suite ${{ matrix.test-suite }}"
286+ +e2e --FLAGS="-test.failfast -fail-fast -prior-crossplane-version=${CROSSPLANE_PRIOR_VERSION} - -test-suite ${{ matrix.test-suite }}"
262287
263288 - name : Publish E2E Test Flakes
264289 if : ' !cancelled()'
@@ -289,7 +314,7 @@ jobs:
289314 docker-images : false
290315
291316 - name : Checkout
292- uses : actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
317+ uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
293318 with :
294319 fetch-depth : 0
295320
@@ -300,28 +325,28 @@ jobs:
300325 version : ${{ env.EARTHLY_VERSION }}
301326
302327 - name : Login to DockerHub
303- uses : docker/login-action@0d4c9c5ea7693da7b068278f7b52bda2a190a446 # v3
328+ uses : docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3
304329 if : env.DOCKER_USR != ''
305330 with :
306331 username : ${{ secrets.DOCKER_USR }}
307332 password : ${{ secrets.DOCKER_PSW }}
308333
309334 - name : Login to Upbound
310- uses : docker/login-action@0d4c9c5ea7693da7b068278f7b52bda2a190a446 # v3
335+ uses : docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3
311336 if : env.UPBOUND_MARKETPLACE_PUSH_ROBOT_USR != ''
312337 with :
313338 registry : xpkg.upbound.io
314339 username : ${{ secrets.UPBOUND_MARKETPLACE_PUSH_ROBOT_USR }}
315340 password : ${{ secrets.UPBOUND_MARKETPLACE_PUSH_ROBOT_PSW }}
316341
317342 - name : Login to GitHub Container Registry
318- uses : docker/login-action@0d4c9c5ea7693da7b068278f7b52bda2a190a446 # v3
343+ uses : docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3
319344 with :
320345 registry : ghcr.io
321346 username : ${{ github.actor }}
322347 password : ${{ secrets.GITHUB_TOKEN }}
323348
324- - name : Configure Earthly to Push Cache to GitHub Container Registry
349+ - name : Configure Earthly to Push Cache to GitHub Container Registry
325350 if : github.ref == 'refs/heads/main'
326351 run : echo "EARTHLY_MAX_REMOTE_CACHE=true" >> $GITHUB_ENV
327352
@@ -352,7 +377,7 @@ jobs:
352377 +ci-promote-build-artifacts --AWS_DEFAULT_REGION=us-east-1 --CROSSPLANE_VERSION=${CROSSPLANE_VERSION} --BUILD_DIR=${GITHUB_REF##*/} --CHANNEL=master
353378
354379 - name : Upload Artifacts to GitHub
355- uses : actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4
380+ uses : actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4
356381 with :
357382 name : output
358383 path : _output/**
@@ -378,7 +403,7 @@ jobs:
378403 language : go
379404
380405 - name : Upload Crash
381- uses : actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4
406+ uses : actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4
382407 if : failure() && steps.build.outcome == 'success'
383408 with :
384409 name : artifacts
@@ -389,7 +414,7 @@ jobs:
389414
390415 steps :
391416 - name : Checkout
392- uses : actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
417+ uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
393418
394419 - name : Setup Buf
395420 uses : bufbuild/buf-setup-action@v1
0 commit comments