1- # Generated from operatorstack/intelligence-flow .
1+ # Boatstack-owned control plane .
22name : Verify Boatstack distribution
33
44on :
@@ -11,11 +11,59 @@ permissions:
1111
1212jobs :
1313 test :
14- runs-on : ubuntu-latest
14+ strategy :
15+ fail-fast : false
16+ matrix :
17+ os : [ubuntu-latest, macos-latest, windows-latest]
18+ runs-on : ${{ matrix.os }}
1519 steps :
1620 - uses : actions/checkout@v4
21+ - name : Detect projected runtime
22+ id : runtime
23+ shell : bash
24+ run : |
25+ if [[ -f boatstack/go.mod ]]; then
26+ echo "go=true" >> "$GITHUB_OUTPUT"
27+ else
28+ echo "go=false" >> "$GITHUB_OUTPUT"
29+ fi
30+ - uses : actions/setup-go@v5
31+ if : steps.runtime.outputs.go == 'true'
32+ with :
33+ go-version-file : boatstack/go.mod
34+ cache-dependency-path : boatstack/go.mod
35+ - run : go test ./...
36+ if : steps.runtime.outputs.go == 'true'
37+ working-directory : boatstack
38+ - run : go build ./cmd/boatstack-helper
39+ if : steps.runtime.outputs.go == 'true'
40+ working-directory : boatstack
1741 - uses : actions/setup-python@v5
42+ if : steps.runtime.outputs.go != 'true'
1843 with :
1944 python-version : " 3.11"
20- - run : python3 -m unittest discover -s tests -v
21- - run : python3 -m compileall -q boatstack
45+ - name : Verify legacy projection during migration
46+ if : steps.runtime.outputs.go != 'true'
47+ env :
48+ PYTHONUTF8 : " 1"
49+ run : python3 -m unittest discover -s tests -v
50+ - name : Compile legacy projection during migration
51+ if : steps.runtime.outputs.go != 'true'
52+ env :
53+ PYTHONUTF8 : " 1"
54+ run : python3 -m compileall -q boatstack
55+ - name : Validate Bash installer
56+ if : steps.runtime.outputs.go == 'true' && runner.os != 'Windows'
57+ shell : bash
58+ run : bash -n install.sh
59+ - name : Validate PowerShell installer
60+ if : steps.runtime.outputs.go == 'true' && runner.os == 'Windows'
61+ shell : pwsh
62+ run : |
63+ $tokens = $null
64+ $errors = $null
65+ [System.Management.Automation.Language.Parser]::ParseFile((Resolve-Path install.ps1), [ref]$tokens, [ref]$errors) > $null
66+ if ($errors.Count -gt 0) {
67+ $errors | ForEach-Object { Write-Error $_ }
68+ exit 1
69+ }
0 commit comments