Split Docker image workflow to rebuild only changed Dockerfile

My goal is not to save the planet but to make it work. Currently
docker/setup-buildx-action@v2 often fails. You have to rerun the
workflow multiple times until it succeed. When you do that with the
matrix with 15 containers, you never get to the point where they all
built successfully. Having separate workflows makes rerun the failing
build easier.
This commit is contained in:
Laurent Indermuehle 2023-01-23 09:18:36 +01:00
commit 095ed0ad2e
No known key found for this signature in database
GPG key ID: 93FA944C9F34DD09
15 changed files with 960 additions and 15 deletions

View file

@ -0,0 +1,68 @@
---
name: Docker Image CI mariadb103-py38-mysqlclient201
on:
push:
branch:
- main
- lie_tests_using_containers
paths:
- 'test-containers/mariadb103-py38-mysqlclient201/**'
- '.github/workflows/docker-image-mariadb103-py38-mysqlclient201.yml'
env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.actor }}/test-container-mariadb103-py38-mysqlclient201
CONTEXT: test-containers/mariadb103-py38-mysqlclient201
jobs:
build:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- name: Checkout repository
uses: actions/checkout@v3
# https://github.com/docker/login-action
- name: Log into registry ${{ env.REGISTRY }}
uses: docker/login-action@v2
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
# https://github.com/docker/metadata-action
- name: Extract Docker metadata (tags, labels)
id: meta
uses: docker/metadata-action@v4
with:
images:
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
# Setting up Docker Buildx with docker-container driver is required
# at the moment to be able to use a subdirectory with Git context
#
# https://github.com/docker/setup-buildx-action
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
with:
# Use the previous version of buildx https://github.com/docker/buildx/releases
# to solve https://github.com/docker/build-push-action/issues/761
version: v0.9.1
# https://github.com/docker/build-push-action
- name: Build and push Docker image with Buildx
id: build-and-push
uses: docker/build-push-action@v3
with:
context: ${{ env.CONTEXT }}
push: true
tags: ${{ steps.meta.outputs.tags }},${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=gha
cache-to: type=gha,mode=max

View file

@ -0,0 +1,68 @@
---
name: Docker Image CI mariadb103-py38-pymysql093
on:
push:
branch:
- main
- lie_tests_using_containers
paths:
- 'test-containers/mariadb103-py38-pymysql093/**'
- '.github/workflows/docker-image-mariadb103-py38-pymysql093.yml'
env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.actor }}/test-container-mariadb103-py38-pymysql093
CONTEXT: test-containers/mariadb103-py38-pymysql093
jobs:
build:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- name: Checkout repository
uses: actions/checkout@v3
# https://github.com/docker/login-action
- name: Log into registry ${{ env.REGISTRY }}
uses: docker/login-action@v2
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
# https://github.com/docker/metadata-action
- name: Extract Docker metadata (tags, labels)
id: meta
uses: docker/metadata-action@v4
with:
images:
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
# Setting up Docker Buildx with docker-container driver is required
# at the moment to be able to use a subdirectory with Git context
#
# https://github.com/docker/setup-buildx-action
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
with:
# Use the previous version of buildx https://github.com/docker/buildx/releases
# to solve https://github.com/docker/build-push-action/issues/761
version: v0.9.1
# https://github.com/docker/build-push-action
- name: Build and push Docker image with Buildx
id: build-and-push
uses: docker/build-push-action@v3
with:
context: ${{ env.CONTEXT }}
push: true
tags: ${{ steps.meta.outputs.tags }},${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=gha
cache-to: type=gha,mode=max

View file

@ -0,0 +1,68 @@
---
name: Docker Image CI mariadb103-py39-mysqlclient203
on:
push:
branch:
- main
- lie_tests_using_containers
paths:
- 'test-containers/mariadb103-py39-mysqlclient203/**'
- '.github/workflows/docker-image-mariadb103-py39-mysqlclient203.yml'
env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.actor }}/test-container-mariadb103-py39-mysqlclient203
CONTEXT: test-containers/mariadb103-py39-mysqlclient203
jobs:
build:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- name: Checkout repository
uses: actions/checkout@v3
# https://github.com/docker/login-action
- name: Log into registry ${{ env.REGISTRY }}
uses: docker/login-action@v2
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
# https://github.com/docker/metadata-action
- name: Extract Docker metadata (tags, labels)
id: meta
uses: docker/metadata-action@v4
with:
images:
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
# Setting up Docker Buildx with docker-container driver is required
# at the moment to be able to use a subdirectory with Git context
#
# https://github.com/docker/setup-buildx-action
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
with:
# Use the previous version of buildx https://github.com/docker/buildx/releases
# to solve https://github.com/docker/build-push-action/issues/761
version: v0.9.1
# https://github.com/docker/build-push-action
- name: Build and push Docker image with Buildx
id: build-and-push
uses: docker/build-push-action@v3
with:
context: ${{ env.CONTEXT }}
push: true
tags: ${{ steps.meta.outputs.tags }},${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=gha
cache-to: type=gha,mode=max

View file

@ -0,0 +1,68 @@
---
name: Docker Image CI mariadb103-py39-pymysql093
on:
push:
branch:
- main
- lie_tests_using_containers
paths:
- 'test-containers/mariadb103-py39-pymysql093/**'
- '.github/workflows/docker-image-mariadb103-py39-pymysql093.yml'
env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.actor }}/test-container-mariadb103-py39-pymysql093
CONTEXT: test-containers/mariadb103-py39-pymysql093
jobs:
build:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- name: Checkout repository
uses: actions/checkout@v3
# https://github.com/docker/login-action
- name: Log into registry ${{ env.REGISTRY }}
uses: docker/login-action@v2
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
# https://github.com/docker/metadata-action
- name: Extract Docker metadata (tags, labels)
id: meta
uses: docker/metadata-action@v4
with:
images:
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
# Setting up Docker Buildx with docker-container driver is required
# at the moment to be able to use a subdirectory with Git context
#
# https://github.com/docker/setup-buildx-action
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
with:
# Use the previous version of buildx https://github.com/docker/buildx/releases
# to solve https://github.com/docker/build-push-action/issues/761
version: v0.9.1
# https://github.com/docker/build-push-action
- name: Build and push Docker image with Buildx
id: build-and-push
uses: docker/build-push-action@v3
with:
context: ${{ env.CONTEXT }}
push: true
tags: ${{ steps.meta.outputs.tags }},${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=gha
cache-to: type=gha,mode=max

View file

@ -0,0 +1,68 @@
---
name: Docker Image CI mariadb106-py310-mysqlclient211
on:
push:
branch:
- main
- lie_tests_using_containers
paths:
- 'test-containers/mariadb106-py310-mysqlclient211/**'
- '.github/workflows/docker-image-mariadb106-py310-mysqlclient211.yml'
env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.actor }}/test-container-mariadb106-py310-mysqlclient211
CONTEXT: test-containers/mariadb106-py310-mysqlclient211
jobs:
build:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- name: Checkout repository
uses: actions/checkout@v3
# https://github.com/docker/login-action
- name: Log into registry ${{ env.REGISTRY }}
uses: docker/login-action@v2
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
# https://github.com/docker/metadata-action
- name: Extract Docker metadata (tags, labels)
id: meta
uses: docker/metadata-action@v4
with:
images:
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
# Setting up Docker Buildx with docker-container driver is required
# at the moment to be able to use a subdirectory with Git context
#
# https://github.com/docker/setup-buildx-action
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
with:
# Use the previous version of buildx https://github.com/docker/buildx/releases
# to solve https://github.com/docker/build-push-action/issues/761
version: v0.9.1
# https://github.com/docker/build-push-action
- name: Build and push Docker image with Buildx
id: build-and-push
uses: docker/build-push-action@v3
with:
context: ${{ env.CONTEXT }}
push: true
tags: ${{ steps.meta.outputs.tags }},${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=gha
cache-to: type=gha,mode=max

View file

@ -0,0 +1,68 @@
---
name: Docker Image CI mariadb106-py310-pymysql102
on:
push:
branch:
- main
- lie_tests_using_containers
paths:
- 'test-containers/mariadb106-py310-pymysql102/**'
- '.github/workflows/docker-image-mariadb106-py310-pymysql102.yml'
env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.actor }}/test-container-mariadb106-py310-pymysql102
CONTEXT: test-containers/mariadb106-py310-pymysql102
jobs:
build:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- name: Checkout repository
uses: actions/checkout@v3
# https://github.com/docker/login-action
- name: Log into registry ${{ env.REGISTRY }}
uses: docker/login-action@v2
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
# https://github.com/docker/metadata-action
- name: Extract Docker metadata (tags, labels)
id: meta
uses: docker/metadata-action@v4
with:
images:
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
# Setting up Docker Buildx with docker-container driver is required
# at the moment to be able to use a subdirectory with Git context
#
# https://github.com/docker/setup-buildx-action
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
with:
# Use the previous version of buildx https://github.com/docker/buildx/releases
# to solve https://github.com/docker/build-push-action/issues/761
version: v0.9.1
# https://github.com/docker/build-push-action
- name: Build and push Docker image with Buildx
id: build-and-push
uses: docker/build-push-action@v3
with:
context: ${{ env.CONTEXT }}
push: true
tags: ${{ steps.meta.outputs.tags }},${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=gha
cache-to: type=gha,mode=max

View file

@ -1,5 +1,5 @@
--- ---
name: Docker Image CI name: Docker Image CI my57-py38-mysqlclient201
on: on:
push: push:
@ -7,13 +7,13 @@ on:
- main - main
- lie_tests_using_containers - lie_tests_using_containers
paths: paths:
- 'test-containers/**' - 'test-containers/my57-py38-mysqlclient201/**'
- '.github/workflows/docker-image.yml' - '.github/workflows/docker-image-my57-py38-mysqlclient201.yml'
env: env:
REGISTRY: ghcr.io REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.actor }}/test-container- IMAGE_NAME: ${{ github.actor }}/test-container-my57-py38-mysqlclient201
CONTEXT: test-containers CONTEXT: test-containers/my57-py38-mysqlclient201
jobs: jobs:
@ -26,13 +26,6 @@ jobs:
strategy: strategy:
matrix: matrix:
include: include:
- subfolder: mariadb103-py38-mysqlclient201
- subfolder: mariadb103-py38-pymysql093
- subfolder: mariadb103-py39-mysqlclient203
- subfolder: mariadb103-py39-pymysql093
- subfolder: mariadb106-py310-mysqlclient211
- subfolder: mariadb106-py310-pymysql102
- subfolder: my57-py38-mysqlclient201
- subfolder: my57-py38-pymysql0711 - subfolder: my57-py38-pymysql0711
- subfolder: my57-py38-pymysql093 - subfolder: my57-py38-pymysql093
- subfolder: my80-py310-mysqlclient211 - subfolder: my80-py310-mysqlclient211
@ -60,7 +53,7 @@ jobs:
uses: docker/metadata-action@v4 uses: docker/metadata-action@v4
with: with:
images: images:
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}${{ matrix.subfolder }} ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
# Setting up Docker Buildx with docker-container driver is required # Setting up Docker Buildx with docker-container driver is required
# at the moment to be able to use a subdirectory with Git context # at the moment to be able to use a subdirectory with Git context
@ -78,9 +71,9 @@ jobs:
id: build-and-push id: build-and-push
uses: docker/build-push-action@v3 uses: docker/build-push-action@v3
with: with:
context: ${{ env.CONTEXT }}/${{ matrix.subfolder }} context: ${{ env.CONTEXT }}
push: true push: true
tags: ${{ steps.meta.outputs.tags }},${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}${{ matrix.subfolder }}:latest tags: ${{ steps.meta.outputs.tags }},${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest
labels: ${{ steps.meta.outputs.labels }} labels: ${{ steps.meta.outputs.labels }}
cache-from: type=gha cache-from: type=gha
cache-to: type=gha,mode=max cache-to: type=gha,mode=max

View file

@ -0,0 +1,68 @@
---
name: Docker Image CI my57-py38-pymysql0711
on:
push:
branch:
- main
- lie_tests_using_containers
paths:
- 'test-containers/my57-py38-pymysql0711/**'
- '.github/workflows/docker-image-my57-py38-pymysql0711.yml'
env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.actor }}/test-container-my57-py38-pymysql0711
CONTEXT: test-containers/my57-py38-pymysql0711
jobs:
build:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- name: Checkout repository
uses: actions/checkout@v3
# https://github.com/docker/login-action
- name: Log into registry ${{ env.REGISTRY }}
uses: docker/login-action@v2
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
# https://github.com/docker/metadata-action
- name: Extract Docker metadata (tags, labels)
id: meta
uses: docker/metadata-action@v4
with:
images:
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
# Setting up Docker Buildx with docker-container driver is required
# at the moment to be able to use a subdirectory with Git context
#
# https://github.com/docker/setup-buildx-action
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
with:
# Use the previous version of buildx https://github.com/docker/buildx/releases
# to solve https://github.com/docker/build-push-action/issues/761
version: v0.9.1
# https://github.com/docker/build-push-action
- name: Build and push Docker image with Buildx
id: build-and-push
uses: docker/build-push-action@v3
with:
context: ${{ env.CONTEXT }}
push: true
tags: ${{ steps.meta.outputs.tags }},${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=gha
cache-to: type=gha,mode=max

View file

@ -0,0 +1,68 @@
---
name: Docker Image CI my57-py38-pymysql093
on:
push:
branch:
- main
- lie_tests_using_containers
paths:
- 'test-containers/my57-py38-pymysql093/**'
- '.github/workflows/docker-image-my57-py38-pymysql093.yml'
env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.actor }}/test-container-my57-py38-pymysql093
CONTEXT: test-containers/my57-py38-pymysql093
jobs:
build:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- name: Checkout repository
uses: actions/checkout@v3
# https://github.com/docker/login-action
- name: Log into registry ${{ env.REGISTRY }}
uses: docker/login-action@v2
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
# https://github.com/docker/metadata-action
- name: Extract Docker metadata (tags, labels)
id: meta
uses: docker/metadata-action@v4
with:
images:
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
# Setting up Docker Buildx with docker-container driver is required
# at the moment to be able to use a subdirectory with Git context
#
# https://github.com/docker/setup-buildx-action
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
with:
# Use the previous version of buildx https://github.com/docker/buildx/releases
# to solve https://github.com/docker/build-push-action/issues/761
version: v0.9.1
# https://github.com/docker/build-push-action
- name: Build and push Docker image with Buildx
id: build-and-push
uses: docker/build-push-action@v3
with:
context: ${{ env.CONTEXT }}
push: true
tags: ${{ steps.meta.outputs.tags }},${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=gha
cache-to: type=gha,mode=max

View file

@ -0,0 +1,68 @@
---
name: Docker Image CI my80-py310-mysqlclient211
on:
push:
branch:
- main
- lie_tests_using_containers
paths:
- 'test-containers/my80-py310-mysqlclient211/**'
- '.github/workflows/docker-image-my80-py310-mysqlclient211.yml'
env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.actor }}/test-container-my80-py310-mysqlclient211
CONTEXT: test-containers/my80-py310-mysqlclient211
jobs:
build:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- name: Checkout repository
uses: actions/checkout@v3
# https://github.com/docker/login-action
- name: Log into registry ${{ env.REGISTRY }}
uses: docker/login-action@v2
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
# https://github.com/docker/metadata-action
- name: Extract Docker metadata (tags, labels)
id: meta
uses: docker/metadata-action@v4
with:
images:
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
# Setting up Docker Buildx with docker-container driver is required
# at the moment to be able to use a subdirectory with Git context
#
# https://github.com/docker/setup-buildx-action
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
with:
# Use the previous version of buildx https://github.com/docker/buildx/releases
# to solve https://github.com/docker/build-push-action/issues/761
version: v0.9.1
# https://github.com/docker/build-push-action
- name: Build and push Docker image with Buildx
id: build-and-push
uses: docker/build-push-action@v3
with:
context: ${{ env.CONTEXT }}
push: true
tags: ${{ steps.meta.outputs.tags }},${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=gha
cache-to: type=gha,mode=max

View file

@ -0,0 +1,68 @@
---
name: Docker Image CI my80-py310-pymysql102
on:
push:
branch:
- main
- lie_tests_using_containers
paths:
- 'test-containers/my80-py310-pymysql102/**'
- '.github/workflows/docker-image-my80-py310-pymysql102.yml'
env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.actor }}/test-container-my80-py310-pymysql102
CONTEXT: test-containers/my80-py310-pymysql102
jobs:
build:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- name: Checkout repository
uses: actions/checkout@v3
# https://github.com/docker/login-action
- name: Log into registry ${{ env.REGISTRY }}
uses: docker/login-action@v2
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
# https://github.com/docker/metadata-action
- name: Extract Docker metadata (tags, labels)
id: meta
uses: docker/metadata-action@v4
with:
images:
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
# Setting up Docker Buildx with docker-container driver is required
# at the moment to be able to use a subdirectory with Git context
#
# https://github.com/docker/setup-buildx-action
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
with:
# Use the previous version of buildx https://github.com/docker/buildx/releases
# to solve https://github.com/docker/build-push-action/issues/761
version: v0.9.1
# https://github.com/docker/build-push-action
- name: Build and push Docker image with Buildx
id: build-and-push
uses: docker/build-push-action@v3
with:
context: ${{ env.CONTEXT }}
push: true
tags: ${{ steps.meta.outputs.tags }},${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=gha
cache-to: type=gha,mode=max

View file

@ -0,0 +1,68 @@
---
name: Docker Image CI my80-py38-mysqlclient201
on:
push:
branch:
- main
- lie_tests_using_containers
paths:
- 'test-containers/my80-py38-mysqlclient201/**'
- '.github/workflows/docker-image-my80-py38-mysqlclient201.yml'
env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.actor }}/test-container-my80-py38-mysqlclient201
CONTEXT: test-containers/my80-py38-mysqlclient201
jobs:
build:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- name: Checkout repository
uses: actions/checkout@v3
# https://github.com/docker/login-action
- name: Log into registry ${{ env.REGISTRY }}
uses: docker/login-action@v2
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
# https://github.com/docker/metadata-action
- name: Extract Docker metadata (tags, labels)
id: meta
uses: docker/metadata-action@v4
with:
images:
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
# Setting up Docker Buildx with docker-container driver is required
# at the moment to be able to use a subdirectory with Git context
#
# https://github.com/docker/setup-buildx-action
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
with:
# Use the previous version of buildx https://github.com/docker/buildx/releases
# to solve https://github.com/docker/build-push-action/issues/761
version: v0.9.1
# https://github.com/docker/build-push-action
- name: Build and push Docker image with Buildx
id: build-and-push
uses: docker/build-push-action@v3
with:
context: ${{ env.CONTEXT }}
push: true
tags: ${{ steps.meta.outputs.tags }},${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=gha
cache-to: type=gha,mode=max

View file

@ -0,0 +1,68 @@
---
name: Docker Image CI my80-py38-pymysql093
on:
push:
branch:
- main
- lie_tests_using_containers
paths:
- 'test-containers/my80-py38-pymysql093/**'
- '.github/workflows/docker-image-my80-py38-pymysql093.yml'
env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.actor }}/test-container-my80-py38-pymysql093
CONTEXT: test-containers/my80-py38-pymysql093
jobs:
build:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- name: Checkout repository
uses: actions/checkout@v3
# https://github.com/docker/login-action
- name: Log into registry ${{ env.REGISTRY }}
uses: docker/login-action@v2
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
# https://github.com/docker/metadata-action
- name: Extract Docker metadata (tags, labels)
id: meta
uses: docker/metadata-action@v4
with:
images:
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
# Setting up Docker Buildx with docker-container driver is required
# at the moment to be able to use a subdirectory with Git context
#
# https://github.com/docker/setup-buildx-action
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
with:
# Use the previous version of buildx https://github.com/docker/buildx/releases
# to solve https://github.com/docker/build-push-action/issues/761
version: v0.9.1
# https://github.com/docker/build-push-action
- name: Build and push Docker image with Buildx
id: build-and-push
uses: docker/build-push-action@v3
with:
context: ${{ env.CONTEXT }}
push: true
tags: ${{ steps.meta.outputs.tags }},${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=gha
cache-to: type=gha,mode=max

View file

@ -0,0 +1,68 @@
---
name: Docker Image CI my80-py39-mysqlclient203
on:
push:
branch:
- main
- lie_tests_using_containers
paths:
- 'test-containers/my80-py39-mysqlclient203/**'
- '.github/workflows/docker-image-my80-py39-mysqlclient203.yml'
env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.actor }}/test-container-my80-py39-mysqlclient203
CONTEXT: test-containers/my80-py39-mysqlclient203
jobs:
build:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- name: Checkout repository
uses: actions/checkout@v3
# https://github.com/docker/login-action
- name: Log into registry ${{ env.REGISTRY }}
uses: docker/login-action@v2
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
# https://github.com/docker/metadata-action
- name: Extract Docker metadata (tags, labels)
id: meta
uses: docker/metadata-action@v4
with:
images:
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
# Setting up Docker Buildx with docker-container driver is required
# at the moment to be able to use a subdirectory with Git context
#
# https://github.com/docker/setup-buildx-action
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
with:
# Use the previous version of buildx https://github.com/docker/buildx/releases
# to solve https://github.com/docker/build-push-action/issues/761
version: v0.9.1
# https://github.com/docker/build-push-action
- name: Build and push Docker image with Buildx
id: build-and-push
uses: docker/build-push-action@v3
with:
context: ${{ env.CONTEXT }}
push: true
tags: ${{ steps.meta.outputs.tags }},${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=gha
cache-to: type=gha,mode=max

View file

@ -0,0 +1,68 @@
---
name: Docker Image CI my80-py39-pymysql093
on:
push:
branch:
- main
- lie_tests_using_containers
paths:
- 'test-containers/my80-py39-pymysql093/*'
- '.github/workflows/docker-image-my80-py39-pymysql093.yml'
env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.actor }}/test-container-my80-py39-pymysql093
CONTEXT: test-containers/my80-py39-pymysql093
jobs:
build:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- name: Checkout repository
uses: actions/checkout@v3
# https://github.com/docker/login-action
- name: Log into registry ${{ env.REGISTRY }}
uses: docker/login-action@v2
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
# https://github.com/docker/metadata-action
- name: Extract Docker metadata (tags, labels)
id: meta
uses: docker/metadata-action@v4
with:
images:
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
# Setting up Docker Buildx with docker-container driver is required
# at the moment to be able to use a subdirectory with Git context
#
# https://github.com/docker/setup-buildx-action
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
with:
# Use the previous version of buildx https://github.com/docker/buildx/releases
# to solve https://github.com/docker/build-push-action/issues/761
version: v0.9.1
# https://github.com/docker/build-push-action
- name: Build and push Docker image with Buildx
id: build-and-push
uses: docker/build-push-action@v3
with:
context: ${{ env.CONTEXT }}
push: true
tags: ${{ steps.meta.outputs.tags }},${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=gha
cache-to: type=gha,mode=max