Use new archive input to rework artifacts. Add runs-on and llvm_version inputs and ubuntu_base output to Lint so it can be passed to the Linux job. Remove broken config input. Upgrade Windows to VS2026.
96 lines
2.6 KiB
YAML
96 lines
2.6 KiB
YAML
name: Orchestrator
|
|
|
|
on:
|
|
push:
|
|
paths-ignore:
|
|
- '*.md'
|
|
- 'docs/**'
|
|
- 'LICENSE'
|
|
pull_request:
|
|
paths-ignore:
|
|
- '*.md'
|
|
- 'docs/**'
|
|
- 'LICENSE'
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
# ===========================================================================
|
|
# Pre-requirements
|
|
# ===========================================================================
|
|
commit-message:
|
|
name: Commit Message Validation
|
|
if: ${{ github.event_name == 'pull_request' }}
|
|
uses: ./.github/workflows/Check_commit_message.yml
|
|
|
|
lint:
|
|
name: Lint
|
|
uses: ./.github/workflows/Lint.yml
|
|
with:
|
|
runs-on: ubuntu-24.04
|
|
llvm_version: 20
|
|
|
|
# Add optional steps here
|
|
|
|
# ===========================================================================
|
|
# Stage 2: Platform builds
|
|
# ===========================================================================
|
|
build-windows:
|
|
name: Windows (x86-64)
|
|
needs: [lint, commit-message]
|
|
if: ${{ !failure() && !cancelled() }}
|
|
uses: ./.github/workflows/Windows_x86.yml
|
|
|
|
build-linux:
|
|
name: Linux (x86-64)
|
|
needs: [lint, commit-message]
|
|
if: ${{ !failure() && !cancelled() }}
|
|
uses: ./.github/workflows/Linux_x86.yml
|
|
with:
|
|
runs-on: ${{ needs.lint.outputs.runs-on }}
|
|
llvm_version: ${{ needs.lint.outputs.llvm_version }}
|
|
ubuntu_base: ${{ needs.lint.outputs.ubuntu_base }}
|
|
|
|
# Uncomment when platform support is ready:
|
|
# build-windows-arm64:
|
|
# name: Windows-ARM64
|
|
# needs: [lint]
|
|
# uses: ./.github/workflows/build-win_arm64.yml
|
|
|
|
# build-linux-arm64:
|
|
# name: Linux-ARM64
|
|
# needs: [lint]
|
|
# uses: ./.github/workflows/build-linux_arm64.yml
|
|
|
|
# build-macos:
|
|
# name: macOS
|
|
# needs: [lint]
|
|
# uses: ./.github/workflows/build-macos.yml
|
|
|
|
# build-android:
|
|
# name: Android
|
|
# needs: [lint]
|
|
# uses: ./.github/workflows/build-android.yml
|
|
|
|
# ===========================================================================
|
|
# Stage 3: Release
|
|
# ===========================================================================
|
|
release:
|
|
name: Create Release
|
|
needs: [build-windows, build-linux]
|
|
if: |-
|
|
always() &&
|
|
github.repository == 'xenia-canary/xenia-canary' &&
|
|
github.event_name == 'push' &&
|
|
github.ref == 'refs/heads/canary_experimental' &&
|
|
(needs.build-windows.result == 'success' && needs.build-linux.result == 'success')
|
|
uses: ./.github/workflows/Create_release.yml
|
|
permissions:
|
|
contents: write
|
|
secrets: inherit
|
|
with:
|
|
tag: ${{ github.sha }}
|
|
branch: ${{ github.ref_name }}
|