diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 82a7c29..1169d49 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -105,11 +105,11 @@ jobs: uses: swatinem/rust-cache@v2 - name: Setup local MUSL linker dependencies - if: matrix.os == 'ubuntu-latest' && !matrix.use_cross + if: ${{ matrix.os == 'ubuntu-latest' && !matrix.use_cross }} run: sudo apt-get update && sudo apt-get install -y musl-tools - name: Execute Standard Native Compilation - if: !matrix.use_cross + if: ${{ !matrix.use_cross }} run: cargo build --release --target ${{ matrix.target }} --bin ostp - name: Execute Specialized Cross-Compilation diff --git a/scripts/build.ps1 b/scripts/build.ps1 index 0c227cb..42dcc81 100644 --- a/scripts/build.ps1 +++ b/scripts/build.ps1 @@ -1,6 +1,7 @@ # OSTP High-Performance Cross-Platform Build & Release Pipeline param( - [switch]$Flatten # Consolidate raw uncompressed binaries with arch suffixes under dist/release/ + [switch]$Flatten, # Consolidate raw uncompressed binaries with arch suffixes under dist/release/ + [switch]$TriggerOnly # Bypasses all local builds to instantly execute global cloud CI/CD tag injection ) $ProjectRoot = Split-Path -Parent $PSScriptRoot @@ -39,6 +40,11 @@ New-Item -ItemType Directory -Force -Path $DistDir | Out-Null # Collection for dynamically mapping successful build archives $ReleaseArchives = @() +# --------------------------------------------------------------------- +# CONDITIONAL BUILD SUITE execution +# --------------------------------------------------------------------- +if (-not $TriggerOnly) { + # --------------------------------------------------------------------- # PHASE 1: WINDOWS COMPILATION MATRIX (Native Host) # --------------------------------------------------------------------- @@ -177,6 +183,10 @@ if ($ReleaseArchives.Count -gt 0) { exit 1 } +} else { + Write-Output "`n--> [TRIGGER ONLY MODE] Bypassing all local compilations as requested." +} + # --------------------------------------------------------------------- # PHASE 3: TRIGGER GLOBAL CI/CD RELEASE PIPELINE (Via Git Tag) # ---------------------------------------------------------------------