Build for linux
Some checks failed
Publish Builder Images / setup (push) Successful in 41s
Publish Builder Images / build-base (push) Failing after 24s
Publish Builder Images / build-targets (Dockerfile.linux, linux) (push) Has been skipped
Publish Builder Images / build-targets (Dockerfile.windows, windows) (push) Has been skipped

This commit is contained in:
2025-12-03 18:29:00 +01:00
parent 513d6efc25
commit f80308b565
7 changed files with 156 additions and 122 deletions

View File

@ -3,20 +3,30 @@ on:
push:
paths:
- 'Dockerfile.*'
- '*.sh'
- 'workflows/scripts/*.sh'
jobs:
# JOB 1: Handles the Fedora Base
# JOB 1: Setup & Calculate Short SHA
setup:
runs-on: ubuntu-latest
steps:
- name: Set Short SHA
run: echo "SHORT_SHA=${GITHUB_SHA::7}" >> $GITHUB_ENV
outputs:
short_sha: ${{ env.SHORT_SHA }}
# JOB 2: Build Base (Cached)
build-base:
needs: setup
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Make scripts executable
run: chmod +x *.sh
run: chmod +x workflows/scripts/*.sh
- name: Build/Cache Base
- name: Build Base
uses: docker://quay.io/buildah/stable
env:
USERNAME: ${{ gitea.repository_owner }}
@ -24,28 +34,36 @@ jobs:
REGISTRY: gitea.212.63.210.91.nip.io
with:
entrypoint: /bin/sh
args: ./build-base.sh
args: workflows/scripts/build-base.sh
# JOB 2: Handles the Windows Builder
# Only runs if Base succeeds.
build-windows:
needs: build-base
# JOB 3: Build Targets (Matrix)
build-targets:
needs: [setup, build-base]
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- name: windows
dockerfile: Dockerfile.windows
- name: linux
dockerfile: Dockerfile.linux
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Make scripts executable
run: chmod +x *.sh
- name: Build Windows Target
run: chmod +x workflows/scripts/*.sh
- name: Build ${{ matrix.name }}
uses: docker://quay.io/buildah/stable
env:
USERNAME: ${{ gitea.repository_owner }}
PASSWORD: ${{ secrets.USER_PACKAGE_PASSWORD }}
REGISTRY: gitea.212.63.210.91.nip.io
# We pass the Git SHA here for the final image tag
TAG: ${{ gitea.sha }}
TAG: ${{ needs.setup.outputs.short_sha }}
with:
entrypoint: /bin/sh
args: ./build-windows.sh
# Pass the matrix variables to our generic script
args: -c "./workflows/scripts/build-target.sh ${{ matrix.name }} ${{ matrix.dockerfile }}"