name: "docker: build release containers for normal volume" # DISABLED: Merged into container_release_unified.yml on: workflow_dispatch: inputs: force_run: description: 'This workflow is disabled. Use container_release_unified.yml instead' required: true default: 'disabled' permissions: contents: read jobs: build: runs-on: ubuntu-latest strategy: matrix: platform: [amd64, arm64, arm, 386] include: - platform: amd64 qemu: false - platform: arm64 qemu: true - platform: arm qemu: true - platform: 386 qemu: true steps: - name: Checkout uses: actions/checkout@v4 - name: Free Disk Space run: | echo "Available disk space before cleanup:" df -h # Remove pre-installed tools sudo rm -rf /usr/share/dotnet /usr/local/lib/android /opt/ghc /opt/hostedtoolcache/CodeQL # Clean package managers sudo apt-get clean sudo rm -rf /var/lib/apt/lists/* # Clean Docker aggressively sudo docker system prune -af --volumes # Clean Go cache if it exists [ -d ~/.cache/go-build ] && rm -rf ~/.cache/go-build || true [ -d /go/pkg ] && rm -rf /go/pkg || true echo "Available disk space after cleanup:" df -h - name: Docker meta id: docker_meta uses: docker/metadata-action@v5 with: images: chrislusf/seaweedfs tags: type=ref,event=tag flavor: latest=false - name: Set up QEMU if: matrix.qemu uses: docker/setup-qemu-action@v3 - name: Create BuildKit config run: | cat > /tmp/buildkitd.toml <&2 sleep $timeout timeout=$((timeout * 2)) fi attempt=$((attempt + 1)) done echo "Command failed after $max_attempts attempts" >&2 return $exit_code } # Create manifest with retry retry_with_backoff docker buildx imagetools create -t ${{ steps.docker_meta.outputs.tags }} \ ${{ steps.docker_meta.outputs.tags }}-amd64 \ ${{ steps.docker_meta.outputs.tags }}-arm64 \ ${{ steps.docker_meta.outputs.tags }}-arm \ ${{ steps.docker_meta.outputs.tags }}-386