Skip to content

CI: record & use max proof runtime#213

Merged
ahelwer merged 1 commit into
tlaplus:masterfrom
ahelwer:proof-max-runtime
May 25, 2026
Merged

CI: record & use max proof runtime#213
ahelwer merged 1 commit into
tlaplus:masterfrom
ahelwer:proof-max-runtime

Conversation

@ahelwer
Copy link
Copy Markdown
Collaborator

@ahelwer ahelwer commented May 24, 2026

It would be nice to filter the proofs based on their maximum runtime to see whether they should be run in the CI. While the manifest records HH:MM:SS "average" runtime for TLC & Apalache models, this does not make a lot of sense across so many possible machines. Thus we are trying a new approach with the proofs, where we just record the maximum number of minutes we would expect the proof to take to check on any machine that can reasonably run TLAPM. We can then easily filter on this value with jq to avoid checking long-running proofs in the CI. This maximum time parameter is passed to the bash timeout command which will fail the CI if checking the proof exceeds the given number of minutes.

@lemmy suggested just having a check_in_ci flag in the manifest instead, which I did consider, but I think probably the CI here would want to run a greater set of proofs than the CI in the tlaplus/tlapm repo so would like to support filtering based on runtime in this way. In general I think it also seems like a better architecture to not tie manifest fields so closely to whatever tool would want to consume them.

If this maxRuntimeMinutes approach is found to be a decent idea then probably we can change the model-checking process to switch to it as well.

Ref tlaplus/tlapm#273 #171

@ahelwer ahelwer force-pushed the proof-max-runtime branch 5 times, most recently from 348ca67 to 8ccf536 Compare May 25, 2026 02:48
Signed-off-by: Andrew Helwer <ahelwer@pm.me>
@ahelwer ahelwer force-pushed the proof-max-runtime branch from 8ccf536 to 04e4315 Compare May 25, 2026 03:33
@ahelwer ahelwer merged commit 47b0e2c into tlaplus:master May 25, 2026
8 checks passed
@ahelwer ahelwer deleted the proof-max-runtime branch May 25, 2026 04:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant