Leo Famulari <l...@famulari.name> writes: > Now that our build farm is running smoothly, I propose we revive the > practice of feature branches, when appropriate.
It was on my TODO list to bring this up on the mailing list! Thank you, Leo! I also think this is a fantastic idea, and like John, I think mesa is another good candidate (and not only because I recently would have benefited from this). > The first one that I propose is a go-updates branch, where we update > the Go compilers. This will affect ~500 packages. > > If I understand correctly, Go is a relatively self-contained reverse > dependency graph within Guix and thus a good candidate for this > approach. It contains the Go libaries, and then some end-user > applications, and they don't really affect other packages. So, it > should be easy to understand when the update is ready to push. > > I can set up a jobset on ci.guix.gnu.org if people like the idea. This was also on my TODO list for this week, and I would love to coordinate! I'm still pretty unfamiliar with the email based workflow and managing our CI, so this could be a great mentoring opportunity! The things I wanted to do: * Dust off 55210 to support a `go-next` package. There are two uses for compilers: (1) Building Guix packages (2) Installing in profiles for use. For (2), in addition to feature branches, it would be nice to be able to quickly release the latest Go package without having to immediately worry about testing all of Guix. The idea with 55210 was to try and do this. I think this is the first thing we should do, and we should land Go 1.19 as the first `go-next`. We should also try and * Bring the default Go in Guix up to Go 1.9 * Update/create some packages I have these in my channel I use for staging upstream changes. You can see them from this line down: https://github.com/kat-co/guix-channels/blob/5c17bdd6c4ae801effdf1069df69ec4e2ce0a0dd/upstream/packages/golang.scm#L429 - go-golang-org-x-vuln - go-mvdan-cc-unparam - go-github-com-google-go-cmdtest - go-github-com-client9-misspell - go-mvdan-cc-xurls-v2 - go-mvdan-cc-gofumpt - go-github-com-google-go-cmp-cmp - go-github-com-jba-templatecheck - go-github-com-google-safehtml - go-github-com-jba-printsrc - go-golang-org-x-exp - go-golang-org-x-mod - go-golang-org-x-sync There are more packages there I need to upstream, but my goal was to get the following bullet-points into master: * Create a package for `gopls` (Go's Language Server Protocol daemon) I've already done the work here: https://github.com/kat-co/guix-channels/blob/5c17bdd6c4ae801effdf1069df69ec4e2ce0a0dd/upstream/packages/golang.scm#L817-L860 * Create a home service for running gopls I've already done the work here: https://github.com/kat-co/guix-channels/blob/upstream-staging/upstream/home/services/gopls.scm Go 1.20 is supposed to be released in February, so we'd have a chance to exercise our new Go feature-branch for 1.19 and then quickly 1.20. I'll reach out on IRC to coordinate! -- Katherine