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]

Reply via email to