name: "Release: ARM64 Docker Image" on: push: tags: - "v*" jobs: build-arm64: # Нативный ARM64 runner на Orange Pi Zero 2 (aarch64) # Сборка без QEMU-эмуляции — быстрее и стабильнее для npm install / node-gyp runs-on: arm64 steps: - name: Checkout code uses: actions/checkout@v4 - name: Extract tag id: meta run: | TAG=${GITHUB_REF_NAME#v} echo "version=$TAG" >> "$GITHUB_OUTPUT" echo "image=git.softuniq.eu/telegram-market/telegram-shop" >> "$GITHUB_OUTPUT" - name: Build ARM64 image run: | docker build \ --file ./Dockerfile \ --tag ${{ steps.meta.outputs.image }}:${{ steps.meta.outputs.version }} \ --tag ${{ steps.meta.outputs.image }}:latest \ . - name: Log in to Gitea Container Registry (best effort) id: login continue-on-error: true uses: docker/login-action@v3 with: registry: git.softuniq.eu username: ${{ github.actor }} password: ${{ secrets.REGISTRY_TOKEN }} - name: Push image to Gitea Container Registry if: steps.login.outcome == 'success' run: | docker push ${{ steps.meta.outputs.image }}:${{ steps.meta.outputs.version }} docker push ${{ steps.meta.outputs.image }}:latest - name: Save image tarball run: | mkdir -p /tmp/release-artifacts docker save ${{ steps.meta.outputs.image }}:${{ steps.meta.outputs.version }} \ -o /tmp/release-artifacts/telegram-shop-arm64-${{ steps.meta.outputs.version }}.tar ls -la /tmp/release-artifacts/