name: Build Images on: push: branches: [main] pull_request: branches: [main] jobs: build: runs-on: nixos-latest steps: - name: Checkout uses: actions/checkout@v6 - name: Build aarch64 Image run: nix build .#dockerImages.aarch64-linux.node --out-link ./image-aarch64.tar.gz --option build-hook "" - name: Push to Gitea Registry if: github.event_name == 'push' && github.ref == 'refs/heads/main' env: GITEA_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | REGISTRY="${{ github.server_url }}" REGISTRY="${REGISTRY#https://}" REGISTRY="${REGISTRY#http://}" # Push aarch64 image skopeo copy \ --insecure-policy \ --dest-creds "${{ github.actor }}:${GITEA_TOKEN}" \ "docker-archive:./image-aarch64.tar.gz" \ "docker://${REGISTRY}/${{ github.repository }}/node:latest-arm64" # Create and push manifest for arm64 skopeo manifest create \ --insecure-policy \ --dest-creds "${{ github.actor }}:${GITEA_TOKEN}" \ "docker://${REGISTRY}/${{ github.repository }}/node:latest" \ "docker://${REGISTRY}/${{ github.repository }}/node:latest-arm64"