Skip to content

✨ Add support for multiarch builds, including ARM (e.g. Mac M1) (#138) #154

✨ Add support for multiarch builds, including ARM (e.g. Mac M1) (#138)

✨ Add support for multiarch builds, including ARM (e.g. Mac M1) (#138) #154

Workflow file for this run

name: Deploy
on:
push:
branches:
- master
schedule:
# cron every week on monday
- cron: "0 0 * * 1"
jobs:
deploy:
strategy:
matrix:
image:
- name: latest
python_version: "3.9"
- name: python3.9
python_version: "3.9"
- name: python3.8
python_version: "3.8"
- name: python3.7
python_version: "3.7"
fail-fast: true
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set Dockerfile name
if: matrix.image.name != 'latest'
run: echo "DOCKERFILE_NAME=${{ matrix.image.name }}" >> $GITHUB_ENV
- name: Set Dockerfile name latest
if: matrix.image.name == 'latest'
run: echo "DOCKERFILE_NAME=python${{ matrix.image.python_version }}" >> $GITHUB_ENV
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Login to DockerHub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Get date for tags
run: echo "DATE_TAG=$(date -I)" >> "$GITHUB_ENV"
- name: Build and push
uses: docker/build-push-action@v2
with:
push: true
platforms: linux/amd64,linux/arm64
tags: |
tiangolo/meinheld-gunicorn-flask:${{ matrix.image.name }}
tiangolo/meinheld-gunicorn-flask:${{ matrix.image.name }}-${{ env.DATE_TAG }}
context: ./docker-images/
file: ./docker-images/${{ env.DOCKERFILE_NAME }}.dockerfile
- name: Docker Hub Description
uses: peter-evans/dockerhub-description@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
repository: tiangolo/meinheld-gunicorn-flask