haskell / happy

The Happy parser generator for Haskell
Other
273 stars 85 forks source link

Please release 1.20.1 from release-1.20 branch #245

Closed andreasabel closed 1 year ago

andreasabel commented 1 year ago

See https://github.com/haskell/happy/compare/1.20.0...release-1.20

This will fix the mtl-2.3 incompatibility issue of happy-1.20.0:

Work pushed to release-1.20, which I branched off tag 1.20.0:

@Ericson2314 , @int-index , @simonmar : I do not have the Hackage rights to release myself, so please

I tested building with GHC 7.10 - 9.6.0 locally. The code changes are minimal (import fixes in one file), so I do not expect trouble.

andreasabel commented 1 year ago

@Ericson2314 : What do you think? Would you be willing and able to do this soon? It would help the Haskell community to prepare for GHC 9.6. E.g. testing BNFC on 9.6 is currently stuck on happy.

andreasabel commented 1 year ago

@Ericson2314 : I can also do it myself if you add me on Hackage: https://hackage.haskell.org/package/happy/maintainers/edit

int-index commented 1 year ago

I can also do it myself if you add me on Hackage

Thank you. I added you to the maintainers.

Ericson2314 commented 1 year ago

Oh I am sorry I missed this.

andreasabel commented 1 year ago

@Ericson2314 started work on this, so I won't interfere:

Ericson2314 commented 1 year ago

@andreasabel I am not sure why that CI is failing but I also think it's fine if we make the release before merging it back into master.

I went to bed not having done that yet, and to make up for my tardiness I'll gladly do it myself today, but I don't want you to think me being slow => me wanting to do the release myself. You should certainly be fully empowered to not have to wait for me! (And hopefully now you have all the perms so that is indeed the case.)

andreasabel commented 1 year ago

To test my new capabilities I uploaded a candidate: https://hackage.haskell.org/package/happy-1.20.1/candidate

andreasabel commented 1 year ago

And published: https://hackage.haskell.org/package/happy-1.20.1 ! The candidate tested well when I downloaded and installed it, and the changelog looked good.

I pushed the tag 1.20.1 to the current HEAD of release-1.20.

@Ericson2314 : Thanks for fixing the changelog and the .cabal file!

Ericson2314 commented 1 year ago

@andreasabel thank you for doing the main work and keep on top of things!

andreasabel commented 1 year ago

So I botched this job...

Here is a new candidate: https://hackage.haskell.org/package/happy-1.20.1.1/candidate This was generated with make sdist rather then just cabal sdist.

The candidate tested well when I downloaded and installed it,

I guess my tests were not stringent enough, since I have a happy in my PATH on my system. Thus, bootstrapping was not tested.

Ericson2314 commented 1 year ago

@andreasabel Maybe one of us should take a crack at doing github actions on the release-1.20 branch too. I fear this won't be the last time we release a new patch release of it.

andreasabel commented 1 year ago

Let me give it a try.

Ericson2314 commented 1 year ago

Thank you!

andreasabel commented 1 year ago

After trying a patched Haskell-CI first, I wrote a CI manually and pushed it to the release-1.20 branch: https://github.com/haskell/happy/actions/runs/4118004445 It basically does make sdist && cabal build (and runs the tests) on a fresh system with a ubuntu-released happy preinstalled. It could be improved by saving the generated tarball as artifact and then installing happy from this tarball in a subsequent job on a fresh system. This way, we could verify bootstrapping.

andreasabel commented 1 year ago

It could be improved by saving the generated tarball as artifact and then installing happy from this tarball in a subsequent job on a fresh system.

I implemented this and pushed: https://github.com/haskell/happy/actions/runs/4118983519

The CI now implicitly explains how to distribute happy (if you read it carefully) and verifies it for GHC versions 8 and 9. (GHC 7 bindists aren't reliably available on recent Ubuntu.)

andreasabel commented 1 year ago

Ok, hope this is done now, happy-1.20.1.1 is out. I pushed the tag 1.20.1.1 to the current HEAD of release-1.20.

Note to myself on how to release happy-1.20:

;-)

Ericson2314 commented 1 year ago

Thanks so much, @andreasabel!