Conversation
| retry_wait_seconds: 30 | ||
| max_attempts: 3 | ||
| retry_on: error | ||
| command: yarn publish:latest -- ${{ inputs.release_type }} && yarn publish:check |
There was a problem hiding this comment.
The publishing guide recommends using a specific command in case of publishing errors:
https://github.com/eclipse-theia/theia/blob/master/doc/Publishing.md#failures-during-publishing
npx lerna publish from-package --no-git-reset --no-git-tag-version --no-push
I'm not familiar with the reasoning behind this choice. Maybe @vince-fugnitto could provide some insight?
There was a problem hiding this comment.
@jfaltermeier in the past we often encountered NPM socket errors which meant that only a subset of extensions were successfully published. In this state we cannot re-perform the publishing as it would fail with a message that the extension was already published. In order to only publish the extensions which were not previously published we manually ran the steps referenced in failure-during-publishing to continue with the release.
It's possible that the proposed workflow will fail when retrying if we are in a state where we partially published extensions.
There was a problem hiding this comment.
Since we run git reset --hard in between retries, running lerna publish from-package is not necessary. Just repeating the publish:latest command should work as expected. I don't think we need to adjust something.
Also, having two separate commands in the CI (for normal publishing + publishing following an error) would make this more complicated to maintain imo.
|
This was actually already fixed by #14445. |
What it does
Updates our GitHub actions to retry in case they hit network related errors like rate limiting. This was also used in the old
nextpublishing action:theia/.github/workflows/ci-cd.yml
Lines 164 to 174 in 85f5e92
Also removes the
--canaryoption. That should hopefully fix the issue of unexpected minor versions (we currently publish allnextreleases as1.46.0-next).How to test
Nothing to test, we need to see whether it will work now :)
Review checklist
Reminder for reviewers