-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
DilumAluthge
force-pushed
the
dpa/create_pending_statuses
branch
8 times, most recently
from
August 7, 2021 00:25
7d98141
to
4509f85
Compare
DilumAluthge
force-pushed
the
dpa/create_pending_statuses
branch
from
August 7, 2021 00:36
0de5d1b
to
ab06695
Compare
DilumAluthge
force-pushed
the
dpa/create_pending_statuses
branch
2 times, most recently
from
August 7, 2021 00:49
94662fc
to
ccb4bb1
Compare
DilumAluthge
added
backport 1.6
Change should be backported to release-1.6
backport 1.7
labels
Aug 7, 2021
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
force-pushed
the
dpa/create_pending_statuses
branch
3 times, most recently
from
August 7, 2021 02:31
8e22ee7
to
fc11d2a
Compare
…(yellow) commit statuses for all Buildbot jobs
DilumAluthge
force-pushed
the
dpa/create_pending_statuses
branch
from
August 7, 2021 02:33
fc11d2a
to
9b9ff30
Compare
75 tasks
63 tasks
KristofferC
removed
backport 1.6
Change should be backported to release-1.6
backport 1.7
labels
Sep 7, 2021
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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:
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:
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:
JuliaLang/julia
repository.