Build container images #19
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
name: Build container images | |
on: | |
push: | |
branches: | |
- main | |
schedule: | |
# Basically picked at random to try and be a low-load time for GitHub Actions | |
- cron: '20 3 * * 0' | |
workflow_dispatch: | |
jobs: | |
get-ubuntu-versions: | |
runs-on: ubuntu-latest | |
outputs: | |
versions: ${{ steps.versions.outputs.versions }} | |
steps: | |
- name: Query Launchpad API for active and supported Ubuntu versions | |
id: versions | |
# This command actually grabs Ubuntu ESM-supported releases too, but the Launchpad API doesn't give a way to differentiate these out so who cares | |
run: curl https://api.launchpad.net/devel/ubuntu/series | jq '.entries[] | select(.supported == true and .active == true) | .version' | tr '\n' ' ' | sed -e 's/^/versions=[/' -e 's/ $/]/' -e 's/ /, /g' >> "$GITHUB_OUTPUT" | |
build-push-images: | |
runs-on: ubuntu-latest | |
needs: get-ubuntu-versions | |
strategy: | |
matrix: | |
version: ${{ fromJSON(needs.get-ubuntu-versions.outputs.versions) }} | |
steps: | |
- name: Log in to GitHub Container Registry | |
uses: redhat-actions/podman-login@v1 | |
with: | |
username: ${{ github.actor }} | |
password: ${{ github.token }} | |
# TODO use {{ github.repository_owner }} when https://github.com/redhat-actions/podman-login/issues/44 is fixed | |
registry: ghcr.io/seagl | |
- name: Checkout Repo | |
uses: actions/checkout@v1 | |
- name: Build and push container images | |
if: github.ref == 'refs/heads/main' && github.event_name == 'push' | |
run: ./build-and-push.sh ${{ matrix.version }} |