From 17a2054b4287c6827db5c205085507103b362610 Mon Sep 17 00:00:00 2001 From: wukongdaily <143675923+wukongdaily@users.noreply.github.com> Date: Sat, 15 Jun 2024 19:53:43 +0800 Subject: [PATCH] Update main.yml --- .github/workflows/main.yml | 67 +++++++++++++------------------------- 1 file changed, 22 insertions(+), 45 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index b282a22..cc65aab 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,4 +1,4 @@ -name: Docker Pull and Package +name: ARM64 Pull and Save Docker Image on: workflow_dispatch: @@ -6,57 +6,34 @@ on: docker_images: description: 'Comma-separated list of Docker images to pull' required: true - default: 'wukongdaily/box:latest' - platform: - description: 'Platform architecture (e.g., amd64, arm64)' - required: true - default: 'amd64' + default: 'alpine:latest,ubuntu:latest' # 设置默认的 Docker 镜像列表 jobs: pull_and_package: runs-on: ubuntu-latest steps: - - name: Clean up environment - run: | - # Clean up Docker images - docker image prune -af + - name: Checkout repository + uses: actions/checkout@v2 - # Clean up temporary tar files - rm -f *.tar + - name: Pull Docker Images and Package + run: | + images="${{ github.event.inputs.docker_images }}" + IFS=',' read -r -a image_array <<< "$images" + for image in "${image_array[@]}"; do + docker pull "${image}" --platform "linux/arm64" + docker save "${image}" -o "${image//\//_}-amd64.tar" + done - # Clean up other temporary files if necessary - # rm -rf + - name: Compress the TAR files + run: tar -czf images.tar.gz *-amd64.tar - - name: Checkout repository - uses: actions/checkout@v2 + - name: Upload artifact + uses: actions/upload-artifact@v2 + with: + name: docker-images-tar + path: images.tar.gz - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v1 - - - name: Pull, Save, and Compress Docker Images - run: | - images="${{ github.event.inputs.docker_images }}" - platform="${{ github.event.inputs.platform }}" - IFS=',' read -r -a image_array <<< "$images" - for image in "${image_array[@]}"; do - echo "Pulling $image for platform $platform" - docker pull --platform "$platform" "$image" - image_name="${image//\//_}_${platform}" - docker save "$image" -o "${image_name}.tar" - tar -czf "${image_name}.tar.gz" "${image_name}.tar" - rm -f "${image_name}.tar" - - # Save image path to environment file - echo "${image}_IMAGE_PATH=${{ runner.temp }}/${image_name}.tar.gz" >> $GITHUB_ENV - done - - - name: Clean up intermediate files - run: | - rm -f *.tar - - - name: Upload artifacts - uses: actions/upload-artifact@v2 - with: - name: docker-images-tar - path: '*.tar.gz' + - name: Clean up intermediate files + run: | + rm *-amd64.tar