Files
gitea-debian-runner/.github/workflows/build-images.yml
T

67 lines
2.7 KiB
YAML

name: Daily build
on:
schedule:
- cron: 0 */6 * * *
push:
pull_request:
workflow_dispatch:
jobs:
act-base:
name: Build base docker images for act
runs-on: ubuntu-latest
strategy:
fail-fast: false
max-parallel: 4
matrix:
DISTRIB_ID: [ubuntu]
DISTRIB_RELEASE: [latest, 20.04, 18.04, 16.04]
IMAGE_TYPE: [nodejs, runner]
NODE_VERSION: ['12']
steps:
- uses: actions/checkout@v2
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Login to GitHub Container Registry
if: ${{ github.event_name != 'pull_request' && github.event_name != 'push' }}
uses: docker/login-action@v1
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GHCR_TOKEN }}
- name: Check which version is currently `ubuntu-latest`
id: ubuntu_latest
if: ${{ matrix.DISTRIB_RELEASE == 'latest' }}
run: echo "::set-output name=UBUNTU_LATEST::$(lsb_release -sr)"
- name: Build and push ${{ matrix.DISTRIB_ID }}-${{ matrix.IMAGE_TYPE }}-${{ matrix.DISTRIB_RELEASE }} image
id: docker_build_version
uses: docker/build-push-action@v2
if: ${{ matrix.DISTRIB_RELEASE != 'latest' }}
with:
context: .
push: ${{ github.event_name != 'pull_request' && github.event_name != 'push' }}
file: ./linux/${{ matrix.DISTRIB_ID }}/${{ matrix.IMAGE_TYPE }}/Dockerfile
platforms: linux/amd64,linux/arm64
tags: ghcr.io/catthehacker/docker-images:${{ matrix.DISTRIB_ID }}-${{ matrix.IMAGE_TYPE }}-${{ matrix.DISTRIB_RELEASE }}
build-args: |
DISTRIB_ID=${{ matrix.DISTRIB_ID }}
DISTRIB_RELEASE=${{ matrix.DISTRIB_RELEASE }}
NODE_VERSION=${{ matrix.NODE_VERSION }}
- name: Build and push ${{ matrix.DISTRIB_ID }}-${{ matrix.IMAGE_TYPE }}-latest image
id: docker_build_latest
uses: docker/build-push-action@v2
if: ${{ matrix.DISTRIB_RELEASE == 'latest' }}
with:
context: .
push: ${{ github.event_name != 'pull_request' && github.event_name != 'push' }}
file: ./linux/${{ matrix.DISTRIB_ID }}/${{ matrix.IMAGE_TYPE }}/Dockerfile
platforms: linux/amd64,linux/arm64
tags: ghcr.io/catthehacker/docker-images:${{ matrix.DISTRIB_ID }}-${{ matrix.IMAGE_TYPE }}-latest
build-args: |
DISTRIB_ID=${{ matrix.DISTRIB_ID }}
DISTRIB_RELEASE=${{ steps.ubuntu_latest.outputs.UBUNTU_LATEST }}
NODE_VERSION=${{ matrix.NODE_VERSION }}