Pull Request Testing
cms-bot can run the following tests on a pull request:
- Compilation
- Unit Tests
- Relvals
- Static analyser checks
- DQM Tests
- Clang Compilation
Main Scripts
Automatic triggering
The pull latest pull requests are checked periodically to check if the tests can be triggered
- This is handled by queue-new-prs (jenkins), which runs queue-new-prs. It uses
query-new-pull-requests to query the latest pull requests, it then uses the result of
auto-trigger-pr to decide if the tests for the pull request can be triggered automatically.
The tests for a pull request are automatically triggered if the following conditions are met:
- There is at least 1 signature.
- The tests are pending.
- It is not already being tested (it checks if the latest commit is marked as “testing”).
The tests can be triggered by L2 or release managers by writing “please test”
- If a L2 or a release manager writes “please test” in the pull request conversation, the tests are triggered. This is handled by process-pull-request,
which generates a file that triggers ib-schedule-pr-tests to get the parameters needed by the tests and start them.
Manual Triggering
- If you want to select only the pull request number and get all the other parameters automatically you can just use ib-schedule-pr-tests.
You can write a list of pull request numbers separated by commas.
- If you want to set manually all the parameters you can run the tests directly with ib-any-integration.
Pull Request Comparisons
For information about the comparisons see Pull Request Comparisons.