Add .forgejo/workflows/docker-build.yml #2

Merged
holzi1005 merged 2 commits from holzi1005-patch-1 into main 2025-06-22 14:34:16 +02:00
2 changed files with 53 additions and 30 deletions

View file

@ -36,38 +36,22 @@ jobs:
git tag "${{ steps.version.outputs.version }}" -m "[forgejo-action-tag]"
git push origin --tags
docker-build:
webserver:
runs-on: host
needs:
- release
strategy:
matrix:
repo:
- alpine-php8-webserver
- alpine-php8-cron-webserver
needs: release
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Build Webserver
uses: ./.github/workflows/docker-build.yml
with:
github-server-url: https://git.h2-invent.com
repository: Public-System-Design/${{ matrix.repo }}
ref: main
path: ${{ matrix.repo }}
repo_name: alpine-php8-webserver
version: ${{ needs.release.outputs.version }}
- name: Login to Docker Hub
uses: docker/login-action@v3
cron:
runs-on: host
needs: webserver
steps:
- name: Build Cron-Webserver
uses: ./.github/workflows/docker-build.yml
with:
registry: git.h2-invent.com
username: ${{ secrets.FORGEJO_ACTION_PACKAGE_RW_USER }}
password: ${{ secrets.FORGEJO_ACTION_PACKAGE_RW_KEY }}
- name: Build and push
uses: docker/build-push-action@v6
with:
context: ./${{ matrix.repo }}
push: true
tags: |
git.h2-invent.com/public-system-design/${{ matrix.repo }}:${{ needs.release.outputs.version }}
git.h2-invent.com/public-system-design/${{ matrix.repo }}:latest
build-args: |
VERSION=${{ needs.release.outputs.version }}
repo_name: alpine-php8-cron-webserver
version: ${{ needs.release.outputs.version }}

View file

@ -0,0 +1,39 @@
name: Build and Push Image
description: Builds and pushes a Docker image.
inputs:
repo_name:
description: "Name of the repo (also used as build context path)"
required: true
version:
description: "Version tag"
required: true
runs:
using: "composite"
steps:
- name: Checkout Repository
uses: actions/checkout@v4
with:
github-server-url: https://git.h2-invent.com
repository: Public-System-Design/${{ inputs.repo_name }}
ref: main
path: ${{ inputs.repo_name }}
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
registry: git.h2-invent.com
username: ${{ secrets.FORGEJO_ACTION_PACKAGE_RW_USER }}
password: ${{ secrets.FORGEJO_ACTION_PACKAGE_RW_KEY }}
- name: Build and push Docker image
uses: docker/build-push-action@v6
with:
context: ./${{ inputs.repo_name }}
push: true
tags: |
git.h2-invent.com/public-system-design/${{ inputs.repo_name }}:${{ inputs.version }}
git.h2-invent.com/public-system-design/${{ inputs.repo_name }}:latest
build-args: |
VERSION=${{ inputs.version }}