Skip to content

cjson CI flake: cJSON.c downloaded from raw.githubusercontent.com at test time #3065

Description

@schani

What happens

The cjson fixture jobs download cJSON.c from raw.githubusercontent.com during fixture setup, before any test runs. When that fetch hits a transient network failure, the whole job fails even though nothing in the PR or the generated code is at fault.

Evidence

Impact

Because the fixture matrix runs with fail-fast: true, a single cjson dependency-download failure cancels every sibling language job in the same matrix and trips the test-complete gate. See #3066 for details.

Suggested solutions

  • Vendor cJSON.c (and its header) directly into the repo — it is only two files — so no network fetch is needed at test time.
  • Alternatively, cache the download with actions/cache.
  • At minimum, add curl --retry to tolerate transient resets.

Interim policy

Per CLAUDE.md ("Known CI flakiness"), we accept this flake for now. When it happens we retry the failed jobs (gh run rerun <run-id> --failed); a failure here only counts as real if it reproduces across retries or the PR actually touches cjson.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions