Skip to content

Docker Image CI (nightly) #456

Docker Image CI (nightly)

Docker Image CI (nightly) #456

Workflow file for this run

name: Docker Image CI (nightly)
on:
schedule:
- cron: '0 4 * * *'
workflow_dispatch:
jobs:
build-ubuntu-debian-image:
runs-on: ubuntu-latest
continue-on-error: true
strategy:
matrix:
include:
- distribution: ubuntu
release: noble
platforms: |
linux/amd64
linux/arm/v7
linux/arm64
- distribution: ubuntu
release: jammy
platforms: |
linux/amd64
linux/arm/v7
linux/arm64
- distribution: ubuntu
release: focal
platforms: |
linux/amd64
linux/arm/v7
linux/arm64
- distribution: ubuntu
release: bionic
platforms: |
linux/386
linux/amd64
linux/arm/v7
linux/arm64/v8
- distribution: ubuntu
release: xenial
platforms: |
linux/386
linux/amd64
linux/arm/v7
linux/arm64/v8
- distribution: debian
release: bookworm
platforms: |
linux/386
linux/amd64
linux/arm/v5
linux/arm/v7
linux/arm64/v8
- distribution: debian
release: bullseye
platforms: |
linux/386
linux/amd64
linux/arm/v7
linux/arm64/v8
- distribution: debian
release: buster
platforms: |
linux/386
linux/amd64
linux/arm/v7
linux/arm64/v8
steps:
- uses: actions/checkout@v4
- name: Set up environment
run: |
echo "RELEASE_VERSION=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
with:
platforms: all
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
with:
version: latest
- name: Cache Docker layers
uses: actions/cache@v4
with:
path: /tmp/.buildx-cache
key: ${{ runner.os }}-buildx-${{ matrix.distribution }}-${{ matrix.release }}-${{ github.sha }}
restore-keys: ${{ runner.os }}-buildx-${{ matrix.distribution }}-${{ matrix.release }}-
- name: Login to DockerHub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_ACCESS_TOKEN }}
- name: Build and push
uses: docker/build-push-action@v6
with:
context: ${{ matrix.distribution }}
platforms: ${{ matrix.platforms }}
build-args: |
RELEASE=${{ matrix.release }}
push: true
tags: borisskert/python3:${{ matrix.release }}
cache-from: type=local,src=/tmp/.buildx-cache
cache-to: type=local,dest=/tmp/.buildx-cache