From 095ed0ad2e4a49cdde42ae94c3a1b6a696ac9869 Mon Sep 17 00:00:00 2001 From: Laurent Indermuehle Date: Mon, 23 Jan 2023 09:18:36 +0100 Subject: [PATCH] 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. --- ...r-image-mariadb103-py38-mysqlclient201.yml | 68 +++++++++++++++++++ ...ocker-image-mariadb103-py38-pymysql093.yml | 68 +++++++++++++++++++ ...r-image-mariadb103-py39-mysqlclient203.yml | 68 +++++++++++++++++++ ...ocker-image-mariadb103-py39-pymysql093.yml | 68 +++++++++++++++++++ ...-image-mariadb106-py310-mysqlclient211.yml | 68 +++++++++++++++++++ ...cker-image-mariadb106-py310-pymysql102.yml | 68 +++++++++++++++++++ ...docker-image-my57-py38-mysqlclient201.yml} | 23 +++---- .../docker-image-my57-py38-pymysql0711.yml | 68 +++++++++++++++++++ .../docker-image-my57-py38-pymysql093.yml | 68 +++++++++++++++++++ ...docker-image-my80-py310-mysqlclient211.yml | 68 +++++++++++++++++++ .../docker-image-my80-py310-pymysql102.yml | 68 +++++++++++++++++++ .../docker-image-my80-py38-mysqlclient201.yml | 68 +++++++++++++++++++ .../docker-image-my80-py38-pymysql093.yml | 68 +++++++++++++++++++ .../docker-image-my80-py39-mysqlclient203.yml | 68 +++++++++++++++++++ .../docker-image-my80-py39-pymysql093.yml | 68 +++++++++++++++++++ 15 files changed, 960 insertions(+), 15 deletions(-) create mode 100644 .github/workflows/docker-image-mariadb103-py38-mysqlclient201.yml create mode 100644 .github/workflows/docker-image-mariadb103-py38-pymysql093.yml create mode 100644 .github/workflows/docker-image-mariadb103-py39-mysqlclient203.yml create mode 100644 .github/workflows/docker-image-mariadb103-py39-pymysql093.yml create mode 100644 .github/workflows/docker-image-mariadb106-py310-mysqlclient211.yml create mode 100644 .github/workflows/docker-image-mariadb106-py310-pymysql102.yml rename .github/workflows/{docker-image.yml => docker-image-my57-py38-mysqlclient201.yml} (73%) create mode 100644 .github/workflows/docker-image-my57-py38-pymysql0711.yml create mode 100644 .github/workflows/docker-image-my57-py38-pymysql093.yml create mode 100644 .github/workflows/docker-image-my80-py310-mysqlclient211.yml create mode 100644 .github/workflows/docker-image-my80-py310-pymysql102.yml create mode 100644 .github/workflows/docker-image-my80-py38-mysqlclient201.yml create mode 100644 .github/workflows/docker-image-my80-py38-pymysql093.yml create mode 100644 .github/workflows/docker-image-my80-py39-mysqlclient203.yml create mode 100644 .github/workflows/docker-image-my80-py39-pymysql093.yml diff --git a/.github/workflows/docker-image-mariadb103-py38-mysqlclient201.yml b/.github/workflows/docker-image-mariadb103-py38-mysqlclient201.yml new file mode 100644 index 0000000..841592c --- /dev/null +++ b/.github/workflows/docker-image-mariadb103-py38-mysqlclient201.yml @@ -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 diff --git a/.github/workflows/docker-image-mariadb103-py38-pymysql093.yml b/.github/workflows/docker-image-mariadb103-py38-pymysql093.yml new file mode 100644 index 0000000..326e8cc --- /dev/null +++ b/.github/workflows/docker-image-mariadb103-py38-pymysql093.yml @@ -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 diff --git a/.github/workflows/docker-image-mariadb103-py39-mysqlclient203.yml b/.github/workflows/docker-image-mariadb103-py39-mysqlclient203.yml new file mode 100644 index 0000000..cd601a6 --- /dev/null +++ b/.github/workflows/docker-image-mariadb103-py39-mysqlclient203.yml @@ -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 diff --git a/.github/workflows/docker-image-mariadb103-py39-pymysql093.yml b/.github/workflows/docker-image-mariadb103-py39-pymysql093.yml new file mode 100644 index 0000000..c57e132 --- /dev/null +++ b/.github/workflows/docker-image-mariadb103-py39-pymysql093.yml @@ -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 diff --git a/.github/workflows/docker-image-mariadb106-py310-mysqlclient211.yml b/.github/workflows/docker-image-mariadb106-py310-mysqlclient211.yml new file mode 100644 index 0000000..10098ce --- /dev/null +++ b/.github/workflows/docker-image-mariadb106-py310-mysqlclient211.yml @@ -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 diff --git a/.github/workflows/docker-image-mariadb106-py310-pymysql102.yml b/.github/workflows/docker-image-mariadb106-py310-pymysql102.yml new file mode 100644 index 0000000..28999eb --- /dev/null +++ b/.github/workflows/docker-image-mariadb106-py310-pymysql102.yml @@ -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 diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image-my57-py38-mysqlclient201.yml similarity index 73% rename from .github/workflows/docker-image.yml rename to .github/workflows/docker-image-my57-py38-mysqlclient201.yml index 093a44a..c987f1d 100644 --- a/.github/workflows/docker-image.yml +++ b/.github/workflows/docker-image-my57-py38-mysqlclient201.yml @@ -1,5 +1,5 @@ --- -name: Docker Image CI +name: Docker Image CI my57-py38-mysqlclient201 on: push: @@ -7,13 +7,13 @@ on: - main - lie_tests_using_containers paths: - - 'test-containers/**' - - '.github/workflows/docker-image.yml' + - 'test-containers/my57-py38-mysqlclient201/**' + - '.github/workflows/docker-image-my57-py38-mysqlclient201.yml' env: REGISTRY: ghcr.io - IMAGE_NAME: ${{ github.actor }}/test-container- - CONTEXT: test-containers + IMAGE_NAME: ${{ github.actor }}/test-container-my57-py38-mysqlclient201 + CONTEXT: test-containers/my57-py38-mysqlclient201 jobs: @@ -26,13 +26,6 @@ jobs: strategy: matrix: 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-pymysql093 - subfolder: my80-py310-mysqlclient211 @@ -60,7 +53,7 @@ jobs: uses: docker/metadata-action@v4 with: images: - ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}${{ matrix.subfolder }} + ${{ 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 @@ -78,9 +71,9 @@ jobs: id: build-and-push uses: docker/build-push-action@v3 with: - context: ${{ env.CONTEXT }}/${{ matrix.subfolder }} + context: ${{ env.CONTEXT }} 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 }} cache-from: type=gha cache-to: type=gha,mode=max diff --git a/.github/workflows/docker-image-my57-py38-pymysql0711.yml b/.github/workflows/docker-image-my57-py38-pymysql0711.yml new file mode 100644 index 0000000..93f3d24 --- /dev/null +++ b/.github/workflows/docker-image-my57-py38-pymysql0711.yml @@ -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 diff --git a/.github/workflows/docker-image-my57-py38-pymysql093.yml b/.github/workflows/docker-image-my57-py38-pymysql093.yml new file mode 100644 index 0000000..b447915 --- /dev/null +++ b/.github/workflows/docker-image-my57-py38-pymysql093.yml @@ -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 diff --git a/.github/workflows/docker-image-my80-py310-mysqlclient211.yml b/.github/workflows/docker-image-my80-py310-mysqlclient211.yml new file mode 100644 index 0000000..075c82f --- /dev/null +++ b/.github/workflows/docker-image-my80-py310-mysqlclient211.yml @@ -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 diff --git a/.github/workflows/docker-image-my80-py310-pymysql102.yml b/.github/workflows/docker-image-my80-py310-pymysql102.yml new file mode 100644 index 0000000..7590d07 --- /dev/null +++ b/.github/workflows/docker-image-my80-py310-pymysql102.yml @@ -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 diff --git a/.github/workflows/docker-image-my80-py38-mysqlclient201.yml b/.github/workflows/docker-image-my80-py38-mysqlclient201.yml new file mode 100644 index 0000000..2b1c625 --- /dev/null +++ b/.github/workflows/docker-image-my80-py38-mysqlclient201.yml @@ -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 diff --git a/.github/workflows/docker-image-my80-py38-pymysql093.yml b/.github/workflows/docker-image-my80-py38-pymysql093.yml new file mode 100644 index 0000000..7302ad0 --- /dev/null +++ b/.github/workflows/docker-image-my80-py38-pymysql093.yml @@ -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 diff --git a/.github/workflows/docker-image-my80-py39-mysqlclient203.yml b/.github/workflows/docker-image-my80-py39-mysqlclient203.yml new file mode 100644 index 0000000..b1790e1 --- /dev/null +++ b/.github/workflows/docker-image-my80-py39-mysqlclient203.yml @@ -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 diff --git a/.github/workflows/docker-image-my80-py39-pymysql093.yml b/.github/workflows/docker-image-my80-py39-pymysql093.yml new file mode 100644 index 0000000..6a7f463 --- /dev/null +++ b/.github/workflows/docker-image-my80-py39-pymysql093.yml @@ -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