Repository navigation
67 lines (67 loc) · 2.11 KB
/
Copy pathci.yml
File metadata and controls
67 lines (67 loc) · 2.11 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# Layer 0 Static Verify
on:
push:
branches: [master]
pull_request:
branches: [master]
jobs:
static-check:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@v4
with:
lfs: true
- name: Run T0 static verify
shell: pwsh
run: pwsh .opencode/tests/T0-static-verify.ps1
- name: LFS integrity check (git archive smoke test)
shell: bash
run: |
git lfs fsck 2>&1 | grep -v "should have been a pointer" || true
git archive --format=tar HEAD >/dev/null || { echo "::error::git archive failed: LFS objects missing"; exit 1; }
verify:
runs-on: ubuntu-latest
needs: static-check
permissions:
contents: read
steps:
- uses: actions/checkout@v4
- name: Run image anchor verify
shell: pwsh
run: pwsh scripts/verify-images.ps1
- name: Run T1 consistency check
shell: pwsh
run: pwsh .opencode/tests/T1-readme-consistency.ps1
longloop-syntax:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
permissions:
contents: read
steps:
- uses: actions/checkout@v4
with:
lfs: true
- name: PowerShell syntax check (longloop scripts)
shell: pwsh
run: |
$errs = $null
foreach ($f in @("longloop/long-loop.ps1", "longloop/bootstrap.ps1")) {
$e = $null
[void][System.Management.Automation.Language.Parser]::ParseFile((Join-Path $PWD $f), [ref]$null, [ref]$e)
if ($e.Count -gt 0) {
Write-Host "::error::$f - $($e.Count) syntax errors"
$e | ForEach-Object { Write-Host " $($_.Message) (line $($_.Extent.StartLineNumber))" }
$errs += $e.Count
}
}
if ($errs) { exit 1 }
Write-Host "longloop PS syntax OK"
- name: Node syntax check (moa-loop MCP)
run: node --check longloop/server.js
- name: Bash syntax check (install.sh)
if: runner.os != 'Windows'
run: bash -n install.sh