Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CI (Buildbot): As soon as a PR is created or updated, create pending (yellow) commit statuses for all Buildbot jobs #41811

Merged
merged 1 commit into from
Aug 7, 2021

Conversation

DilumAluthge
Copy link
Member

@DilumAluthge DilumAluthge commented Aug 6, 2021

Summary

When a PR is created or updated, this GitHub Actions workflow will create pending (yellow) commit statuses for all of the Buildbot jobs.

For example, this workflow will run when:

  • A new PR is created.
  • A new commit is pushed to an existing PR.

Motivation

Buildbot does not create the pending commit status until a job has actually started on a worker. Therefore, if a job is waiting to be scheduled, and has not yet started, Buildbot will not create a commit status for the job.

As a result, a PR may be "all green" with a message that all CI jobs are passing, but in reality, there are still some jobs that have not yet started because all of the relevant workers are busy. This can lead to PRs being accidentally merged before all of the CI jobs have finished running on that PR.

This workflow tries to prevent this situation by immediately creating pending commit statuses for all of the Buildbot jobs that will eventually be run on the PR.

Future

This problem is unique to Buildbot, because of the following two reasons:

  1. Buildbot does not create a commit status for an individual job until that job has started on a worker.
  2. There is no "overall" or "summary" commit status for Buildbot.

We will not have this problem when we switch over to Buildkite. With Buildkite, there is an "overall" commit status. You can see it on this PR - it is called buildkite/julia-master. This commit status is created by Buildkite immediately, and it remains pending (yellow) until all of the Buildkite jobs have completed.

Therefore, we will not need this workflow once we have completed our migration to Buildkite. Once the migration is complete, we will do the following:

  1. Delete this workflow file.
  2. Disable all GitHub Actions on the JuliaLang/julia repository.

@DilumAluthge DilumAluthge added the ci Continuous integration label Aug 6, 2021
@DilumAluthge DilumAluthge force-pushed the dpa/create_pending_statuses branch 8 times, most recently from 7d98141 to 4509f85 Compare August 7, 2021 00:25
@DilumAluthge DilumAluthge marked this pull request as ready for review August 7, 2021 00:35
@DilumAluthge DilumAluthge requested a review from a team as a code owner August 7, 2021 00:35
@DilumAluthge DilumAluthge force-pushed the dpa/create_pending_statuses branch from 0de5d1b to ab06695 Compare August 7, 2021 00:36
@DilumAluthge DilumAluthge removed the request for review from a team August 7, 2021 00:36
@DilumAluthge DilumAluthge force-pushed the dpa/create_pending_statuses branch 2 times, most recently from 94662fc to ccb4bb1 Compare August 7, 2021 00:49
@DilumAluthge DilumAluthge added backport 1.6 Change should be backported to release-1.6 backport 1.7 labels Aug 7, 2021
@DilumAluthge DilumAluthge changed the title [CI] As soon as a PR is created or updated, create pending (yellow) commit statuses for all Buildbot jobs CI (Buildbot): As soon as a PR is created or updated, create pending (yellow) commit statuses for all Buildbot jobs Aug 7, 2021
@DilumAluthge DilumAluthge force-pushed the dpa/create_pending_statuses branch 3 times, most recently from 8e22ee7 to fc11d2a Compare August 7, 2021 02:31
…(yellow) commit statuses for all Buildbot jobs
@DilumAluthge DilumAluthge force-pushed the dpa/create_pending_statuses branch from fc11d2a to 9b9ff30 Compare August 7, 2021 02:33
@DilumAluthge DilumAluthge merged commit 6fce8d5 into master Aug 7, 2021
@DilumAluthge DilumAluthge deleted the dpa/create_pending_statuses branch August 7, 2021 02:46
@KristofferC KristofferC mentioned this pull request Aug 11, 2021
75 tasks
KristofferC pushed a commit that referenced this pull request Aug 25, 2021
…(yellow) commit statuses for all Buildbot jobs (#41811)

(cherry picked from commit 6fce8d5)
KristofferC pushed a commit that referenced this pull request Aug 25, 2021
…(yellow) commit statuses for all Buildbot jobs (#41811)

(cherry picked from commit 6fce8d5)
KristofferC pushed a commit that referenced this pull request Aug 31, 2021
…(yellow) commit statuses for all Buildbot jobs (#41811)

(cherry picked from commit 6fce8d5)
KristofferC pushed a commit that referenced this pull request Sep 3, 2021
…(yellow) commit statuses for all Buildbot jobs (#41811)

(cherry picked from commit 6fce8d5)
@KristofferC KristofferC removed backport 1.6 Change should be backported to release-1.6 backport 1.7 labels Sep 7, 2021
staticfloat pushed a commit that referenced this pull request Dec 23, 2022
…(yellow) commit statuses for all Buildbot jobs (#41811)

(cherry picked from commit 6fce8d5)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ci Continuous integration
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants