You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# Build container images on native architecture runners (much faster than QEMU)
134
+
build-agent:
135
+
runs-on: ${{ matrix.runner }}
135
136
needs: [test, compute-metadata, fetch-distroless-versions] # Don't run the build and push if the unit tests fail
136
-
# Sets the permissions granted to the `GITHUB_TOKEN` for the actions in this job.
137
+
strategy:
138
+
matrix:
139
+
include:
140
+
- platform: linux/amd64
141
+
runner: ubuntu-latest
142
+
- platform: linux/arm64
143
+
runner: ubuntu-24.04-arm
137
144
permissions:
138
145
contents: read
139
146
packages: write
140
147
attestations: write
141
148
id-token: write
142
-
#
143
149
steps:
144
150
- name: Checkout repository
145
151
uses: actions/checkout@v4
146
152
- name: Fetch all tags
147
153
run: git fetch --tags --force
148
-
# Uses the `docker/login-action` action to log in to the Container registry using the account and password that will publish the packages. Once published, the packages are scoped to the account defined here.
149
154
- name: Log in to the Container registry
150
155
uses: docker/login-action@v3
151
156
with:
152
157
registry: ${{ env.REGISTRY }}
153
158
username: ${{ github.actor }}
154
159
password: ${{ secrets.GITHUB_TOKEN }}
155
-
156
-
# Setup for multi-platform
157
-
- name: Set up QEMU
158
-
uses: docker/setup-qemu-action@v3
159
160
160
161
- name: Set up Docker Buildx
161
162
uses: docker/setup-buildx-action@v3
162
163
163
-
- name: Build the agent container image
164
+
# Build and tag container image for single platform on native hardware
165
+
- name: Build the agent container image (${{ matrix.platform }})
# Note: Platform-specific tags (e.g., v1.0.0-linux-amd64) are left in registry
243
+
# as intermediate artifacts. Users should pull the multi-platform manifest tags.
244
+
# GitHub Container Registry doesn't easily support programmatic tag deletion.
245
+
echo "✅ Multi-platform manifests created successfully"
184
246
185
-
#This step generates an artifact attestation for the image, which is an unforgeable statement about where and how it was built. It increases supply chain security for people who consume the image. For more information, see [AUTOTITLE](/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds).
247
+
#Generate supply chain security attestation for the multi-platform manifest
0 commit comments