ubuntu-act/.forgejo/workflows/build.yaml
Marko Korhonen fc24126f69
All checks were successful
Build Docker image / Build image (push) Has been skipped
[skip ci] Update README, add skip ci support for workflow
2024-04-04 08:58:40 +03:00

54 lines
1.7 KiB
YAML

name: Build Docker image
on:
push:
schedule:
- cron: "0 12 * * *"
jobs:
build_image:
name: Build image
runs-on: docker
if: env.SCHEDULED == 'true' || !contains(github.event.commits[0].message, '[skip ci]')
env:
VERSION: 22.04
SCHEDULED: ${{ github.event_name == 'schedule' }}
PUSHED: ${{ github.event_name == 'push' }}
REGISTRY: git.korhonen.cc
REPO: ${{ env.REGISTRY }}/functionalhacker/ubuntu-act
steps:
- name: Check if update available
if: env.SCHEDULED == 'true'
id: check
uses: https://github.com/ClementTsang/docker-check-base-image-diff@v0.0.2
with:
base-image: docker://ghcr.io/catthehacker/ubuntu:act-${{ env.VERSION }}
derived-image: docker://${{ env.REPO }}:latest
- name: Check result
if: env.SCHEDULED == 'true'
run: echo "Needs updating = ${{ steps.check.outputs.differs }}"
- name: Set up Docker Buildx
if: env.PUSHED == 'true' || steps.check.outputs.differs == 'true'
uses: docker/setup-buildx-action@v3
- name: Login to Docker registry
if: env.PUSHED == 'true' || steps.check.outputs.differs == 'true'
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ secrets.REGISTRY_USER }}
password: ${{ secrets.REGISTRY_PASSWORD }}
- name: Build and push image
if: env.PUSHED == 'true' || steps.check.outputs.differs == 'true'
uses: docker/build-push-action@v5
with:
push: true
build-args: VERSION=${{ env.VERSION }}
tags: |
${{ env.REPO }}:latest
${{ env.REPO }}:${{ env.VERSION }}