Skip to content

v0.8.21

Choose a tag to compare

@tamnd tamnd released this 22 Sep 11:10
0262a98

Patch release, built against Mojo 1.0.0 (ed45d567).

The pipeline stopped compiling a package nobody read

pixi run build precompiles the library into build/firepanda.mojoc, and every job in the pipeline ran it first. Nothing in the repository reads the result. The test runner compiles each file with mojo run -I . against the sources, the extension build does the same, and so do the fuzzers. The package is a product for Mojo callers outside the repository rather than an input to anything inside it.

The workflow already recorded why handing it to the test files would not help. Generics are instantiated into whichever program uses them, so mojo run -I build tests/test_sql_run.mojo takes 206 seconds where mojo run -I . takes 193, with all 422 tests passing either way. The step survived that finding anyway, and on the merge before this one it cost between fifty seven and eighty nine seconds in each of thirty jobs. In the two shards holding no expensive file it was longer than the tests that followed it.

It now runs once, in the compile budget job on Linux, so a break in mojo precompile is still a break somebody hears about.

Merge to merge on the full three platform matrix, with both commits touching no Mojo source so the compiler cache conditions are comparable:

                        before   after
total runner seconds      8718    5337
longest job                887s    549s

The longest job is still shard 1 and still tests/test_sql_run.mojo, which is 109 seconds of instantiating the engine at the point of use. That part does not move until the encoding work in #979.

contains moves to the release that carries it

contains over text, and the bare IN that means the same thing, merged in #976 after v0.8.20 was tagged. Its changelog entry went in under the 0.8.20 heading all the same, because two changes were in flight at once and the release heading was moved above an entry that was still unreleased. The entry is in 0.8.21 now. No code moved with it, and v0.8.20 is unchanged.

Also in this release

actions/cache moved to v6 in the one job that was still on v4.

All three version strings go to 0.8.21 together, which the spec job has checked on every run since 0.8.20.