Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release nightly builds #2216

Closed
wants to merge 3 commits into from

Conversation

the-mikedavis
Copy link
Member

@the-mikedavis the-mikedavis commented Apr 21, 2022

This was simpler than I was expecting. Most of the work is being done by this action: https://github.com/softprops/action-gh-release which can create the tag and release if they are not already made as well as upload artifacts and control whether a release is a pre-release or regular.

Example output: https://github.com/the-mikedavis/helix/releases/tag/2022-04-21-nightly (the AppImage version has been fixed)

closes #358

@the-mikedavis
Copy link
Member Author

0300UTC seems like a reasonable default I pulled from what EventStore does (see here). I'm not attached to it though. We might also want to try something less than nightly at first like weekly / bi-weekly / (the other meaning of) bi-weekly / every other day

@the-mikedavis the-mikedavis changed the title Release nightly at 0300UTC Release nightly builds Apr 21, 2022
@David-Else
Copy link
Contributor

David-Else commented Apr 22, 2022

Cheers! But is it possible to compile as musl for glib 2.28? https://github.com/the-mikedavis/helix/releases/download/2022-04-21-nightly/helix-dev-x86_64.AppImage

/tmp/.mount_helix-hFKChY/usr/bin/hx: /lib64/libc.so.6: version `GLIBC_2.29' not found (required by /tmp/.mount_helix-hFKChY/usr/bin/hx)

#1932

@the-mikedavis
Copy link
Member Author

Ah right musl C. I'll take a look at that in a follow-up PR. There might be some difficulties getting everything to compile correctly (the cross compiling toolchain can be fussy some times with the tree-sitter C) so I'd like it to be its own focus

Copy link
Member

@dead10ck dead10ck left a comment

Choose a reason for hiding this comment

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

This looks good to me! Thanks

@pickfire
Copy link
Contributor

pickfire commented May 9, 2022

Also, with these changes I think we need to note it in the changelog so that maintainers can put up a nightly version as well.

@the-mikedavis
Copy link
Member Author

Oh, like maintainers having nightly builds in their forks? That could be fun to build testing releases of PRs in advance

@the-mikedavis the-mikedavis added S-waiting-on-review Status: Awaiting review from a maintainer. S-needs-discussion Status: Needs discussion or design. and removed S-waiting-on-review Status: Awaiting review from a maintainer. labels May 18, 2022
Copy link
Contributor

@pickfire pickfire left a comment

Choose a reason for hiding this comment

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

Looks good to me, just have to put it in changelog for maintainers.

@rsHalford
Copy link

With the addition of a nightly branch, would it be best if a nixpkgs overlay was maintained under the helix-project or through nix-community, like with the neovim-nightly-overlay?

@the-mikedavis
Copy link
Member Author

An overlay in nix-community would be great. We have cachix set up on the flake on master but we use up the 5GB pretty quickly - being in the nix-community cache (1TB) would probably be much faster for people who want to follow nightly.

@the-mikedavis
Copy link
Member Author

the-mikedavis commented Aug 10, 2022

Thinking about this more, I think we're better off for the time-being encouraging building from source instead of the nightly. IMO it's not so much easier to use the pre-build releases than to just build from source. Releases are easier if you don't want to install a Rust toolchain however.

Don't worry, you can still have your cake and eat it too: you can fork the Helix repo, go to the Actions tab and hit enable. If you want to build yourself nightly releases, you can cherry-pick these commits onto your master. For the most part though it should be sufficient to just push a new tag to your fork in the format of '[0-9]+.[0-9]+(.[0-9]+)?' whenever you want to make yourself a release.

@the-mikedavis the-mikedavis deleted the md-nightly branch August 10, 2022 03:46
@kamalmarhubi
Copy link

@the-mikedavis would you reconsider merging this? Low-friction nightly builds mean easier uptake and testing by the community. This means higher chances of finding bugs, and more feedback on new features.

For specific package ecosystems:

  • for the the arch community's AUR, there's a convention of -nightly-bin for packages that have nightlies upstream (see search results)
  • for homebrew on macos, there are numerous nightly versions in Homebrew/homebrew-cask-versions

@the-mikedavis
Copy link
Member Author

I don't have any plans to reconsider but I'll keep this in the back of my mind.

Those ecosystems allow you to build from git/head: https://aur.archlinux.org/packages/helix-git and https://github.com/helix-editor/homebrew-helix/blob/5d96bef0d64d21af9092a181a25c6cd5fe452e14/Formula/helix.rb#L9-L12.

@filipdutescu
Copy link
Contributor

Just wanted to mention this might not be such a bad idea from an environmental point of view either, as time and energy could be saved by having a nightly build (which is created only if merged were made in the last day).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-needs-discussion Status: Needs discussion or design.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Nightly builds CI
7 participants