Skip to content

Scheduled Monthly

Scheduled Monthly #12

# See LICENSE file in this repo for license details.
name: Scheduled Monthly
on:
schedule:
# ┌───────────── minute (0 - 59)
# │ ┌───────────── hour (0 - 23)
# │ │ ┌───────────── day of the month (1 - 31)
# │ │ │ ┌───────────── month (1 - 12 or JAN-DEC)
# │ │ │ │ ┌───────────── day of the week (0 - 6 or SUN-SAT)
# │ │ │ │ │
# │ │ │ │ │
# │ │ │ │ │
# * * * * *
- cron: "30 4 1 * *"
# Allow workflow to be triggered manually.
# https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows
workflow_dispatch:
jobs:
build_all_images_using_makefile:
name: Build all images using Makefile
runs-on: ubuntu-latest
# Default: 360 minutes
timeout-minutes: 45
steps:
- name: Print Docker version
run: docker --version
- name: Clone full repo history
uses: actions/checkout@v4
with:
# Needed in order to retrieve tags for use with semver calculations
fetch-depth: 0
# Mark the current working directory as a safe directory in git to
# resolve "dubious ownership" complaints.
#
# https://docs.github.com/en/actions/learn-github-actions/variables#default-environment-variables
# https://confluence.atlassian.com/bbkb/git-command-returns-fatal-error-about-the-repository-being-owned-by-someone-else-1167744132.html
# https://github.com/actions/runner-images/issues/6775
# https://github.com/actions/checkout/issues/766
- name: Mark the current working directory as a safe directory in git
# run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
run: git config --global --add safe.directory "${PWD}"
# bsdmainutils provides "column" which is used by the Makefile
- name: Install Ubuntu packages
run: sudo apt-get update && sudo apt-get install -y --no-install-recommends make gcc bsdmainutils
- name: Generate semantic version for project
id: use-git-describe-semver
uses: choffmeister/git-describe-semver@v0.3.11
with:
fallback: v0.0.0
drop-prefix: false
prerelease-prefix: dev
prerelease-suffix: ""
prerelease-timestamped: false
- name: Build images using project Makefile
run: |
export REPO_VERSION=${{ steps.use-git-describe-semver.outputs.version }}
make build
- name: List generated Docker images
run: docker image ls --filter "label=atc0005.go-ci" --format "table {{.Repository}}\t{{.Tag}}\t{{.ID}}\t{{.Size}}"