Skip to content

Update Container Images #1669

Update Container Images

Update Container Images #1669

Workflow file for this run

name: Update Container Images
on:
schedule:
- cron: '0 2 * * *'
jobs:
build-and-push:
runs-on: ubuntu-latest
env:
DOCKER_BUILDX_OUTPUT: --push
DOCKER_BUILDX_PLATFORM: linux/amd64,linux/arm64
strategy:
fail-fast: false
matrix:
include:
# dev
- day_of_week: '*'
branch: '18.x'
push_major: 'true'
- day_of_week: '*'
branch: '17.x'
push_major: 'false'
- day_of_week: '*'
branch: '16.x'
push_major: 'false'
# stable
- day_of_week: '0'
branch: '17.1'
push_major: 'true'
additional_tags: 'latest'
- day_of_week: '1'
branch: '17.0'
push_major: 'false'
- day_of_week: '2'
branch: '17.0'
push_major: 'false'
- day_of_week: '3'
branch: '17.0'
push_major: 'false'
# legacy
- day_of_week: '4'
branch: '16.9'
push_major: 'true'
- day_of_week: '5'
branch: '16.8'
push_major: 'false'
- day_of_week: '6'
branch: '16.7'
push_major: 'false'
steps:
- uses: actions/checkout@v4
with:
ref: ${{ matrix.branch }}
- name: set up Docker buildx
uses: docker/setup-buildx-action@v3
with:
platforms: ${{ env.DOCKER_BUILDX_PLATFORM }}
- name: set up OCI registry
uses: docker/login-action@v3
with:
registry: quay.io
username: ${{ secrets.QUAY_ROBOT_USERNAME }}
password: ${{ secrets.QUAY_ROBOT_PASSWORD }}
- name: build and push container images
run: |
if [ "${{ matrix.day_of_week }}" != "*" ]; then
if [ "${{ matrix.day_of_week }}" != $(date "+%w") ]; then
echo "Not scheduled for today; done"
exit
fi
fi
IMAGE_TAGS="$(cat VERSION)"
if [ "${{ matrix.push_major }}" = 'true' ]; then
IMAGE_TAGS="${IMAGE_TAGS} $(cat VERSION_MAJOR)"
fi
if [ -n "${{ matrix.additional_tags }}" ]; then
IMAGE_TAGS="${IMAGE_TAGS} ${{ matrix.additional_tags }}"
fi
BUILD_DATE=$(date -u +"%Y-%m-%dT%TZ")
# retry once
for i in $(seq 1 2); do
make \
BUILD_DATE="${BUILD_DATE}" \
IMAGE_TAGS="${IMAGE_TAGS}" \
DOCKER_BUILDX_PLATFORM="${DOCKER_BUILDX_PLATFORM}" \
DOCKER_BUILDX_OUTPUT="${DOCKER_BUILDX_OUTPUT}" \
build \
&& break
done