chore: fail-fast CI hangs + refresh README header#75
Merged
Conversation
Recent main runs (notably the v0.0.28 bump) burned the full 60-min job budget on `10_env_command.sh` hanging in xlings install on a fresh MCPP_HOME. The hang is intermittent and lives at the network boundary; no fix to xlings itself in this PR — just shorten the feedback loop. CI: - tests/e2e/run_all.sh wraps every test with `timeout 600` (override via E2E_TEST_TIMEOUT). Distinguishes TIMEOUT (exit 124) from regular FAIL and surfaces the offending test name in the summary. Uses `timeout` if available, falls back to `gtimeout` (macOS coreutils), else skips wrapping and relies on the step-level guard. - ci.yml / ci-macos.yml / ci-windows.yml: add `timeout-minutes: 25` to each "E2E suite" step. A hung suite now fails in ~25 min instead of eating the full 60-min job, freeing the toolchain test steps to still run / be diagnosed. README: - Add a prominent links table directly under the badges: docs / quick start / mcpp.toml guide / examples / toolchains on row 1; package index, mcpplibs, forum, Issues, Releases on row 2. - Add live CI status badges for Linux/macOS/Windows; drop the static "Self-hosted" badge that the CI badges now subsume. - Promote Windows x86_64 LLVM/Clang from 🔄 to ✅ (CI is green since v0.0.27); add footnote noting the MSVC BuildTools dependency and the llvm-mingw direction.
- Workflow renamed (and `name:` updated) to match the platform-prefixed ci-macos / ci-windows convention. Comment cross-references updated. - README: drop the 3 CI badges from the badges row and add them as the table's last row alongside the docs / community links — keeps the badges row focused on project metadata (release / language / license).
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.
Summary
Recent main runs (notably the v0.0.28 bump) burned the full 60-min job budget on
10_env_command.shhanging in xlings install on a freshMCPP_HOME. The hang is intermittent and lives at the network boundary; no fix to xlings itself here — just shorten the feedback loop so the offending test is identified in 10 min instead of 60.The PR also brings the README header up to v0.0.28 reality (Windows LLVM is now ✅, CI is green on all three platforms) and elevates the key external links above the fold so newcomers don't have to scroll to find docs / mcpp-index / mcpplibs / forum.
CI changes
tests/e2e/run_all.sh— wraps every test withtimeout 600(override viaE2E_TEST_TIMEOUT). DistinguishesTIMEOUT(exit 124) from regularFAILand surfaces the offending test name in the summary. Usestimeoutif available, falls back togtimeout(macOS coreutils), else skips wrapping and relies on the step-level guard.ci.yml/ci-macos.yml/ci-windows.yml— addtimeout-minutes: 25to eachE2E suitestep. A hung suite now fails in ~25 min instead of eating the full 60-min job, freeing the downstream toolchain test steps to still run / be diagnosed.Behaviour matrix
TIMEOUT: 10_env_command.sh (exceeded 600s — likely network / xlings stall)printed; rest of suite continues; step cap at 25 minPer-test timeout: 600s (via timeout)line at start)FAIL: NN_x.sh (exit N))Local verification
README changes
Self-hostedbadge that the CI badges now subsume.Windows x86_64Clang/LLVMfrom 🔄 to ✅ (CI green since v0.0.27); add footnote noting the MSVC BuildTools dependency and the futurellvm-mingwdirection.Test plan
TIMEOUT: 10_env_command.shinstead ofError: The operation was canceled.