Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This PR adds a "canary" build to the performance regression CI of OpenJDK. The "canary" is a chosen revision of mmtk-core and mmtk-openjdk that is tested alongside each merged PR. The performance of the "canary" should not change unless there is an environment change or there is a noise. Spotting a change in the "canary" performance can help us identify environment changes that are unintended or otherwise unnoticed, and also identify the noise level. Currently, we choose a specific release version as the version of the "canary". Using a release version has the advantage of being easy to specify the exact revision of both the mmtk-core and the mmtk-openjdk repository. We may also switch to some methods of automatically select the canary version in the future. There are other minor changes made. - We slightly change the directory structure. We create two directory, namely `latest` and `canary`. In each of the directories, we check out `mmtk-core` and `mmtk-openjdk` of the latest and the canary versions, respectively. - We use the `ci-replace-mmtk-dep.py` script to replace the revision of the `mmtk-core` dependency in `mmtk-openjdk`. As a result, we no longer need to use `sed`, and no longer need to copy the `mmtk-core` directory into `mmtk-openjdk/repos`. - We no longer set the `RUSTUP_TOOLCHAIN` environment variable because 1. The latest and the canary version may not use the same toolchain, and, 2. the right toolchain will be chosen when running the `cargo` command according to the `rust-toolchain` file in the directory. - The scripts in https://github.com/mmtk/ci-perf-kit are changed to take the canary into consideration, too.
- Loading branch information