WUT_Computer_Science/DOCS-runnability.md
Krzysztof kuhy Rudnicki 7515bd0dc2 Add CI, install.sh and the run.sh harness
Two workflows, one per gate, each checking out kuhyx/utils into .utils and
calling the shared script -- the pattern every other repo here uses.
pre-commit.yml sets UTILS_ROOT to that checkout, without which the shims fail
with "shared gate not found", and both use fetch-depth 1 because the history
is ~494 MB and no gate reads it.

install.sh ends by verifying and exits non-zero if the gate cannot run; a
warning there would just recreate the bug it exists to prevent, since this
repo had no hooks at all until now. Confirmed both ways: --check exited 1
while the hooks were missing, then 0 once installed.

run.sh separates `status` (probe, seconds, safe in CI) from `run <dir>`
(actually executes one project). Conflating them is not hypothetical -- the
first version of the probe did exactly that and it cost 120 seconds and a
scare. Some course dirs already ship a run.sh from years ago, and
Programming/PSD/run.sh installs packages with sudo and starts Kafka; calling
it with an unknown --probe flag does not probe anything, it runs the project.
It blocked on a sudo prompt rather than installing (verified against
/var/log/pacman.log and the absence of a yay clone), but only by luck.

So probe_one now invokes a runner ONLY if it declares --probe, wraps it in
`timeout 20s` as defence in depth, and reports anything else as unprobed
without touching it. All 44 directories now probe instantly.

DOCS-runnability.md is generated with a per-environment column. Recording one
global status would make the CI check red by construction, since `runnable`
locally and `blocked` on ubuntu-latest is the normal case for the MATLAB,
Unity and .NET directories rather than a drift signal.

Per-directory run.sh files are the next step; all 44 currently read unprobed.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0172dj34FDpao6wsix8ZuCzE
2026-08-28 18:26:10 +02:00

55 lines
2.6 KiB
Markdown

# Runnability
Generated by `./run.sh status`. Do not edit by hand.
Status is recorded PER ENVIRONMENT. A directory that is `runnable` locally and
`blocked` in CI is the normal case, not drift: the runner has no MATLAB, no
Unity and no .NET SDK. CI compares only its own column.
| Course | local | Detail |
|---|---|---|
| `NotProgramming/DPZ` | unprobed | no run.sh yet |
| `NotProgramming/ECOGR` | unprobed | no run.sh yet |
| `NotProgramming/EDABA` | unprobed | no run.sh yet |
| `NotProgramming/EDABA-LAB` | unprobed | no run.sh yet |
| `NotProgramming/EDISE` | unprobed | no run.sh yet |
| `NotProgramming/EDISP` | unprobed | no run.sh yet |
| `NotProgramming/ELAC` | unprobed | no run.sh yet |
| `NotProgramming/EMISY` | unprobed | no run.sh yet |
| `NotProgramming/ENUME` | unprobed | no run.sh yet |
| `NotProgramming/EPHY2` | unprobed | no run.sh yet |
| `NotProgramming/EPOGAI` | unprobed | no run.sh yet |
| `NotProgramming/ERPM` | unprobed | no run.sh yet |
| `NotProgramming/ESDP1` | unprobed | no run.sh yet |
| `NotProgramming/ESOEN` | unprobed | no run.sh yet |
| `NotProgramming/MOM` | unprobed | no run.sh yet |
| `NotProgramming/SDM` | unprobed | no run.sh yet |
| `NotProgramming/SDM2` | unprobed | no run.sh yet |
| `NotProgramming/SPD` | unprobed | no run.sh yet |
| `NotProgramming/STUP` | unprobed | no run.sh yet |
| `Programming/AIS` | unprobed | no run.sh yet |
| `Programming/BD2` | unprobed | no run.sh yet |
| `Programming/BSS` | unprobed | no run.sh yet |
| `Programming/EADS` | unprobed | no run.sh yet |
| `Programming/EARIN` | unprobed | no run.sh yet |
| `Programming/ECOAR` | unprobed | no run.sh yet |
| `Programming/ECOTE` | unprobed | no run.sh yet |
| `Programming/ECRYPT` | unprobed | no run.sh yet |
| `Programming/ECRYPT_PROJECT` | unprobed | no run.sh yet |
| `Programming/EGUI` | unprobed | no run.sh yet |
| `Programming/EOOP` | unprobed | no run.sh yet |
| `Programming/EOPSY` | unprobed | no run.sh yet |
| `Programming/EPFU` | unprobed | no run.sh yet |
| `Programming/E-PSYOPS` | unprobed | no run.sh yet |
| `Programming/ERSMS-project` | unprobed | no run.sh yet |
| `Programming/NLP` | unprobed | no run.sh yet |
| `Programming/PBAD` | unprobed | no run.sh yet |
| `Programming/PORR` | unprobed | no run.sh yet |
| `Programming/PSD` | unprobed | pre-existing run.sh, no --probe support |
| `Programming/psd_project` | unprobed | no run.sh yet |
| `Programming/TRAK` | unprobed | no run.sh yet |
| `Programming/twm_4` | unprobed | no run.sh yet |
| `Programming/USD` | unprobed | no run.sh yet |
| `Programming/WDWR` | unprobed | no run.sh yet |
| `Programming/ZPOB` | unprobed | no run.sh yet |