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

3.12.1.0 — a minor release of Cabal and friends #9885

Open
3 of 18 tasks
ulysses4ever opened this issue Apr 11, 2024 · 23 comments
Open
3 of 18 tasks

3.12.1.0 — a minor release of Cabal and friends #9885

ulysses4ever opened this issue Apr 11, 2024 · 23 comments
Assignees
Labels

Comments

@ulysses4ever
Copy link
Collaborator

ulysses4ever commented Apr 11, 2024

The 3.12.1.0 release of Cabal and related packages, including cabal-install, is supposed to follow a (yet to be released) major release of Cabal and Cabal-syntax -- 3.12.0.0. Below is a checklist for the release taken from the wiki page on releasing. /cc @Mikolaj @ffaf1 But first and foremost:

When ticking out the boxes below, please, try to add links to respective PRs.

A.1 Before the release

  • Pre-flight Checks
  • Changelog generation
  • Bump version numbers
  • Upload release candidates
  • Publish artifacts
  • Tweak things as needed, merge patches to fix regressions
  • Re-upload the candidates on Hackage based on the latest tag, and publish them

A.2 After the release

  • prepare a list of contributors for the release, e.g., git log --use-mailmap --pretty=format:%an Cabal-v3.6.1.0...Cabal-v3.8.1.0 | sort -u and don't forget to mention "reviewers, QA testers, devops and others"
  • advertise on discourse, haskell-cafe and cabal-devel (how to install using ghcup (ghcup install cabal --url https://downloads.haskell.org/~cabal/cabal-install-3.8.1.0-rc1/cabal-install-3.8.1.0-x86_64-linux-deb10.tar.xz 3.8.1.0), changelogs, how great our community is and how we love and cherish collaborators, known important bugs and that if anybody is keen to see a particular bug go before 3.8.1.0, the window is now very narrow but we will try to help the interested person squash the bug)
  • ask kind souls to cross-post to Discord, cabal-devel mailing list, Twitter, Reddit, LinkedIn, copy the links to #hackage so that others can upvote
  • Move the tickets that haven't made it to the release to the next one.
  • party 🥳
@ulysses4ever
Copy link
Collaborator Author

I added another checkbox in the very beginning: to release 3.12.0.0 because as Mikolaj suggests on Matrix, a lot is blocked on some of it.

@ulysses4ever
Copy link
Collaborator Author

@ulysses4ever
Copy link
Collaborator Author

Added a reference to #9729 by the "Release 3.12.0.0" todo.

@ulysses4ever
Copy link
Collaborator Author

In the issue description above, I added a suggestion to add links to respective PRs when ticking out the checkboxes.

@ulysses4ever ulysses4ever self-assigned this May 9, 2024
@ulysses4ever
Copy link
Collaborator Author

I added another point that goes before the main list of steps: to check if any more backports are needed for 3.12.1.0.

@ulysses4ever
Copy link
Collaborator Author

Seems like two PR's are worth of backporting:

@Mikolaj
Copy link
Member

Mikolaj commented May 11, 2024

Sounds good. @ffaf1, @Kleidukos?

@phadej
Copy link
Collaborator

phadej commented May 14, 2024

Is there an ETA when release will happen? The lack of GHC-9.10 compatible cabal-install is (softly) blocking the work on adding support for GHC-9.10

@ulysses4ever
Copy link
Collaborator Author

There's no ETA that I know of but thank you for signaling this concern: this will help us to prioritize things.

@ulysses4ever
Copy link
Collaborator Author

We are going through backports slowly. As discussed on Matrix, backports will have to be limited to three things: bugfixes, documentation, CI (except bootstrap). Rationale: it's a slow process, and we have a growing demand for a cabal-install that can work with Cabal-3.12.

@Bodigrim
Copy link
Collaborator

How is it going? There is always going to be one more backport to do, but are they that critical?

@ulysses4ever
Copy link
Collaborator Author

There were some critical CI fixes that we were backporting over last week. We want to have one last pass over the list of actual bugfixes, and then get to actually do the release. We still don't have a tentative date. All who's in need of a newer cabal-install (e.g. because they use Custom setups), should consider using the prerelease in the meantime: https://discourse.haskell.org/t/ann-cabal-3-12-0-0-released/9504#how-to-get-the-cabal-install-pre-release-3

One issue that we potentially want to be resolved, fixed on master and backported is #9917 and it's in very early stages...

@Bodigrim
Copy link
Collaborator

One issue that we potentially want to be resolved, fixed on master and backported is #9917 and it's in very early stages...

You might want to change things in future so that it does not happen again in time for GHC 9.12, but #9917 per se would be immediately resolved by releasing cabal-install-3.12.

There were some critical CI fixes that we were backporting over last week.

But CI fixes are not a part of cabal-install package anyway, how do they happen to be critical?

@ulysses4ever
Copy link
Collaborator Author

But CI fixes are not a part of cabal-install package anyway, how do they happen to be critical?

Well we consider green CI a prerequisite for a release.

You might want to change things in future so that it does not happen again in time for GHC 9.12, but #9917 per se would be immediately resolved by releasing cabal-install-3.12.

We want to change this before 3.12 so that when Cabal-3.14 is release we don'tget into the same trouble.

@Bodigrim
Copy link
Collaborator

My opinion that it's important to have a release of cabal-install within a few weeks after a respective GHC release, and delaying it even if for a noble cause does more harm than good to the state of ecosystem. A guidance for timeline would be much appreciated.

@Mikolaj
Copy link
Member

Mikolaj commented May 27, 2024

@ulysses4ever: How about timeboxing #9917? Once all other backports are merged, give it 2 more days? (CC @andreasabel)

@ulysses4ever
Copy link
Collaborator Author

Sounds good to me.

@andreasabel
Copy link
Member

I do not have time to work on #9917 now, emitting where and how to emit the warning needs more understanding of the code base. I am paid to work on Agda and I need a working Haskell infrastructure, but digging so deep into Cabal is somewhat out of scope. But also, there seems to be no one who is paid to do bugfixing work on Cabal, is that right? From our meetings, I get the impression that all is volunteer work, and @Mikolaj has a part-time job to orchestrate this work...

@Mikolaj
Copy link
Member

Mikolaj commented May 28, 2024

@andreasabel: I can't speak for others (AFAIK, some other companies are permitting or encouraging their employees to contribute to cabal) but that's about right regarding my humble person and the key point is we crucially depend on contributions from cabal users. But I did not suggest you fix the problem. I CCd you, because you are an interested party and you did cabal a favour by coordinating this particular issue, so you should be aware of the constraints as they emerge. As soon as there's consensus about the issue, maybe we could advertise it to find an implementer?

@ulysses4ever
Copy link
Collaborator Author

Discussion over at benz0li/ghc-musl#8 (comment) reminded me that it'd be great to update cabal-install so that it builds with GHC 9.10 before the 3.12.1.0 release. So #9914, which is currently stuck with some test failures due to 9.10.

@ulysses4ever
Copy link
Collaborator Author

#9914 (support for GHC 9.10) has landed but its backport to 3.12 currently has some test failures:

@Mikolaj
Copy link
Member

Mikolaj commented May 29, 2024

I've added some more info in the backport, but now somebody has to do the actual work.

@ulysses4ever
Copy link
Collaborator Author

ulysses4ever commented Jun 4, 2024

We landed CI update for GHC 9.10 on the 3.12 branch (#10058). The next step is to walk briskly through the remaining backport candidates and start the release process.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants