Skip to content

Commit 64d28ab

Browse files
authored
improve CI (#6991)
* ci: remove dead BASE_TAGS reference in release bake step steps.determine-version doesn't exist in docker-build; the expression resolves to empty string. The HCL default (testing) would have applied, but it's moot - the bake uses push-by-digest=true so tags are only set in merge-manifests. Dead code. * ci: replace unsecured curl hadolint download with an official action hadolint/hadolint-action uses a Docker-based runner with hadolint pre-bundled in ghcr.io/hadolint/hadolint:v2.14.0-debian,so no binary downloaded at runtime. Pinning the action to a commit SHA covers the Dockerfile that specifies the image version, closing the supply-chain gap from the previous unverified curl | sudo install. Split {debian,alpine}: the action takes a single dockerfile argument, so debian and alpine are linted separately. * ci: pin ubuntu-latest to ubuntu-24.04 in merge-manifests and zizmor ubuntu-latest is a moving target that can silently change the runner OS on the next GitHub-side update. All other jobs in this repo already pin to ubuntu-24.04; this makes merge-manifests and zizmor consistent. * ci: return BASE_TAGS - it's needed for bake step
1 parent 4720cdb commit 64d28ab

3 files changed

Lines changed: 13 additions & 12 deletions

File tree

.github/workflows/hadolint.yml

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -30,14 +30,6 @@ jobs:
3030
driver-opts: |
3131
network=host
3232
33-
# Download hadolint - https://github.com/hadolint/hadolint/releases
34-
- name: Download hadolint
35-
run: |
36-
sudo curl -L https://github.com/hadolint/hadolint/releases/download/v${HADOLINT_VERSION}/hadolint-$(uname -s)-$(uname -m) -o /usr/local/bin/hadolint && \
37-
sudo chmod +x /usr/local/bin/hadolint
38-
env:
39-
HADOLINT_VERSION: 2.14.0
40-
# End Download hadolint
4133
# Checkout the repo
4234
- name: Checkout
4335
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
@@ -46,8 +38,17 @@ jobs:
4638
# End Checkout the repo
4739

4840
# Test Dockerfiles with hadolint
49-
- name: Run hadolint
50-
run: hadolint docker/Dockerfile.{debian,alpine}
41+
# Uses the Docker-based action (hadolint pre-bundled in ghcr.io/hadolint/hadolint:v2.14.0-debian)
42+
# so no binary is downloaded at runtime. Pinned by commit SHA for supply-chain safety.
43+
- name: Run hadolint on Dockerfile.debian
44+
uses: hadolint/hadolint-action@2332a7b74a6de0dda2e2221d575162eba76ba5e5 # v3.3.0
45+
with:
46+
dockerfile: docker/Dockerfile.debian
47+
48+
- name: Run hadolint on Dockerfile.alpine
49+
uses: hadolint/hadolint-action@2332a7b74a6de0dda2e2221d575162eba76ba5e5 # v3.3.0
50+
with:
51+
dockerfile: docker/Dockerfile.alpine
5152
# End Test Dockerfiles with hadolint
5253

5354
# Test Dockerfiles with docker build checks

.github/workflows/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -249,7 +249,7 @@ jobs:
249249

250250
merge-manifests:
251251
name: Merge manifests
252-
runs-on: ubuntu-latest
252+
runs-on: ubuntu-24.04
253253
needs: docker-build
254254
environment:
255255
name: release

.github/workflows/zizmor.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ on:
1414
jobs:
1515
zizmor:
1616
name: Run zizmor
17-
runs-on: ubuntu-latest
17+
runs-on: ubuntu-24.04
1818
permissions:
1919
security-events: write # To write the security report
2020
steps:

0 commit comments

Comments
 (0)