chore: Update docker-compose files to specify platform for backend services (#2763)

# Description

Please include a summary of the changes and the related issue. Please
also include relevant motivation and context.

## Checklist before requesting a review

Please delete options that are not relevant.

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my code
- [ ] I have commented hard-to-understand areas
- [ ] I have ideally added tests that prove my fix is effective or that
my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged

## Screenshots (if appropriate):
This commit is contained in:
Stan Girard 2024-06-27 14:02:59 +02:00 committed by GitHub
parent 49c6eb686a
commit 32786866cb
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -16,6 +16,9 @@ jobs:
name: Build and Push Docker Image
runs-on: ubuntu-latest
environment: production
strategy:
matrix:
architecture: [amd64, arm64]
steps:
- name: Checkout
@ -48,7 +51,7 @@ jobs:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@f95db51fddba0c2d1ec667646a06c2ce06100226 # v3
- name: Create Docker Cacha Storage Backend
- name: Create Docker Cache Storage Backend
run: |
docker buildx create --use --driver=docker-container
- name: See the file in the runner
@ -63,8 +66,34 @@ jobs:
with:
context: ./backend/
push: true
platforms: linux/amd64,linux/arm64
# tags: ${{ env.ECR_REGISTRY }}/${{ env.ECR_REPOSITORY }}:${{ env.IMAGE_TAG }}, ${{ env.ECR_REGISTRY }}/${{ env.ECR_REPOSITORY }}:latest, ghcr.io/quivrhq/quivr:latest, stangirard/quivr-backend-prebuilt:latest, stangirard/quivr-backend-prebuilt:${{ env.IMAGE_TAG }}
tags: ghcr.io/quivrhq/quivr:latest, stangirard/quivr-backend-prebuilt:latest, stangirard/quivr-backend-prebuilt:${{ env.IMAGE_TAG }}
platforms: linux/${{ matrix.architecture }}
tags: ghcr.io/quivrhq/quivr:latest-${{ matrix.architecture }}, stangirard/quivr-backend-prebuilt:latest-${{ matrix.architecture }}, stangirard/quivr-backend-prebuilt:${{ env.IMAGE_TAG }}-${{ matrix.architecture }}
cache-from: type=gha
cache-to: type=gha,mode=max
cache-to: type=gha,mode=max
merge_manifests:
needs: build_and_push
runs-on: ubuntu-latest
steps:
- name: Login to Docker Hub
uses: docker/login-action@343f7c4344506bcbf9b4de18042ae17996df046d # v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Create and push multi-arch manifest
run: |
docker manifest create stangirard/quivr-backend-prebuilt:latest \
stangirard/quivr-backend-prebuilt:latest-amd64 \
stangirard/quivr-backend-prebuilt:latest-arm64
docker manifest push stangirard/quivr-backend-prebuilt:latest
docker manifest create stangirard/quivr-backend-prebuilt:${{ github.sha }} \
stangirard/quivr-backend-prebuilt:${{ github.sha }}-amd64 \
stangirard/quivr-backend-prebuilt:${{ github.sha }}-arm64
docker manifest push stangirard/quivr-backend-prebuilt:${{ github.sha }}
docker manifest create ghcr.io/quivrhq/quivr:latest \
ghcr.io/quivrhq/quivr:latest-amd64 \
ghcr.io/quivrhq/quivr:latest-arm64
docker manifest push ghcr.io/quivrhq/quivr:latest