Conversation
This comment was marked as spam.
This comment was marked as spam.
| jobs: | ||
| md-babel: |
There was a problem hiding this comment.
Missing job-level
timeout-minutes
The md-babel job has no timeout-minutes, so a hung or misbehaving code block can hold the self-hosted runner for GitHub's default 6-hour limit. All other jobs in this repo (e.g., ci.yml sets 60 minutes) have explicit timeouts.
| jobs: | |
| md-babel: | |
| md-babel: | |
| if: github.event_name != 'pull_request' || github.event.pull_request.draft == false | |
| runs-on: self-hosted | |
| timeout-minutes: 30 |
| LANG_FILTER="python,sh,node" | ||
| declare -a USER_PATHS=() | ||
|
|
||
| usage() { | ||
| cat >&2 <<'EOF' | ||
| Usage: bin/run-doc-codeblocks [options] [path ...] | ||
|
|
||
| --ci Same as --lang python,sh,node (default; for CI runners). |
There was a problem hiding this comment.
--ci flag is a no-op relative to the default
LANG_FILTER is already initialised to "python,sh,node" on line 9, and --ci sets it to the exact same value. The help text calls --ci "default; for CI runners", which is technically accurate but slightly confusing since invoking the script with no flags produces identical behaviour. The flag is harmless, but consider removing the redundant initialisation or having --ci be the only place this default is set to make the intent clearer.
Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
| if [[ -d ./docs ]]; then | ||
| run_one_target ./docs | ||
| fi | ||
| if [[ -f README.md ]]; then | ||
| run_one_target README.md | ||
| fi |
There was a problem hiding this comment.
Why the ifs? docs and README.md should always exist.
There was a problem hiding this comment.
if here is a harmless and defensive measure, but I can see it can look redundant.
|
The last commit, 3be2ad5, addresses two previous minor ci run failures: The full ci should be green now and is safe to re-run. If @paul-nechifor insists on "if" change - please say a word. |
|
https://github.com/dimensionalOS/dimos/actions/runs/24695981801/job/72277385519?pr=1884 didn't investigate in detail, approved workflow run, currently fails in some weird way, is this related to it being an external PR? |
What is actually failingThe job name is md-babel but the failure happens before
That installs the project in editable mode which runs setuptools -> build_ext for the pybind11 extensions in setup.py. Pybind11’s auto_cpp_level() compiles a tiny probe (flagcheck.cpp) with c++ and -std=c++17 / 14 / 11. When all of those probes fail it gets:
So this looks as a native C++ build environment problem on the runner not md-babel or markdown execution at all. Two plausible ways to fix it:
The above last commit uses the same ci as in ci.yml. Also updated some docs to have no manipulation imports in CI. |
|
Updated workflow compiles dimos OK. New commit addresses these that erred: b) Marked all replay and asset-dependent session=qb blocks in both quality_filter.md files as skip session=qb (left the two synthetic rx / quality_barrier examples runnable). c) Marked all session=align Python blocks in both temporal_alignment.md files as skip session=align (embedded stays as documentation). |
Problem
Hi, everyone.
This closes Execute documentation codeblocks in CI #1759 opened by @leshy .
Solution
Two commits were added. First introduced the mechanism, workflow and a script. The second - fixes documentation code blocks; those that did not mean to be run are skipped. My local CI,
./bin/run-doc-codeblocks --ci, is green. Total: 48 files, 139/139 blocks executed successfully. Artifacts were not committed, went lean.Breaking Changes
None
Contributor License Agreement