Skip to content

Build and push images to Quay.io registry #44

Build and push images to Quay.io registry

Build and push images to Quay.io registry #44

name: Build and push images to Quay.io registry
on:
push:
branches:
- master
schedule:
# https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#schedule
# Schedule build to 1:00 each Tuesday
- cron: '0 1 * * 2'
jobs:
build-and-push:
# To not run in forks
if: github.repository_owner == 'sclorg'
name: Build and push s2i containers
runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
include:
- dockerfile: "Dockerfile"
registry_namespace: "centos7"
tag: "centos7"
quayio_username: "QUAY_IMAGE_BUILDER_USERNAME"
quayio_token: "QUAY_IMAGE_BUILDER_TOKEN"
suffix: "-centos7"
- dockerfile: "Dockerfile.c9s"
registry_namespace: "sclorg"
tag: "c9s"
quayio_username: "QUAY_IMAGE_SCLORG_BUILDER_USERNAME"
quayio_token: "QUAY_IMAGE_SCLORG_BUILDER_TOKEN"
suffix: "-c9s"
- dockerfile: "Dockerfile.c8s"
registry_namespace: "sclorg"
tag: "c8s"
quayio_username: "QUAY_IMAGE_SCLORG_BUILDER_USERNAME"
quayio_token: "QUAY_IMAGE_SCLORG_BUILDER_TOKEN"
suffix: "-c8s"
- dockerfile: "Dockerfile.fedora"
registry_namespace: "fedora"
quayio_username: "QUAY_IMAGE_FEDORA_BUILDER_USERNAME"
quayio_token: "QUAY_IMAGE_FEDORA_BUILDER_TOKEN"
steps:
- name: Automatic tag detection for Fedora images
id: tag
shell: bash
run: |
if [[ ${{ matrix.dockerfile }} == "Dockerfile.fedora" ]]
then
_version=`curl https://raw.githubusercontent.com/sclorg/s2i-base-container/master/core/Dockerfile.fedora | grep ^FROM`
_tag=`echo $_version | cut -d: -f2`
else
_tag=${{ matrix.tag }}
fi
echo "tag=${_tag}" >> $GITHUB_OUTPUT
- name: Build and push s2i-core to quay.io registry
uses: sclorg/build-and-push-action@v4
with:
registry: "quay.io"
registry_namespace: ${{ matrix.registry_namespace }}
registry_username: ${{ secrets[matrix.quayio_username] }}
registry_token: ${{ secrets[matrix.quayio_token] }}
dockerfile: "core/${{ matrix.dockerfile }}"
image_name: "s2i-core${{ matrix.suffix }}"
tag: ${{ steps.tag.outputs.tag }}
- name: Build and push s2i-base to quay.io registry
uses: sclorg/build-and-push-action@v4
with:
registry: "quay.io"
registry_namespace: ${{ matrix.registry_namespace }}
registry_username: ${{ secrets[matrix.quayio_username] }}
registry_token: ${{ secrets[matrix.quayio_token] }}
dockerfile: "base/${{ matrix.dockerfile }}"
image_name: "s2i-base${{ matrix.suffix }}"
tag: ${{ steps.tag.outputs.tag }}