mirror of
https://github.com/ansible-collections/community.mysql.git
synced 2025-07-23 05:10:24 -07:00
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.
68 lines
2 KiB
YAML
68 lines
2 KiB
YAML
---
|
|
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
|