mirror of
https://github.com/vmware-tanzu/velero.git
synced 2025-12-23 06:15:21 +00:00
Fix E2E tests: Build MinIO from Bitnami Dockerfile to replace deprecated image
The Bitnami MinIO image bitnami/minio:2021.6.17-debian-10-r7 is no longer available on Docker Hub, causing E2E tests to fail. This change implements a solution to build the MinIO image locally from Bitnami's public Dockerfile and cache it for subsequent runs: - Fetches the latest commit hash of the Bitnami MinIO Dockerfile - Uses GitHub Actions cache to store/retrieve built images - Only rebuilds when the upstream Dockerfile changes - Maintains compatibility with existing environment variables Fixes #9279 🤖 Generated with [Claude Code](https://claude.ai/code) Update .github/workflows/e2e-test-kind.yaml Signed-off-by: Tiger Kaovilai <passawit.kaovilai@gmail.com> Co-Authored-By: Claude <noreply@anthropic.com> Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
This commit is contained in:
37
.github/workflows/e2e-test-kind.yaml
vendored
37
.github/workflows/e2e-test-kind.yaml
vendored
@@ -11,6 +11,8 @@ jobs:
|
|||||||
# Build the Velero CLI and image once for all Kubernetes versions, and cache it so the fan-out workers can get it.
|
# Build the Velero CLI and image once for all Kubernetes versions, and cache it so the fan-out workers can get it.
|
||||||
build:
|
build:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
outputs:
|
||||||
|
minio-dockerfile-sha: ${{ steps.minio-version.outputs.dockerfile_sha }}
|
||||||
steps:
|
steps:
|
||||||
- name: Check out the code
|
- name: Check out the code
|
||||||
uses: actions/checkout@v5
|
uses: actions/checkout@v5
|
||||||
@@ -44,6 +46,26 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
IMAGE=velero VERSION=pr-test BUILD_OUTPUT_TYPE=docker make container
|
IMAGE=velero VERSION=pr-test BUILD_OUTPUT_TYPE=docker make container
|
||||||
docker save velero:pr-test-linux-amd64 -o ./velero.tar
|
docker save velero:pr-test-linux-amd64 -o ./velero.tar
|
||||||
|
# Check and build MinIO image once for all e2e tests
|
||||||
|
- name: Check Bitnami MinIO Dockerfile version
|
||||||
|
id: minio-version
|
||||||
|
run: |
|
||||||
|
DOCKERFILE_SHA=$(curl -s https://api.github.com/repos/bitnami/containers/commits?path=bitnami/minio/2025/debian-12/Dockerfile\&per_page=1 | jq -r '.[0].sha')
|
||||||
|
echo "dockerfile_sha=${DOCKERFILE_SHA}" >> $GITHUB_OUTPUT
|
||||||
|
- name: Cache MinIO Image
|
||||||
|
uses: actions/cache@v4
|
||||||
|
id: minio-cache
|
||||||
|
with:
|
||||||
|
path: ./minio-image.tar
|
||||||
|
key: minio-bitnami-${{ steps.minio-version.outputs.dockerfile_sha }}
|
||||||
|
- name: Build MinIO Image from Bitnami Dockerfile
|
||||||
|
if: steps.minio-cache.outputs.cache-hit != 'true'
|
||||||
|
run: |
|
||||||
|
echo "Building MinIO image from Bitnami Dockerfile..."
|
||||||
|
git clone --depth 1 https://github.com/bitnami/containers.git /tmp/bitnami-containers
|
||||||
|
cd /tmp/bitnami-containers/bitnami/minio/2025/debian-12
|
||||||
|
docker build -t bitnami/minio:local .
|
||||||
|
docker save bitnami/minio:local > ${{ github.workspace }}/minio-image.tar
|
||||||
# Create json of k8s versions to test
|
# Create json of k8s versions to test
|
||||||
# from guide: https://stackoverflow.com/a/65094398/4590470
|
# from guide: https://stackoverflow.com/a/65094398/4590470
|
||||||
setup-test-matrix:
|
setup-test-matrix:
|
||||||
@@ -86,9 +108,20 @@ jobs:
|
|||||||
uses: actions/setup-go@v5
|
uses: actions/setup-go@v5
|
||||||
with:
|
with:
|
||||||
go-version-file: 'go.mod'
|
go-version-file: 'go.mod'
|
||||||
|
# Fetch the pre-built MinIO image from the build job
|
||||||
|
- name: Fetch built MinIO Image
|
||||||
|
uses: actions/cache@v4
|
||||||
|
id: minio-cache
|
||||||
|
with:
|
||||||
|
path: ./minio-image.tar
|
||||||
|
key: minio-bitnami-${{ needs.build.outputs.minio-dockerfile-sha }}
|
||||||
|
- name: Load MinIO Image
|
||||||
|
run: |
|
||||||
|
echo "Loading MinIO image..."
|
||||||
|
docker load < ./minio-image.tar
|
||||||
- name: Install MinIO
|
- name: Install MinIO
|
||||||
run:
|
run: |
|
||||||
docker run -d --rm -p 9000:9000 -e "MINIO_ACCESS_KEY=minio" -e "MINIO_SECRET_KEY=minio123" -e "MINIO_DEFAULT_BUCKETS=bucket,additional-bucket" bitnami/minio:2021.6.17-debian-10-r7
|
docker run -d --rm -p 9000:9000 -e "MINIO_ROOT_USER=minio" -e "MINIO_ROOT_PASSWORD=minio123" -e "MINIO_DEFAULT_BUCKETS=bucket,additional-bucket" bitnami/minio:local
|
||||||
- uses: engineerd/setup-kind@v0.6.2
|
- uses: engineerd/setup-kind@v0.6.2
|
||||||
with:
|
with:
|
||||||
skipClusterLogsExport: true
|
skipClusterLogsExport: true
|
||||||
|
|||||||
Reference in New Issue
Block a user