Skip to content

Commit a7289e4

Browse files
morenolCopilot
andauthored
chore: Add fvm_version input and update environment variables (#4651)
* chore: Add fvm_version input and update environment variables * Add VERSION input to action.yaml environment variables * Add Docker API version environment variable Set Docker API version for local-k8 run mode. * Add DOCKER_API_VERSION environment variable for K3d * Use global environment variable for that one Removed DOCKER_API_VERSION environment variable from multiple jobs in CI workflow. * Add DOCKER_API_VERSION to merge_queue workflow * Fix docker_push job for Docker API 1.44 compatibility - Add Docker Buildx setup step before login - Replace docker manifest commands with docker buildx imagetools create - Maintain existing image naming convention with -amd64 and -arm64v8 suffixes - Keep DOCKER_API_VERSION at 1.44 (no downgrade) This resolves the "is a manifest list" error that occurs with Docker API 1.44's stricter handling of manifest lists vs. single-platform images. Co-authored-by: morenol <[email protected]> --------- Co-authored-by: copilot-swe-agent[bot] <[email protected]>
1 parent ebe2c42 commit a7289e4

3 files changed

Lines changed: 17 additions & 3 deletions

File tree

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ env:
3232
X509_SCOPE_FILE: crates/fluvio-sc/test-data/auth_config/scopes.json
3333
FLV_CLUSTER_PROVISION_TIMEOUT: 600
3434
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
35-
35+
DOCKER_API_VERSION: "1.44"
3636
jobs:
3737
# this job set up dynamic configuration shared among jobs
3838
config:

.github/workflows/merge_queue.yaml

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ env:
2525
X509_SCOPE_FILE: crates/fluvio-sc/test-data/auth_config/scopes.json
2626
FLV_CLUSTER_PROVISION_TIMEOUT: 600
2727
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
28+
DOCKER_API_VERSION: "1.44"
2829

2930
jobs:
3031
# this job set up dynamic configuration shared among jobs
@@ -410,6 +411,9 @@ jobs:
410411
docker image load --input /tmp/fluvio-aarch64-unknown-linux-musl.tar
411412
docker image ls -a
412413
414+
- name: Set up Docker Buildx
415+
uses: docker/setup-buildx-action@v3
416+
413417
- name: Login to GHCR
414418
uses: docker/login-action@v3
415419
with:
@@ -420,14 +424,20 @@ jobs:
420424
- name: Publish Fluvio Docker images
421425
run: |
422426
export TAG="$(cat VERSION)-${{ github.sha }}"
427+
428+
# Tag images for GHCR
423429
docker tag "fluvio-community/fluvio:${{ github.sha }}-x86_64-unknown-linux-musl" "ghcr.io/fluvio-community/fluvio:${TAG}-amd64"
424430
docker tag "fluvio-community/fluvio:${{ github.sha }}-aarch64-unknown-linux-musl" "ghcr.io/fluvio-community/fluvio:${TAG}-arm64v8"
431+
432+
# Push architecture-specific images
425433
docker push "ghcr.io/fluvio-community/fluvio:${TAG}-amd64"
426434
docker push "ghcr.io/fluvio-community/fluvio:${TAG}-arm64v8"
427-
docker manifest create "ghcr.io/fluvio-community/fluvio:${TAG}" \
435+
436+
# Create and push multi-arch manifest using buildx imagetools
437+
docker buildx imagetools create \
438+
--tag "ghcr.io/fluvio-community/fluvio:${TAG}" \
428439
"ghcr.io/fluvio-community/fluvio:${TAG}-amd64" \
429440
"ghcr.io/fluvio-community/fluvio:${TAG}-arm64v8"
430-
docker manifest push "ghcr.io/fluvio-community/fluvio:${TAG}"
431441
432442
# When all required jobs pass, bump the `dev` GH prerelease to this commit
433443
bump_github_release:

action.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ inputs:
1818
required: false
1919
# Blank default will use stable
2020
default: ''
21+
fvm_version:
22+
description: "Use a specific version of the fvm cli (e.g. latest, 0.18.1)"
2123
runs:
2224
using: "composite"
2325
steps:
@@ -27,6 +29,8 @@ runs:
2729
echo "CLUSTER_TYPE=${{ inputs.cluster-type }}" >> $GITHUB_ENV
2830
echo "RUST_LOG=${{ inputs.rust-log }}" >> $GITHUB_ENV
2931
echo "VERSION=${{ inputs.version }}" >> $GITHUB_ENV
32+
echo "FLUVIO_VERSION=${{ inputs.version }}" >> $GITHUB_ENV
33+
echo "FVM_VERSION=${{ inputs.fvm_version }}" >> $GITHUB_ENV
3034
echo "OS=${{ runner.os }}" >> $GITHUB_ENV
3135
shell: bash
3236
- id: install-fluvio

0 commit comments

Comments
 (0)