Scheduled Monthly #9
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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@v3 | |
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/[email protected] | |
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}}" |