Build and run the samples in CI, and fix the one that was already broken - #849
Merged
Conversation
Nothing built anything under Sources/Samples. That is what let SampleNet5 and FSharpSample stay broken against the current release for seven months while looking healthy -- they were pinned to 1.3.0, so they compiled against a version that still accepted integral(f, x, 1). Unpinning them in #846 was only half the fix. The other half is a job that compiles them, because a sample nothing builds will break again. Building is not enough either: both of those samples compiled cleanly and threw at runtime. The console samples are therefore run as well, which takes about two seconds each. Writing this found a third one. FSharpPlayground already used a ProjectReference, so nothing was concealing it -- it is broken on master today, on the same integral(y + 3, y, 1) call, and no job noticed because no job ran it. Fixed here to the two-argument form. AngouriMathPlot and GraphicExample are built but not run, being windowed applications; InteractivePlayground is built but not run because Plotly opens a browser. The job already runs on windows-latest, so the windowed two compile there. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes the gap that #846 exposed: nothing in CI built anything under
Sources/Samples.Why building them is not optional
That gap is why
SampleNet5andFSharpSamplestayed broken against the current release for seven months while looking healthy. They were pinned toAngouriMath 1.3.0, so they compiled against a version that still acceptedintegral(f, x, 1). Unpinning them in #846 was only half the fix — a sample that nothing builds will break again.Why running them is not optional either
Both of those samples compiled cleanly and threw at runtime. A build-only job would have passed on both. The console samples are therefore run as well; each takes about two seconds.
Writing this found a third one
FSharpPlaygroundalready used aProjectReference, so nothing was concealing it — it is broken on master today:Same call,
integral(y + 3, y, 1). Nothing was hiding this one at all; it simply was never run. Fixed here to the two-argument form, and it now completes.That is the argument for the job in one example: the pin explained two of the three, and the third was broken in plain sight.
What runs and what only builds
SampleNet5FSharpSampleFSharpPlaygroundPlaygroundInteractivePlaygroundAngouriMathPlotGraphicExampleThe steps go in
EverythingBuild.yml, which already runs onwindows-latest— so the two windowed samples compile there, which they cannot do on Linux (NETSDK1100).Measured locally
All four console samples build and exit 0:
YAML parses and the job resolves to nine steps.
🤖 Generated with Claude Code