Conversation
… jobs - Workflows that ran on every push and every pull request now run on pushes to master and on pull requests only. A branch of this repository with an open pull request was tested twice. All of them can also be run by hand (workflow_dispatch). - Add a concurrency group to every workflow: a new push to a pull request cancels its previous run. Pushes to master and scheduled runs are never cancelled. - LoongArch64, Emscripten and Ubuntu 22.04 clang 13/14 now run on master only (or by hand). - Windows: 30 jobs down to 19. vs18-clang-ci-cxx20.yml was an exact copy of vs18-clang-ci.yml (same name, no C++20 flag); it is now a single ClangCL C++20 build. RelWithDebInfo jobs are dropped, as are a few redundant shared/static and NaN/Inf combinations.
… comma_delimited
The json_sequence and comma_delimited stage-1 filters drop RS markers and
root-level commas by compacting structural_indexes in place. That left a stale
index in the slot past the compacted end, where stage 1 had stored the input
length, and the final batch copies that slot into the bookkeeping that
truncated_bytes() reads. Complete streams therefore reported spurious
truncated bytes: e.g. 2 for the comma-delimited input `1,2,3`, or 3 for the
json_sequence input `\x1e{"a":1}\n\x1e[2]\n`.
Restore the sentinel after compaction in both filters (shared by every kernel,
including fallback). Truncated tails are still reported: `{"a":1},{"b":`
yields 5. The extra store has no measurable cost (json_sequence and
comma_delimited parse_many throughput within noise on Apple M4 and on Xeon
Gold 6548N).
Update the iterate_many/parse_many docs and the document_stream headers: the
value is now meaningful in every format, under the same conditions as
before (iterate to the end, no document error). Add a regression test and
regenerate the single header.
This branch has not been deployed
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.
Two commits, so that one CI run covers both before tagging 5.0.2.
1. CI: test each pull request once, cancel superseded runs, trim Windows jobs
on: [push, pull_request]) now run on pushes tomasterand on pull requests. A branch of this repository with an open pull request was tested twice: v5.0.2 release candidate (regenerated single header) #2900 queued about 200 jobs, half of them duplicates. Every workflow can also be started by hand (workflow_dispatch).documentation.yml) gets a concurrency group: a new push to a pull request cancels its previous run. Pushes tomasterand scheduled runs get a group of their own and are never cancelled.masteronly (or by hand).vs18-clang-ci-cxx20.ymlwas an exact copy ofvs18-clang-ci.yml(same name, no C++20 flag); it is now a single ClangCL C++20 build. RelWithDebInfo jobs are dropped (no Windows job builds RelWithDebInfo anymore), as are a few redundant shared/static and NaN/Inf combinations.Trade-off: pushing to a branch of this repository without a pull request no longer runs CI; open a pull request or use "Run workflow".
The GitHub organization is on the free plan (20 concurrent jobs, 5 on macOS, shared by all repositories), so the number of queued jobs is what makes CI slow.
2. Regenerate the single header for 5.0.2
#2901 was merged before #2900, but the single header in #2900 had been generated without it. This brings
singleheader/up to date withmaster(only the two lines removed by #2901 change).