Story: Hotfix: Linux and Windows CI builds on main

Table of Contents

This page documents a story in Sprint 26. It captures the goal, current status, acceptance criteria, and the tasks that compose it.

1. Goal

Bring the Linux and Windows continuous builds on main back to green.

  • Linux: the debug jobs hit GitHub's 6-hour job limit. The sccache hit rate is 0% for debug and 24-34% for release. The Delete sccache entry step fails with HTTP 403, because the repository's default token is read-only. The old entry stays, every save then fails with "Unable to reserve cache", and every sccache-linux-* entry dates from 2026-10-01.
  • Windows clang: environment_environment_tests.cpp calls std::getenv, which clang-cl reports as deprecated; warnings are errors. xml_example_coverage_tests.cpp has the same call.

2. Status

Field Value
State DONE
Parent sprint Sprint 26
Now Nothing.
Waiting on Nothing.
Next Merge, then watch the next CI runs.
Last touched 2026-10-04

3. Acceptance

  • The Linux build job saves a new sccache-linux-* entry after a run.
  • No source file outside real_environment_provider.cpp calls std::getenv without _CRT_SECURE_NO_WARNINGS.
  • Both test targets build and pass locally.

4. Tasks

Task State Start End Description
Scaffold story: Hotfix: Linux and Windows CI builds on main DONE 2026-10-04 2026-10-04 Story scaffolding rides this task: documents, sprint wiring, and the scaffold PR. Close it before merging that PR.
Implement Hotfix: Linux and Windows CI builds on main DONE 2026-10-04 2026-10-04 Initial task for: Hotfix: Linux and Windows CI builds on main

5. Decisions

  • Grant actions: write on the Linux build job only; the guard job keeps the repository's read-only default.
  • Keep std::getenv in the platform environment tests, because they compare the provider against the C runtime.

6. Out of scope

7. Result

Fix verified locally; PR raised.

Emacs 29.3 (Org mode 9.6.15)