bneradt opened a new pull request, #483: URL: https://github.com/apache/trafficserver-ci/pull/483
The Clang-Analyzer job is the longest PR check because it runs the analyzer and then Clang-Tidy, one after the other, after a full build. This PR: * Splits Clang-Tidy into its own `clang-tidy.pipeline` and `Github_Builds/clang-tidy` job, with a new `Clang-Tidy` GitHub status, so it runs in parallel with the analyzer. Branches without CMake or `.clang-tidy-ci` skip the build and pass. `[approve ci clang-tidy]` reruns just that job. * Renames `autest.pipeline` to `urtest.pipeline`, the job to `Github_Builds/urtest`, and the statuses to `URTest NofM`, since the suite is now Uranium. The shard parameters are now `URTEST_SHARD` and `URTEST_SHARDS`. `[approve ci autest]` still works alongside `[approve ci urtest]`. Older branches still use the AuTest path, which is unchanged and still runs with `-j 2`. * Runs urtest with `-n 4` instead of `-n 2`, so the shard count can drop from 4 to 3 by setting `URTEST_SHARDS=3` in Jenkins. ## Testing Tested on docker11 (4 cores, 7 GB RAM, same as the other docker agents) with the `fedora:44` CI image, running as the `jenkins` user. ATS master was at 8cfc64f and built with `ci-fedora-urtest`. Each shard ran in a fresh container. | Config | Runs | Failures | Shard wall time | | --- | --- | --- | --- | | `-n 4`, 3 shards | 3 × 3 shards | 0 | 6:18–7:27 (slowest shard ~7.5 min) | | `-n 2`, 4 shards (current) | 1 × 4 shards | 0 | 8:26–9:56 (slowest shard ~10 min) | Each 3-shard pass ran all 1440 tests and skipped 26, the same as the baseline. No reruns or timeouts. All four changed pipelines pass the Jenkins declarative linter (`pipeline-model-converter/validate`). ## Deployment These steps need to happen at merge time: 1. Create `Github_Builds/urtest`: copy `Github_Builds/autest`, set the script path to `jenkins/github/urtest.pipeline`, and rename its `AUTEST_SHARD` parameter to `URTEST_SHARD`. 2. Create `Github_Builds/clang-tidy`: copy `Github_Builds/clang-analyzer` and set the script path to `jenkins/github/clang-tidy.pipeline`. 3. In `Github_PR_Checks`, add a `URTEST_SHARDS` parameter with default `3`. Remove `AUTEST_SHARDS` after the merge. 4. Disable `Github_Builds/autest` after the merge. 5. In apache/trafficserver, update the `.asf.yaml` required status checks: replace `AuTest 0of4`–`AuTest 3of4` with `URTest 0of3`–`URTest 2of3`, and add `Clang-Tidy`. Until this lands, master PRs wait on the old `AuTest` statuses. `github_polling.pipeline` (the `Github_PR_Checks_Polling_test` job, last run in 2023) still points at `Github_Builds/autest` and is left unchanged. 🤖 Generated with [Claude Code](https://claude.com/claude-code) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
