diff --git a/.github/workflows/api.yml b/.github/workflows/api.yml index f7c3fd8..a70458a 100644 --- a/.github/workflows/api.yml +++ b/.github/workflows/api.yml @@ -5,6 +5,10 @@ on: branches: - "main" +env: + REGISTRY: ghcr.io + IMAGE_NAME: ${{ github.repository }} + jobs: build: name: Build binary and push (api) @@ -24,35 +28,35 @@ jobs: run: | echo "SHORT_COMMIT_SHA=$(git rev-parse --short HEAD)" >> $GITHUB_ENV echo "BRANCH_NAME=$(git branch --show-current)" >> $GITHUB_ENV - - name: Test - run: echo "$MATRIX_TEST" - env: - MATRIX_TEST: ${{ matrix.platform }} - # - name: Build binary - # run: cargo build --release - # - name: Copy binary - # run: mv target/release/api api/api - # - name: Set up QEMU - # uses: docker/setup-qemu-action@v3 - # - name: Set up Docker Buildx - # uses: docker/setup-buildx-action@v3 - # - name: Login to repository - # uses: docker/login-action@v3 - # with: - # registry: ${{ env.REGISTRY }} - # username: ${{ github.actor }} - # password: ${{ secrets.GITHUB_TOKEN }} - # - name: Extract metadata (tags, labels) for Docker - # id: meta - # uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7 - # with: - # images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - # - name: Build and push - # uses: docker/build-push-action@v3 - # with: - # push: true - # platforms: linux/arm64 - # context: apps/api - # file: apps/api/Dockerfile - # tags: ${{ steps.meta.outputs.tags }} - # labels: ${{ steps.meta.outputs.labels }} + - name: Build binary + run: cargo build --release + - name: Copy binary + run: mv target/release/api api/api + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + - name: Login to repository + uses: docker/login-action@v3 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Extract metadata (tags, labels) for Docker + id: meta + uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}-${{ env.RUNNER_ARCH }} + - name: Build and push + uses: docker/build-push-action@v3 + with: + push: true + platforms: linux/arm64 + context: apps/api + file: apps/api/Dockerfile + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + combine: + name: Combine docker manifests + runs-on: ubuntu-22.04 + steps: