diff --git a/.github/workflows/download.yml b/.github/workflows/download.yml index 21fbf32..53c7a5e 100644 --- a/.github/workflows/download.yml +++ b/.github/workflows/download.yml @@ -12,18 +12,26 @@ jobs: - name: Check out repository code uses: actions/checkout@v4 - - name: Get the image name - id: get-image-name + - name: Get the image info run: | - TAG_NAME="${GITHUB_REF#refs/tags/}" - IMAGE_NAME="${TAG_NAME//--/:}" - echo "IMAGE_NAME=$IMAGE_NAME" >> $GITHUB_ENV + tag_name="${GITHUB_REF#refs/tags/}" + image_name="${tag_name//--/:}" + platform="amd64" + + regex="(.+)(-amd64|-arm64)$" + if [[ $image_name =~ $regex ]]; then + image_name="${BASH_REMATCH[1]}" + platform="${BASH_REMATCH[2]#-}" + fi + + echo "image_name=$image_name" >> $GITHUB_ENV + echo "platform=$platform" >> $GITHUB_ENV - name: Pull Docker image - run: docker pull "$IMAGE_NAME" + run: docker pull --platform linux/"$platform" "$image_name" - name: Export Docker image - run: docker save -o image.tar "$IMAGE_NAME" + run: docker save -o image.tar "$image_name" - name: Upload artifact uses: actions/upload-artifact@v4