Skip to content

Manual Build

Manual Build #15

Workflow file for this run

---
name: Manual Build
on:
workflow_dispatch:
inputs:
target:
description: 'Target to build'
required: true
type: string
skip-arch:
description: 'Skip architecture'
default: None
type: choice
options:
- None
- Intel
- ARM
runner-os:
description: 'Runner macOS version'
default: macos-13
type: choice
options:
- macos-11
- macos-12
- macos-13
- macos-14
min-os-ver-intel:
description: 'macOS deployment version for Intel'
type: string
min-os-ver-arm:
description: 'macOS deployment version for ARM'
type: string
verbose:
description: 'Verbose build output'
type: boolean
hack-static-moltenvk:
description: 'Link with static MoltenVK library'
type: boolean
hack-quasi-glib:
description: 'Link with QuasiGlib library'
type: boolean
jobs:
build:
name: ${{ inputs.target }}
runs-on: ${{ inputs.runner-os }}
steps:
- uses: actions/checkout@v4
- name: Build target
run: |
BUILD_CMDLINE="./build.py --target=${{ inputs.target }}"
if [ "${{ inputs.skip-arch }}" == 'Intel' ]; then
BUILD_CMDLINE+=' --disable-x64'
elif [ "${{ inputs.skip-arch }}" == 'ARM' ]; then
BUILD_CMDLINE+=' --disable-arm'
fi
if [ -n "${{ inputs.min-os-ver-intel }}" ]; then
BUILD_CMDLINE+=" --os-version-x64=${{ inputs.min-os-ver-intel }}"
fi
if [ -n "${{ inputs.min-os-ver-arm }}" ]; then
BUILD_CMDLINE+=" --os-version-arm=${{ inputs.min-os-ver-arm }}"
fi
if [ "${{ inputs.hack-static-moltenvk }}" == 'true' ]; then
BUILD_CMDLINE+=' --static-moltenvk'
fi
if [ "${{ inputs.hack-quasi-glib }}" == 'true' ]; then
BUILD_CMDLINE+=' --quasi-glib'
fi
if [ "${{ inputs.verbose }}" == 'true' ]; then
BUILD_CMDLINE+=' --verbose'
fi
echo "Build command line:"
echo "> ${BUILD_CMDLINE}"
${BUILD_CMDLINE}
- name: Upload Package
uses: actions/upload-artifact@v4
with:
name: ${{ inputs.target }}
path: |
deps/${{ inputs.target }}
output/${{ inputs.target }}
if-no-files-found: ignore
- name: List Build Directory
if: always()
shell: bash
run: |
git status
ls -lR .
...