From f7fc4326f1fbd73d27bba1fd8f4f77455a501c7d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joakim=20Hells=C3=A9n?= Date: Mon, 20 Mar 2023 03:58:30 +0100 Subject: [PATCH] Add support for arm64 --- .github/workflows/docker-publish.yml | 65 ++++++++++++++++++---------- 1 file changed, 42 insertions(+), 23 deletions(-) diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index 77ccb8e..eed29fe 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -4,9 +4,9 @@ on: schedule: - cron: "20 6 * * *" push: - branches: [ master ] + branches: [master] pull_request: - branches: [ master ] + branches: [master] workflow_dispatch: env: BOT_TOKEN: ${{ secrets.BOT_TOKEN }} @@ -21,40 +21,59 @@ jobs: contents: read packages: write steps: - - uses: actions/checkout@v3 - - run: pipx install poetry - - uses: actions/setup-python@v4 + - name: Download code + uses: actions/checkout@v3 + + - name: Set up QEMU for cross-platform Docker images + uses: docker/setup-qemu-action@v2 with: - python-version: "3.10" - cache: 'poetry' - - run: poetry install - - run: poetry run pytest + platforms: all + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + + - name: Install Poetry + run: pipx install poetry + + - name: Setup Python 3.11 + uses: actions/setup-python@v4 + with: + python-version: "3.11" + cache: "poetry" + + - name: Install dependencies + run: poetry install + + - name: Run tests + run: poetry run pytest + - name: Login to Docker Hub - if: github.event_name != 'pull_request' uses: docker/login-action@v2 + if: github.event_name != 'pull_request' with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} + - name: Login to GitHub Container Registry - if: github.event_name != 'pull_request' uses: docker/login-action@v2 + if: github.event_name != 'pull_request' with: registry: ghcr.io username: ${{ github.repository_owner }} password: ${{ secrets.GITHUB_TOKEN }} - - name: Extract Docker metadata - id: meta - uses: docker/metadata-action@v4 - with: - images: | - thelovinator/discord-reminder-bot - ghcr.io/thelovinator1/discord-reminder-bot - flavor: latest=${{ github.ref == 'refs/heads/master' }} - - name: Build and push Docker image - id: build-and-push + + - name: Build and push Docker image to Docker Hub uses: docker/build-push-action@v4 with: context: . + platforms: linux/amd64, linux/arm64 push: ${{ github.event_name != 'pull_request' }} - tags: ${{ steps.meta.outputs.tags }} - labels: ${{ steps.meta.outputs.labels }} + tags: thelovinator/discord-reminder-bot:latest + + - name: Build and push Docker image to GitHub Container Registry + uses: docker/build-push-action@v4 + with: + context: . + platforms: linux/amd64, linux/arm64 + push: ${{ github.event_name != 'pull_request' }} + tags: ghcr.io/thelovinator1/discord-reminder-bot:latest