Closed jimmie closed 1 year ago
setting severity to low for the time being unless it becomes a major problem moving forward. I think this usually just means you are tagging without the latest commit. I have noticed this happening when I merge a PR and then try to tag a release before the unstable build completes. The unstable build then sneaks in a change log update before the stable build completes.
@nutjob4life @jimmie FYI ☝️
Apparently there are two causes of the issue:
main
which causes Roundup's attempt to push
to main
to fail because its local tree is out of date, which makes sense.push
to main
fails because the local tree is out of date, but git pull
says Already up to date
anyway.Putting a git pull
in front of any push
to HEAD:main
sounds like an easy fix—except since we changed to triggering a release by a tag instead of a branch, we're always in a "detached HEAD" state in the Roundup action in stable releases.
Now, we could have the Roundup create a temporary branch from the release/X.Y.Z
tag in which to do its work—and then a git pull
would succeed. But that's a bigger underlying change to the Roundup and we'd want to vet this "fix" fully in the sandbox.
But given this is a rare occurrence and the issue itself is marked s.low
maybe we should skip it? Thoughts?
I am OK with kicking this to the curb.
Over Slack, @jimmie wrote:
it seems we can reproduce that build error fairly easily - each time we’ve done a commit just before tagging - the subsequent build appears to fail consistently. Food for thought.
So not kicking this to the curb.
The timeline that causes the problem seems to be as follows:
git add some-file.c && git push origin main
or merge a PR into main
unstable-cicd.yaml
which starts up a Roundup Action using the "unstable" assembly. What's happening at this point? _Quite a bit, including pushes directly into main
.git tag release/1.2.3 && git push origin release/1.2.3
stable-cicd.yaml
which starts up a Roundup Action using the "stable" assembly. But the unstable assembly is still going on.I think we need a mutex between Roundups so that one is ever only running at a time in a repository.
Thankfully, GitHub Actions provides such a feature for us: just add concurrency: roundup
to all stable-cicd.yaml
and unstable-cicd.yaml
files at the workflow level. Sound good?
The following repositories have pull requests pending may address the mutex (but may also have overlap with this issue):
all PRs merged. done!
🐛 Describe the bug
Trying to build harvest release/3.7.1 and roundup-action failed with following error:
Could be a side effect of #76.