spotify demo with optimized context window code change (#397) #24
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Publish Docker image | |
env: | |
DOCKER_IMAGE: katanemo/archgw | |
on: | |
push: | |
branches: | |
- main | |
jobs: | |
# Build ARM64 image on native ARM64 runner | |
build-arm64: | |
runs-on: [linux-arm64] | |
steps: | |
- name: Checkout Repository | |
uses: actions/checkout@v4 | |
- name: Log in to Docker Hub | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKER_USERNAME }} | |
password: ${{ secrets.DOCKER_PASSWORD }} | |
- name: Extract metadata (tags, labels) for Docker | |
id: meta | |
uses: docker/metadata-action@v5 | |
with: | |
images: ${{ env.DOCKER_IMAGE }} | |
tags: | | |
type=raw,value=latest # Force the tag to be "latest" | |
- name: Build and Push ARM64 Image | |
uses: docker/build-push-action@v5 | |
with: | |
context: . | |
file: ./arch/Dockerfile | |
platforms: linux/arm64 | |
push: true | |
tags: ${{ steps.meta.outputs.tags }}-arm64 | |
# Build AMD64 image on GitHub's AMD64 runner | |
build-amd64: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout Repository | |
uses: actions/checkout@v4 | |
- name: Log in to Docker Hub | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKER_USERNAME }} | |
password: ${{ secrets.DOCKER_PASSWORD }} | |
- name: Extract metadata (tags, labels) for Docker | |
id: meta | |
uses: docker/metadata-action@v5 | |
with: | |
images: ${{ env.DOCKER_IMAGE }} | |
tags: | | |
type=raw,value=latest # Force the tag to be "latest" | |
- name: Build and Push AMD64 Image | |
uses: docker/build-push-action@v5 | |
with: | |
context: . | |
file: ./arch/Dockerfile | |
platforms: linux/amd64 | |
push: true | |
tags: ${{ steps.meta.outputs.tags }}-amd64 | |
# Combine ARM64 and AMD64 images into a multi-arch manifest | |
create-manifest: | |
runs-on: ubuntu-latest | |
needs: [build-arm64, build-amd64] # Wait for both builds | |
steps: | |
- name: Log in to Docker Hub | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKER_USERNAME }} | |
password: ${{ secrets.DOCKER_PASSWORD }} | |
- name: Extract metadata (tags, labels) for Docker | |
id: meta | |
uses: docker/metadata-action@v5 | |
with: | |
images: ${{ env.DOCKER_IMAGE }} | |
tags: | | |
type=raw,value=latest # Force the tag to be "latest" | |
- name: Create Multi-Arch Manifest | |
run: | | |
# Combine the architecture-specific images into a "latest" manifest | |
docker buildx imagetools create -t ${{ steps.meta.outputs.tags }} \ | |
${{ env.DOCKER_IMAGE }}:latest-arm64 \ | |
${{ env.DOCKER_IMAGE }}:latest-amd64 |