code-server icon indicating copy to clipboard operation
code-server copied to clipboard

[dev]: research automating the release process

Open jsjoeio opened this issue 4 years ago • 6 comments

Problem

Right now, the release process is rather tedious and manual. See steps here.

We would like to solve this and make it easier and faster for maintainers to release code-server.

Solutions

  • "prep release" script -> makes changes before release is ready
  • release-it (H/T to @vapurrmaid for the suggestion!)
  • semantic-release

jsjoeio avatar Mar 04 '21 17:03 jsjoeio

Happy to help somewhere along the lines if needed!

greyscaled avatar Mar 04 '21 17:03 greyscaled

Maybe we can combine it with changelogs following these guidelines

jsjoeio avatar Oct 04 '21 16:10 jsjoeio

We're less tied to tools like semantic-release and more tied to, "What do we want the release process to look like"?

One vision:

Just create a release on github, point to a commit, the rest is automatic

jsjoeio avatar Mar 15 '22 20:03 jsjoeio

Raw Notes

@code-asher and I were talking about some ideas for improving this.

  1. open PR to update CHANGELOG and run pre-release script to update versions in text and stuff
  2. after that's merged, create GitHub release. on created

Hmm.. not sure if this could work:

Note: Workflows are not triggered for the created, edited, or deleted activity types for draft releases. When you create your release through the GitHub browser UI, your release may automatically be saved as a draft.

jsjoeio avatar Mar 15 '22 22:03 jsjoeio

A couple things to look at:

  • https://github.com/thomaseizinger/github-action-gitflow-release-workflow/blob/dev/.github/workflows/draft-new-release.yml
  • https://trstringer.com/github-actions-create-release-upload-artifacts/
  • https://github.com/marketplace/actions/release-drafter

jsjoeio avatar Mar 22 '22 17:03 jsjoeio

Latest discussion:

  1. update changelog if we have been forgetting to do it as we go
  2. tag a commit
  3. release is made and uploaded to a draft pr
  4. publish the release after testing it
  5. automatic prs are sent to aur, brew, and code-server
  6. we approve and merge the aur and code-server prs

jsjoeio avatar Aug 31 '22 20:08 jsjoeio

Still could use work, but I think at the moment the status quo is reasonable enough with the roughly monthly releases.

code-asher avatar Apr 29 '24 23:04 code-asher

agreed!

jsjoeio avatar Apr 29 '24 23:04 jsjoeio