You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am beginning to worry that there may be a problem with this.. I noticed in a previous PR, and now in a new one, that the docs build is always 1 push behind, somehow.
The HEAD checkout it did was using the merge_commit_sha, 0a8a68704a308eba6eac1decd31ac031b7593049
The build failed because the lookup plugin contained a reference to the module; this problem existed in my first push. It was fixed in the second, but is building as though it wasn't.
I don't have time to dig into it further now, but it looks a lot like this: actions/checkout#237
I had been putting this off a bit due to this resuable workflow issue, in part because I saw the issues around the same time and couldn't be certain if they were related or not, and in part because even if they were unrelated, the issue made debugging and troubleshooting difficult.
With that issue solved, I am still seeing this happen.
Symptoms
This is easiest seen when docs are being published. The latest push will trigger the build and the docs built will be the contents of your previous push. I say "push" because a push containing multiple commits does not seem to build the docs of the second-to-last commit, but rather the last commit of the last push.
In a repo where the docs are not published the easiest way to see this would be to add errors egregious enough that the build will fail.
Triggers
I do not know yet all of the conditions under which this does or does not occur:
is merge SHA field itself flawed?
it's not readily clear what it is supposed to represent, and my original tests showed it having the same content as the merge ref when both were available
is it related to reusable workflows somehow?
my original tests were in direct workflows
could test that again (to be sure) and also test the equivalent with reusable workflows
is it related to pull_request vs pull_request_target workdlows?
I don't remember what my original test used as a trigger, will need to confirm
could be a confounding factor with reusable workflows
Ideally we can more clearly identify the triggers, and if it's a bug on GitHub's side we can report it.. past experience shows that niche issues like this will take a long time to address, if we can even get them to.
We may want to change the precedence of when we use the merge ref vs the merge SHA field.
For now we start with the SHA because it's easier to know if it's available or not, to then fall back to the merge commit ref.
Since we have nowhere to retrieve the merge ref and instead we build it, we need to either try the checkout and ignore failure, or do additional git operations and/or API calls to determine its validity if we want to start with that and "fall back" to merge SHA.
Originally posted here:
Re: using the merge SHA:
I had been putting this off a bit due to this resuable workflow issue, in part because I saw the issues around the same time and couldn't be certain if they were related or not, and in part because even if they were unrelated, the issue made debugging and troubleshooting difficult.
With that issue solved, I am still seeing this happen.
Symptoms
This is easiest seen when docs are being published. The latest push will trigger the build and the docs built will be the contents of your previous push. I say "push" because a push containing multiple commits does not seem to build the docs of the second-to-last commit, but rather the last commit of the last push.
In a repo where the docs are not published the easiest way to see this would be to add errors egregious enough that the build will fail.
Triggers
I do not know yet all of the conditions under which this does or does not occur:
pull_requestvspull_request_targetworkdlows?Resolution
Ideally we can more clearly identify the triggers, and if it's a bug on GitHub's side we can report it.. past experience shows that niche issues like this will take a long time to address, if we can even get them to.
We may want to change the precedence of when we use the merge ref vs the merge SHA field.
For now we start with the SHA because it's easier to know if it's available or not, to then fall back to the merge commit ref.
Since we have nowhere to retrieve the merge ref and instead we build it, we need to either try the checkout and ignore failure, or do additional git operations and/or API calls to determine its validity if we want to start with that and "fall back" to merge SHA.