Skip to content

Commit 1c3e413

Browse files
committed
ci(e2e): build the standalone Zig FFI surface (no cross-org bridge)
The E2E/Bench jobs ran the default build.zig, which compiles the full Idris2->RefC->Zig pipeline and pulls in idris2_zig_ffi via a Zig .path dependency on the private, sibling-checkout-only repo nextgen-languages/language-bridges. CI never provides that path, so `zig build` failed at dependency resolution (the ~19s failure, once the toolchain install was fixed). Point both jobs at build_standalone.zig, which builds src/main.zig only (the pure-Zig C-ABI surface: proven_init, proven_path_has_traversal, proven_header_has_crlf, ...) with no Idris/RefC or external dependency. Verified src/main.zig imports only std + builtin, so it compiles standalone. Output is libproven_ffi.a (glob updated accordingly). Scope note: this exercises the Zig FFI build + unit tests, not the full Idris->Zig integration. The full pipeline is deferred until the private language-bridges repo is provisioned (submodule + CI credential). https://claude.ai/code/session_01MN5vzRR4MK2dkDNaHqqRDy
1 parent 75399d6 commit 1c3e413

1 file changed

Lines changed: 10 additions & 6 deletions

File tree

.github/workflows/e2e.yml

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -47,14 +47,18 @@ jobs:
4747
with:
4848
version: '0.15.2'
4949

50-
- name: Build FFI
51-
run: cd ffi/zig && zig build
50+
# Build the standalone pure-Zig FFI surface (src/main.zig only) -- no
51+
# Idris2 RefC / idris2_zig_ffi dependency. The full Idris->RefC->Zig
52+
# pipeline needs the private nextgen-languages/language-bridges repo,
53+
# which CI cannot fetch as a path dependency; see PR #149.
54+
- name: Build FFI (standalone Zig surface)
55+
run: cd ffi/zig && zig build --build-file build_standalone.zig
5256

53-
- name: Run FFI integration tests
54-
run: cd ffi/zig && zig build test
57+
- name: Run FFI tests (standalone)
58+
run: cd ffi/zig && zig build test --build-file build_standalone.zig
5559

5660
- name: Verify library output
57-
run: ls -la ffi/zig/zig-out/lib/libproven.* || echo "Library output check"
61+
run: ls -la ffi/zig/zig-out/lib/libproven_ffi.* || echo "Library output check"
5862

5963
safety-aspects:
6064
name: Aspect — Safety Invariants
@@ -159,7 +163,7 @@ jobs:
159163
version: '0.15.2'
160164

161165
- name: Build and bench FFI
162-
run: cd ffi/zig && zig build bench 2>&1 | tee /tmp/bench-results.txt || echo "No bench target yet"
166+
run: cd ffi/zig && zig build bench --build-file build_standalone.zig 2>&1 | tee /tmp/bench-results.txt || echo "No bench target yet"
163167

164168
- name: Upload benchmark results
165169
if: always()

0 commit comments

Comments
 (0)