--- 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 . ...