Skip to content

Retry the push of the binaries when another job pushed first - #1334

Closed
nigrosimone wants to merge 1 commit into
uNetworking:masterfrom
nigrosimone:ci-push-retry
Closed

nigrosimone wants to merge 1 commit into
uNetworking:masterfrom
nigrosimone:ci-push-retry

Conversation

@nigrosimone

Copy link
Copy Markdown
Contributor

Build and Build ASAN failed today at the push, after the build and the tests had passed:

Both end with rejected (fetch first), and that platform keeps the old binaries until the next merge.

Now the runs of each workflow wait for each other (concurrency), and a rejected push rebases and tries again, up to 5 times. The jobs change different .node files, so the rebase is clean. On Windows the build step runs in PowerShell, so there the push is its own step in bash.

Checked with two clones racing on a local repo: the second push is rejected, rebases and goes through with both binaries; when both change the same file it still fails. actionlint is clean.

Comment on lines +5 to +6
# Every run pushes to the same branch, so runs wait for each other
concurrency: ${{ github.workflow }}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What does this mean? We want them to continue running in parallel like before

# The jobs push to the same branch: when another one pushed first, rebase and try again.
# Its own step because the one above runs in PowerShell on Windows
- name: Push binaries
shell: bash

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't like this, it creates even more non-native, excotic dependencies on Windows (of which I am trying to minimize - I want the Windows runner to basically run on native PowerShell). You kind of need to find some commonality between PowerShell and Bash

@nigrosimone

Copy link
Copy Markdown
Contributor Author

I wanted to try to fix the random failures, but maybe it is not a good idea. Closing it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants