Skip to content

Commit 147d6b4

Browse files
ci(s4): file S4 loop-closure weekly CI workflow (#259)
## Summary - Adds `.github/workflows/s4-loop.yml`: weekly Monday 04:00 UTC job (plus `workflow_dispatch`) that brings up `ghcr.io/hyperpolymath/verisimdb-api:latest` as a service container and runs `just test-s4-loop`. This was sitting in `docs/handover/S4-LOOP-CLOSURE-RUNBOOK.md` pending a published verisimdb-api image. That image now exists (verisimdb PR #121), so it's filed. ## Test plan - [ ] Trigger via `workflow_dispatch` to confirm the service container comes up and the s4_loop_closure test runs (skip path if VeriSimDB unreachable, green if it is) - [ ] Merge once green Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 2de4d0f commit 147d6b4

1 file changed

Lines changed: 48 additions & 0 deletions

File tree

.github/workflows/s4-loop.yml

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# SPDX-License-Identifier: MPL-2.0
2+
# S4 loop-closure CI — brings up verisim-api as a service container and
3+
# runs the echidna s4_loop_closure integration test. Filed once
4+
# ghcr.io/hyperpolymath/verisimdb-api:latest became available (PR #121).
5+
# Runs on schedule (Mondays 04:00 UTC) and on demand; not on every PR
6+
# (the test is a Tier-3 weekly cadence check, not a PR gate).
7+
name: S4 Loop Closure
8+
on:
9+
workflow_dispatch:
10+
schedule:
11+
- cron: '0 4 * * 1'
12+
permissions:
13+
contents: read
14+
jobs:
15+
s4-loop:
16+
name: S4 Loop Closure
17+
runs-on: ubuntu-latest
18+
permissions:
19+
contents: read
20+
services:
21+
verisim:
22+
image: ghcr.io/hyperpolymath/verisimdb-api:latest
23+
ports:
24+
- '8080:8080'
25+
options: >-
26+
--health-cmd "curl -sf http://localhost:8080/health"
27+
--health-interval 10s
28+
--health-timeout 5s
29+
--health-retries 12
30+
env:
31+
VERISIM_URL: http://localhost:8080
32+
steps:
33+
- name: Checkout repository
34+
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v4
35+
- name: Setup Rust toolchain
36+
uses: dtolnay/rust-toolchain@6d9817901c499d6b02debbb57edb38d33daa680b # stable
37+
with:
38+
toolchain: stable
39+
- name: Cache Cargo
40+
uses: Swatinem/rust-cache@65012b490220f477f20ab979e35ae732e6de4e68 # v2
41+
- name: Install just
42+
uses: taiki-e/install-action@4bc351f7f2614e48088386e2a0ad917ca3a7e4ba # v2.81.5
43+
with:
44+
tool: just@1.51.0
45+
- name: Install system dependencies
46+
run: sudo apt-get install -y libssl-dev pkg-config
47+
- name: Run S4 loop-closure test
48+
run: just test-s4-loop

0 commit comments

Comments
 (0)