Skip to content

Build

Build #4

Workflow file for this run

name: Build
on:
workflow_dispatch:
inputs:
machine:
description: 'Host to build for'
required: true
type: choice
options:
- 'macos-12'
- 'macos-14-arm64'
- 'debian-arm64-latest'
jobs:
filter:
name: Select Build Host (${{ matrix.display-name }})
runs-on: ubuntu-latest
strategy:
matrix:
include:
- machine: 'macos-12'
os: 'darwin'
arch: 'x86_64'
display-name: macOS x86_64
- machine: 'macos-14-arm64'
os: 'darwin'
arch: 'arm64'
display-name: macOS ARM64
- machine: 'debian-arm64-latest'
os: 'linux'
arch: 'aarch64'
display-name: Linux ARM64
outputs:
machine: ${{ steps.set-output.outputs.machine }}
os: ${{ steps.set-output.outputs.os }}
arch: ${{ steps.set-output.outputs.arch }}
display-name: ${{ steps.set-output.outputs.display-name }}
enable: ${{ steps.set-output.outputs.enable }}
steps:
- name: Set Output
id: set-output
run: |
echo "machine=${{ matrix.machine }}" >> $GITHUB_OUTPUT
echo "os=${{ matrix.os }}" >> $GITHUB_OUTPUT
echo "arch=${{ matrix.arch }}" >> $GITHUB_OUTPUT
echo "display-name=${{ matrix.display-name }}" >> $GITHUB_OUTPUT
echo "enable=${{ matrix.machine == github.event.inputs.machine }}" >> $GITHUB_OUTPUT
shell: bash
build:
name: Build for ${{ needs.filter.outputs.display-name }}
needs: filter
if: ${{ needs.filter.outputs.enable == 'true' }}
runs-on: ${{ needs.filter.outputs.machine }}
steps:
- uses: actions/checkout@v4
- name: Build Toolchain
uses: './.github/actions/build-toolchain'
with:
machine: ${{ needs.filter.outputs.machine }}
os: ${{ needs.filter.outputs.os }}
arch: ${{ needs.filter.outputs.arch }}