dart-lang / sdk

The Dart SDK, including the VM, JS and Wasm compilers, analysis, core libraries, and more.
https://dart.dev
BSD 3-Clause "New" or "Revised" License
10.08k stars 1.56k forks source link

Please create releases on GitHub UI when you tag a new version? #51161

Open jeffwidman opened 1 year ago

jeffwidman commented 1 year ago

Would it be possible to update your release CI tooling to create a new release on GitHub when you tag a new version?

https://github.com/dart-lang/sdk/releases is quite outdated

mit-mit commented 1 year ago

Can you clarify how you would use these, if they were available?

sortie commented 1 year ago

We've never used https://github.com/dart-lang/sdk/releases for the Dart SDK. The contents there are just a couple of very old analyzer branches. If you want to know the available releases, check out the official download page https://dart.dev/get-dart/archive.

Note that one cannot download the source code via the release page as they don't contain the recursive dependencies. One must use gclient via depot_tools. Unfortunately we don't currently have a method for making our own standalone tarballs with the recursive source code that we could offer instead.

Our release CI does not yet have Github integration at all (besides synchronizing changes back from the authoritative https://dart.googlesource.com/sdk). I am planning on making a github account for one of our CI tasks in the near future. Perhaps it could be taught to be do this. However, like Michael says, it's unclear what the use cases of this page are and whether they make sense in the context of the SDK repository.

asashour commented 1 year ago

I guess a user would expect something to be correct, or it isn't mentioned.

The releases could be used for downloading the sources, binaries, reading the release notes or getting notified for new versions by "watch releases".

As I think downloading the source/binaries is not an option currently, how about:

jeffwidman commented 1 year ago

Can you clarify how you would use these, if they were available?

For myself, I'd like to be notified of new releases so I can bump them in :dependabot: . I couldn't quickly find a way to get emails about only releases (getting notifications for other stuff would be too noisy for me) and I actually prefer GitHub notifications over email for this kind of thing... I'm involved in many open source projects, and found emails from projects kept burying non-code emails, so compartmentalizing "code-related notifications" to an inbox that I only check when ready to do "code-related work" is very convenient. But email would be fine too if needed.

To be clear, I don't even need the changelog contents, a link is fine... so if it merely said said "new release X version, changelog at Y URL" that would address what I want.

While the releases feature does support attaching binary artifacts, that's not at all needed... for example most python-based projects don't do that because users know they should go fetch from PyPI. Just have a link pointing to your cannonical download source.

Even though I'm sure you could figure out a way to wire up the binary artifacts, changelog contents, etc it creates problems because if you ever change something after the fact you now have to remember to change it here too... so really it's just a notification endpoint pointing back to your cannonical place.

And I do agree that if you're not going to have releases, then please delete the couple listed here to avoid confusion: https://github.com/dart-lang/sdk/releases

sortie commented 1 year ago

https://groups.google.com/a/dartlang.org/g/announce is our mailing list where we announce new stable release series. It's not exactly the releases-only feed you want, since it also contains a bit of other important chatter like breaking change requests.

whesse commented 1 year ago

I have removed the existing old release objects, so now the releases section of dart-lang/sdk is empty, and should remain that way.

jeffwidman commented 1 year ago

Thanks for cleaning up the release objects, that will reduce confusion for sure.

Is there any way to get a release-only feed?

I realize that for folks closely associated with the Dart ecosystem the other chatter makes sense, but for me I'm trying to keep up with 5-10 language ecosystems at any one time, so an announce-only feed is ideal. But if not, no big deal, we'll just end up lagging and only updating :dependabot: when someone happens to notice and submit a PR, which is fine.