fix(ci): release docker image#157
Conversation
Signed-off-by: ashing <axingfly@gmail.com>
There was a problem hiding this comment.
Pull Request Overview
This PR enhances the Docker image release workflow by adding tag‐push triggers, upgrading actions and runner, and switching to a make‐based multi‐arch build.
- Add a
pushtrigger for any Git tag in addition torelease.published - Change runner to
buildjet-2vcpu-ubuntu-2204, bump checkout to v4, and set up Go - Replace the built‐in build-push action with a
make build-push-multi-arch-imagestep
Comments suppressed due to low confidence (2)
.github/workflows/push-docker.yaml:9
- [nitpick] Double-check that the self-hosted runner label
buildjet-2vcpu-ubuntu-2204is available and maintained, or fallback will stall CI jobs.
runs-on: buildjet-2vcpu-ubuntu-2204
.github/workflows/push-docker.yaml:17
- [nitpick] If the
make build-push-multi-arch-imagetarget doesn’t require Go, you can remove the Go setup step to speed up CI.
uses: actions/setup-go@v4
| types: [published] | ||
| push: | ||
| tags: | ||
| - '*' |
There was a problem hiding this comment.
[nitpick] Triggering on every tag ('*') may build unintended images; consider restricting to semantic version tags (e.g. v*.*.*).
| - '*' | |
| - 'v*.*.*' |
| name: Checkout | ||
| uses: actions/checkout@v3 | ||
| - name: Checkout | ||
| uses: actions/checkout@v4 |
There was a problem hiding this comment.
[nitpick] When checking out submodules, adding fetch-depth: 0 ensures full history and proper submodule initialization.
| name: Build and push multi-arch image | ||
| env: | ||
| TAG: ${{ github.ref_name }} | ||
| IMAGE_TAG: ${{ github.ref_name }} |
There was a problem hiding this comment.
[nitpick] You define both TAG and IMAGE_TAG with the same value; consider using a single variable to reduce redundancy.
| IMAGE_TAG: ${{ github.ref_name }} |
| env: | ||
| TAG: ${{ github.ref_name }} | ||
| IMAGE_TAG: ${{ github.ref_name }} | ||
| run: | | ||
| echo "building multi-arch images with tag: $TAG" | ||
| make build-push-multi-arch-image |
There was a problem hiding this comment.
[nitpick] Using a run block for Docker builds loses built-in caching and insights; consider using docker/build-push-action@v5 with build-push instead.
| env: | |
| TAG: ${{ github.ref_name }} | |
| IMAGE_TAG: ${{ github.ref_name }} | |
| run: | | |
| echo "building multi-arch images with tag: $TAG" | |
| make build-push-multi-arch-image | |
| uses: docker/build-push-action@v5 | |
| with: | |
| context: . | |
| push: true | |
| tags: ${{ secrets.DOCKER_REGISTRY }}/${{ secrets.DOCKER_USERNAME }}/my-image:${{ github.ref_name }} | |
| platforms: linux/amd64,linux/arm64 |
conformance test reportapiVersion: gateway.networking.k8s.io/v1
date: "2025-06-04T06:25:02Z"
gatewayAPIChannel: standard
gatewayAPIVersion: v1.2.0
implementation:
contact: null
organization: APISIX
project: apisix-ingress-controller
url: https://github.com/apache/apisix-ingress-controller.git
version: v2.0.0
kind: ConformanceReport
mode: default
profiles:
- core:
result: partial
skippedTests:
- HTTPRouteHTTPSListener
statistics:
Failed: 0
Passed: 32
Skipped: 1
name: GATEWAY-HTTP
summary: Core tests partially succeeded with 1 test skips. |
Type of change:
What this PR does / why we need it:
Pre-submission checklist: