Repository navigation
Fix matrix CCM bootstrap and preserve installation errors - #144
Conversation
CI already mounts a scylla-ccm checkout, but environment bootstrap downloads master.zip again. A GitHub 504 aborts setup before pytest can run. Pass CCM_DIR into the container and install that checkout when configured. Keep the archive fallback for direct runs without CCM_DIR. Re-raise install errors so failure metadata preserves the original cause instead of reporting a missing JUnit file. Fixes scylladb#143
Code Review by Qodo
🟠 Medium 1. Scylla runs still fetch CCM
|
Run.run() changes the working directory to the driver checkout before bootstrap, so resolving a relative CCM_DIR there loses its original base. Save the invocation directory once and pass it to every matrix Run so later version and protocol combinations use the same checkout. Exercise both driver types through main with real directory changes and retain the archive fallback for unset or empty CCM_DIR.
Correct. For Scylla driver versions that declare CCM as a Git dependency in the dev group, the later |
Issue
In #143, Jenkins build #30 fails during Apache 3.29.3/protocol v4 setup because GitHub returns HTTP 504 for the scylla-ccm archive. The runner swallows the installation exception and subsequently reports a missing JUnit XML file. The earlier missing
cluster.confwarning is handled normally; Apache 3.30.1rc1 completes both protocols with no unexpected matrix failures.Fix
Forward
CCM_DIRinto the container and use the already-mounted checkout when bootstrapping each driver environment. Reject an invalid configured directory and retain the archive fallback for direct runs withoutCCM_DIR.Propagate dependency-installation failures to the existing failure-reporting path so Argus metadata retains the original error and pytest is not started after failed setup.
The CCM source change applies to environment bootstrap. The Scylla driver’s later dependency synchronization keeps its declared CCM Git source and remains outside this PR.
Investigation findings.
Fixes #143.
Decisions