The two biggest checks we run against edx-platform pull requests are Python unit tests (
pytest) and Python code linting (
pylint). In order to keep checks running quickly, we break each of those up into many shards which all run in parallel: we run 15 unit test shards and 7 pylint shards, potentially more when an upgrade is happening.
In the past, we have had to mark every single one of those shards as “required checks for PR merge” in GitHub settings, which is unwieldy and mistake-prone. So, we recently added two new composite checks, which pass only if all their shards pass. They are called “Unit tests successful” and “Pylint checks successful”. As of today, the shard checks are no longer individually “required”, but these new composite checks are required
If your edx-platform PR is stuck because “Unit tests successful” and “Pylint checks successful” are not returning status but everything else is green, then simply update your PR with the latest version of master (via merge or rebase, doesn’t matter which).
Going forward: you should see the “Unit tests successful” and “Pylint checks successful” checks pass if (and only if) all of the individual unit test and pylint shards pass. The result of these two composite checks will determine whether your PR passes linting and testing, respectiely.
Let us know if you need any help understanding PR checks statuses!
If you see this, just rebase or merge in master.
This means that one or more of your unit test or pylint shards failed. As always, you can click into “Details” and navigate to the failed shard’s logs to debug.
Note that “Skipped” counts as failed. Sometimes we skip checks that we know will fail in order to save time.