The IB pages are generated by summary-of-merged-prs which runs report-summary-merged-prs.
The following diagram shows how the pages are generated:
The jenkins job generates and deploys the json files generated by report-summary-merged-prs, these files contain the data that is shown in the pages. The json files are deployed here.
The pages show the IBs for the release queues that are not set as disabled in config.map.
The script uses information from the following sources:
Both the original and the mirror pages are deployed by summary-of-merged-prs.
showIB.html is the main file of the pages. It uses javascript code found here. The files are copied to the place were they are being deployed.
For the compilation and unit tests, the old version is still used. You can find the links from the IB pages. The details for the relvals results can be seen by using relvalLogDetail.html, you can use the following syntax:
https://cms-sw.github.io/relvalLogDetail.html#<architecture>;<IB>
For example: https://cms-sw.github.io/relvalLogDetail.html#slc6_amd64_gcc491;CMSSW_7_5_X_2015-05-09-1100
Will show you the results for CMSSW_7_5_X_2015-05-09-1100 for arch slc6_amd64_gcc491.
The results are in https://github.com/cms-sw/cms-sw.github.io/tree/master/data/relvals/slc6_amd64_gcc491
These pages use RelvalsAvailableResults.json to know for which IBs are results available for the Relvals.
These links are automatically generated from the main IB pages.
For the compilation, unit tests, and addon tests results, it is still used the old version.
When the results are incomplete, relvalLogDetail.html will look for the “_INCOMPLETE.json” file in https://github.com/cms-sw/cms-sw.github.io/tree/master/data/relvals and it inform accordingly.
In the following diagram you can see a summary of how the detailed results pages work:
update-github-pages runs periodicaly to parse the results from AFS logs and ES about the IBs (Compilation, Unit tests, Relvals). It saves the results in json files here. When a result is found in ES but not in AFS, the name of the json file will end with the suffix “_INCOMPLETE.json”. summary-of-merged-prs uses these json files to identify results that are currently not complete and show them in the pages. An incomplete result can indicate for compilation results, that the IB being is built, and for the Unit tests and Relvals indicates that the validation for that IB is being run.
If the validation job for the IB fails, the partial results still can be shown in the IB pages if ES is available.