Update debug step #30
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
jobs: | |
build-push: | |
runs-on: 'ubuntu-latest' | |
steps: | |
- uses: 'actions/checkout@v4' | |
- id: 'metadata' | |
uses: 'docker/metadata-action@v5' | |
with: | |
images: 'econialabs/emojicoin-dot-fun-indexer-processor' | |
tags: | | |
type=match,pattern=emojicoin-processor-v(.*),group=1 | |
- uses: 'docker/setup-qemu-action@v3' | |
- uses: 'docker/setup-buildx-action@v3' | |
- uses: 'docker/login-action@v3' | |
with: | |
password: '${{ secrets.DOCKERHUB_TOKEN }}' | |
username: '${{ secrets.DOCKERHUB_USERNAME }}' | |
- name: 'Build AMD image, push to Docker Hub, and store locally' | |
uses: 'docker/build-push-action@v6' | |
with: | |
cache-from: 'type=gha' | |
cache-to: 'type=gha,mode=max' | |
context: 'rust' | |
file: 'rust/Dockerfile' | |
outputs: 'type=docker,dest=/tmp/amd64.tar' | |
platforms: 'linux/amd64' | |
push: 'true' | |
tags: '${{ steps.metadata.outputs.tags }}' | |
- name: 'Clear Docker cache to free up space for ARM build' | |
run: 'docker system prune -af' | |
- name: 'Build ARM image and store locally' | |
uses: 'docker/build-push-action@v6' | |
with: | |
cache-from: 'type=gha' | |
cache-to: 'type=gha,mode=max' | |
context: 'rust' | |
file: 'rust/Dockerfile' | |
outputs: 'type=docker,dest=/tmp/arm64.tar' | |
platforms: 'linux/arm64' | |
push: 'false' | |
tags: '${{ steps.metadata.outputs.tags }}' | |
- uses: 'docker/login-action@v3' | |
with: | |
password: '${{ secrets.DOCKERHUB_TOKEN }}' | |
username: '${{ secrets.DOCKERHUB_USERNAME }}' | |
- name: 'Debug' | |
run: | | |
docker system prune -af | |
echo "=== Before loading tarballs ===" | |
docker images | |
echo "\n=== Loading AMD64 tarball ===" | |
docker load --input /tmp/amd64.tar | |
echo "\n=== After AMD64 load ===" | |
docker images | |
echo "\n=== Loading ARM64 tarball ===" | |
docker load --input /tmp/arm64.tar | |
echo "\n=== After ARM64 load ===" | |
docker images | |
echo "\n=== Metadata tags from previous step ===" | |
echo "${{ steps.metadata.outputs.tags }}" | |
# - name: 'Push multi-platform image to Docker Hub' | |
# run: | | |
# docker system prune -af | |
# docker load --input /tmp/amd64.tar | |
# docker load --input /tmp/arm64.tar | |
# AMD64_ID=$(docker images --filter "platform=linux/amd64" -q | head -n1) | |
# ARM64_ID=$(docker images --filter "platform=linux/arm64" -q | head -n1) | |
# IMAGE_REFS=$(docker images -q | xargs -I {} echo "--amend {}") | |
# echo "${{ steps.metadata.outputs.tags }}" | while read -r tag; do | |
# if [ ! -z "$tag" ]; then | |
# docker manifest create $tag $IMAGE_REFS && docker manifest push $tag | |
# fi | |
# done | |
timeout-minutes: 360 | |
name: 'Push multi-platform processor image to Docker Hub' | |
'on': | |
push: | |
tags: | |
- 'emojicoin-processor-v*' | |
... |