Getting to the right build via GitHub
Use the 'details' links next to the commit hash or near the 'merge' button on the PR.
The edx-platform builds use the Jenkins Build Flow Plugin to coordinate the various steps of each build. To see a graph of the various build steps click on the 'Build Graph' link.
These graphs will looks different depending on the context of the build. As an example, the build graph for python tests looks something like this:
Note: Coverage reports will only be generated when all of the python unit tests pass.
How to find:
Use the 'Details' link next the the 'Jenkins CI: Python Tests' on GitHub to get to the Jenkins build page for python tests.
If the build is completed successfully, on the left side you will see:
Code Quality Reports
These are generated regardless of test results, but the quality check will fail if you have introduced new pep8 or pylint violations. It will also fail if the total number of violations is above a certain threshold.
Also see XSS Linter Violations for xsslint or xsscommitlint.
How to find:
Use the 'Details' link next the the 'Jenkins CI: Quality Tests' on GitHub to get to the Jenkins build page for code quality checks.
Once the build is complete, on the left side you should see:
Alternatively, under 'Build Artifacts', you should see the html reports.
- "diff_quality_pep8.html" and "diff_quality_pylint.html" are probably the most useful to look at.
- If don't see these here, click on 'Build Artifacts' and check in 'reports/diff_quality'
- These show how many new violations have been introduced in your changes.
- You can also download the full reports (files ending in '.report')
- These show all of the found violations, not just newly introduced ones.
Finding results for individual tests
If your build fails, the build steps that had failures will have red headers on the build graph.
The 'Test Result' link will take you to a summary of the test results (below).
From this page you can click through the test names to get to the console log for each test.
Console output for a build step
Examining the console output of a build can provide more information about the test results. For example, sometimes a worker will have an error during setup for the tests. If this happens, you will see a failure reported for that build step, but no individual test failures reported (since the tests did not run). In this case, checking the console log can be helful to determine the reason for the build failure. It can sometimes be useful to review even if there is an individual test failure.
To find it, click on the 'Console Output' link in the left navigation column. When you are debugging a failed build, you should check the build graph to find the red boxes and click the link on them. Each sub-build will also have a console output.