diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 2795139..89db752 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -9,8 +9,9 @@ on: pull_request: env: - REGISTRY: git.danhenry.dev - IMAGE_NAME: thelab/shopping-list-api + REGISTRY: git.danhenry.dev:5050 + IMAGE_NAME: TheLab/shopping-list-api + CACHE_REF: git.danhenry.dev:5050/TheLab/shopping-list-api:latest jobs: test: @@ -41,17 +42,24 @@ jobs: - name: Checkout uses: actions/checkout@v4 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + - name: Log in to Gitea container registry - run: echo "${{ secrets.REGISTRY_PASSWORD }}" | docker login ${{ env.REGISTRY }} -u "${{ secrets.REGISTRY_USERNAME }}" --password-stdin + uses: docker/login-action@v3 + with: + registry: ${{ env.REGISTRY }} + username: ${{ secrets.REGISTRY_USERNAME }} + password: ${{ secrets.REGISTRY_PASSWORD }} - - name: Build Docker image - run: | - docker build \ - -t ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ gitea.sha }} \ - -t ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ gitea.ref_name }} \ - . - - - name: Push Docker image - run: | - docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ gitea.sha }} - docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ gitea.ref_name }} + - name: Build and push multi-arch image + uses: docker/build-push-action@v6 + with: + context: . + push: true + platforms: linux/amd64,linux/arm64 + tags: | + ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ gitea.sha }} + ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest + cache-from: type=registry,ref=${{ env.CACHE_REF }} + cache-to: type=registry,ref=${{ env.CACHE_REF }},mode=max