How to remove CircleCI checks from an openedx repo

Scenario

A team is removing CircleCI checks from a repository in favor of GitHub Actions (GHA) checks. They have opened a PR that removes the old CircleCI config. The GHA checks are passing, but the CircleCI runner's checks are still failing (usually with a message like "Missing configuration").

Runbook

  • As a sanity check, first make sure that there are GHA checks running on the PR. We don't want to remove CircleCI from a repository that hasn't effectively replaced those checks with GHA.

  • Hit "Details" on the CircleCI check. Log into CircleCI using GitHub authentication. (Missing CircleCI permissions? File a tCRIL ticket)

    • Navigate up the breadcrumbs to the CircleCI project (has the same name of the repository in question) and hit "Project Settings".

      • On the project's overview page, hit "Stop Building"

      • On the sidebar, hit "Advanced", and then uncheck "GitHub Status Updates"

  • Back on the PR, look at the failing CircleCI check. Does it say Required?

    • If not:

      • The CircleCI check is already optional. No action needed on this step.

    • If so:

      • The CircleCI check needs to become optional in order for the PR to merge. Go to repository settings and click "Branches". (Can't see that? You're missing repo admin permissions. File a tCRIL ticket)

      • You should see a Branch Protection Rule configured for master. Click "Edit".

      • Under "Require Status Checks to Pass", there should be a multi-select box specifying which checks are required.

      • De-select the circleci check. Hit Save. The check is now optional.

  • Ensure that all checks except circleci are passing. If so, tell the author they are good to merge their PR in spite of the failing circleci check. (if other checks are failing, the PR author needs to fix those checks).

  • Optional: After the PR merges, edit the Branch Protection Rule again, and mark the new GHA checks as required. (why is this optional? We haven't standardized branch protection rules, yet. There's a lot of variation repo to repo. If you're in doubt, this can be punted to an org-wide effort in the future).

  • Optional: If there's any doubt that the process worked, then open a new trivial PR against the repository, and see whether the CircleCI check shows up. If not, then you're good!

Examples