Skip to content

The documentation samples run in CI, the wiki's and the website's - #1656

Merged
Rafael-SOWNet merged 1 commit into
masterfrom
the-documentation-samples-run-in-ci
Oct 1, 2026
Merged

Rafael-SOWNet merged 1 commit into
masterfrom
the-documentation-samples-run-in-ci

Conversation

@Rafael-SOWNet

Copy link
Copy Markdown
Member

Part of #1256: the documentation samples run in CI, the wiki's and the website's.

DocSamples compiles every code sample in the wiki against the library in the checkout, plus every sample on the website that an amcheck comment marks. It runs each one and checks it against the output its page states.

  • It fails on a sample that doesn't compile, throws, or prints something its page doesn't say.
  • A sample that doesn't finish fails nothing.
  • It clones the wiki beside itself.
  • In CI, AngouriMathSite is checked out beside the library and passed with --site.

It runs as its own job, since it builds a generated project per language. A change to the F# wrapper alone now triggers the workflow, because the F# samples compile against the wrapper. Measured.Commit(path) is back in the shared code, because this harness builds the library itself rather than referencing it.

What its first run found: against cd3b27b9, three wiki outputs that master no longer prints. Each is the same value in a different form:

page the wiki said master prints
Differentiation 16 + (cos(x) + a) * x 16 + x * (cos(x) + a)
Simplification (1 + ln(x)) * x ^ x x ^ x * (1 + ln(x))
Solvers (-oo; -1/2 * sqrt(6)) \/ (sqrt(6) / 2; +oo) \/ (0; +oo) (-oo; -1/2 * sqrt(6)) \/ (0; +oo)

The first two are #1635's factor order, and the third is a union that now absorbs an interval it contains. The wiki is corrected (AngouriMath.wiki d23ca13). With that, all 89 samples pass, 86 C# and 3 F#: 60 stated outputs verified and 0 failures.

The run before the wiki was corrected exited 1, with those three mismatches named. That is the harness's negative control, on real data.

After this, three of the harnesses #1256 lists are still outside CI:

  • intbench needs the Rubi suite, which carries no licence;
  • libcompare is a comparison, so nothing in it is a defect;
  • egraph is a measurement of memory cost.

🤖 Generated with Claude Code

https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura

DocSamples compiles every code sample in the wiki, and every one on the website marked with an
amcheck comment, against the library in the checkout. It runs them and checks each stated output
against the one produced. It fails on a sample that does not compile, throws, or prints
something other than its page says. A sample that does not finish fails nothing.

It clones the wiki beside itself. CI also checks AngouriMathSite out beside the library and
passes it with --site. The job is its own, since it builds a generated project per language. A
change to the F# wrapper alone now runs the workflow, because the F# samples compile against it.

Its first run, against cd3b27b, found three wiki outputs that master no longer prints. All three
were equal values in a new form, and the wiki is corrected (AngouriMath.wiki d23ca13). With that,
89 samples pass: 60 stated outputs verified, 0 failures.

Measured.Commit(path) is back in the shared code, because this harness builds the library rather
than referencing it.

Part of #1256.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura
@Rafael-SOWNet Rafael-SOWNet added this to the 2.6.0 milestone Oct 1, 2026
@Rafael-SOWNet
Rafael-SOWNet merged commit a768266 into master Oct 1, 2026
30 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant