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
We recently modified our CI workflow (#2866) in an effort to get CI working on forks, but also improve our CI workflow (using actions/checkout@v2 for example). Our CI and tests passed per usual so we didn't expect any regressions to occur.
Impact
The publish/release workflow broke for npm and docker causing the newest release (3.9.2) of code-server to not be published on the npm/Docker registry.
Current maintainers approved #2866 without realizing that the release process (upload artifacts and publish to registries) relied on push events (see code here).
When this change was made, it broke the functionality of the get_artifacts_url in the ./ci/lib.sh script. This script is used in 12 scripts used in code-server.
Bug: The release process relied on grabbing the GitHub Actions artifact URL for push events.
Bug: There was no option for triggering a release manually.
The user was notified of the new release and expecting it to be available on the npm and Docker registries.
We noticed the issue immediately during the publish workflow but failed to post any announcement to our users via GitHub Issues or Discussions.
We have a practice of noting user-facing issues in Slack instead of GitHub issues or discussions.
The release process written by previous maintainers has quirks not understood by current maintainers.
Our release process lacks documentation explaining the nuances behind our process.
We have no tests in place for our release scripts (or any scripts).
Our code reviewers don't scrutinize error handling as much as they should
The maintainers had no way to trigger a manual release.
Our publish workflow did not have the workflow action to trigger manually from GitHub's UI.
There is no documentation for manually publishing to npm or Docker.
Not all current maintainers have access to proper admin rights or tokens for publishing on the registries.
Suggested Actions
Post a GitHub issue or Discussion when an error with the release process occurs
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Table of Contents
Background
We recently modified our CI workflow (#2866) in an effort to get CI working on forks, but also improve our CI workflow (using
actions/checkout@v2
for example). Our CI and tests passed per usual so we didn't expect any regressions to occur.Impact
The publish/release workflow broke for
npm
anddocker
causing the newest release (3.9.2
) of code-server to not be published on the npm/Docker registry.Timing
Root Cause
Current maintainers approved #2866 without realizing that the release process (upload artifacts and publish to registries) relied on
push
events (see code here).When this change was made, it broke the functionality of the
get_artifacts_url
in the./ci/lib.sh
script. This script is used in 12 scripts used in code-server.Bug: The release process relied on grabbing the GitHub Actions artifact URL for
push
events.Bug: There was no option for triggering a release manually.
publish
workflow did not have the workflow action to trigger manually from GitHub's UI.Suggested Actions
Post a GitHub issue or Discussion when an error with the release process occurs
docs/MAINTAINERS_HANDBOOK.md
and document this process Document error communication with community #2991Improve the current release process
macos-amd64
job on release PRs [dev]: run macos-amd64 job on release PRs #2970Document how to manually release a new version of code-server
Note: @jsjoeio to create follow-up issues for each of the Suggested ActionsCompleted on 3/29/2021Beta Was this translation helpful? Give feedback.
All reactions