From 6d969f519ce7734ae9861024cbd9a3ee74c59e91 Mon Sep 17 00:00:00 2001 From: Tyrone Faulhaber <20131658+spectrapulse@users.noreply.github.com> Date: Mon, 25 Sep 2023 13:20:48 +0000 Subject: [PATCH] Added arm64 support to docker image --- .github/workflows/docker-image.yml | 46 +++++++++++++++++++++++------- 1 file changed, 36 insertions(+), 10 deletions(-) diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml index 0ce6429..485d97d 100644 --- a/.github/workflows/docker-image.yml +++ b/.github/workflows/docker-image.yml @@ -1,12 +1,19 @@ -name: Docker Image CI +name: Build and push to registry on: push: branches: [ "main" ] + pull_request: + branches: [ "main" ] + workflow_dispatch: + +permissions: + packages: write + contents: read jobs: build-and-push: - name: Build Docker image and push to repository + name: Build Docker image and push to registry runs-on: ubuntu-latest steps: @@ -17,17 +24,36 @@ jobs: id: buildx uses: docker/setup-buildx-action@v2 - - name: Login to repository + - name: Login to GitHub's Container Registry + if: github.event_name != 'pull_request' uses: docker/login-action@v2 with: - registry: ${{ secrets.REGISTRY_URL }} - username: ${{ secrets.REGISTRY_USERNAME }} - password: ${{ secrets.REGISTRY_PASSWORD }} + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Generate image metadata + id: spoticord-database # used in next step + uses: docker/metadata-action@v5 + with: + # list of Docker images to use as base name for tags + images: ghcr.io/${{ github.repository }} + # Docker tags based on the following events/attributes + tags: | + type=raw,value=latest,enable={{is_default_branch}} + type=ref,event=branch + type=ref,event=pr + type=sha - name: Build image and push to registry - uses: docker/build-push-action@v2 + uses: docker/build-push-action@v5 with: context: . - tags: | - ${{ secrets.REGISTRY_URL }}/spoticord/database:latest - push: ${{ github.ref == 'refs/heads/main' }} + platforms: linux/amd64,linux/arm64 + push: ${{ github.event_name != 'pull_request' }} + tags: ${{ steps.spoticord-database.outputs.tags }} + labels: ${{ steps.spoticord-database.outputs.labels }} + # Some basic caching of the layers... + cache-from: ghcr.io/${{ github.repository }}:latest-cache + cache-to: ghcr.io/${{ github.repository }}:latest-cache + \ No newline at end of file