forgejo-asciidoc/.forgejo/workflows/build.yaml
Marko Korhonen a1091f2a6f
All checks were successful
/ Build image (push) Has been skipped
[skip ci] Add skip ci support for workflow
2024-04-04 08:52:00 +03:00

65 lines
2.6 KiB
YAML

on:
push:
schedule:
- cron: "0 0 * * *"
jobs:
build_image:
name: Build image
if: "!contains(github.event.commits[0].message, '[skip ci]')"
env:
FORGEJO_VERSION: 1.21
SCHEDULED: ${{ github.event_name == 'schedule' }}
PUSHED: ${{ github.event_name == 'push' }}
REGISTRY: git.korhonen.cc
REPO: ${{ env.REGISTRY }}/functionalhacker/forgejo-asciidoc
UPSTREAM: docker://codeberg.org/forgejo/forgejo
runs-on: docker
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: ${{ env.UPSTREAM }}:${{ env.FORGEJO_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: Get point release
id: point_release
if: env.PUSHED == 'true' || steps.check.outputs.differs == 'true'
run: |
VERSION="$(skopeo list-tags ${{ env.UPSTREAM }} | jq -r '.Tags | last' | cut -d '-' -f 1)"
echo "Point release: $VERSION"
echo "version=$VERSION" >> $GITHUB_OUTPUT
- 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: FORGEJO_VERSION=${{ env.FORGEJO_VERSION }}
tags: |
${{ env.REPO }}:latest
${{ env.REPO }}:${{ env.FORGEJO_VERSION }}
${{ env.REPO }}:${{ steps.point_release.outputs.version }}
- name: Notify in Telegram channel
if: env.PUSHED == 'true' || steps.check.outputs.differs == 'true'
uses: https://github.com/appleboy/telegram-action@master
with:
to: "-1001915202306"
token: ${{ secrets.TELEGRAM_TOKEN }}
message: |
forgejo-asciidoc v${{ steps.point_release.outputs.version }} has just been built. docker pull away!
See details: https://git.korhonen.cc/FunctionalHacker/-/packages/container/forgejo-asciidoc/latest