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

Upgrade to haddock-library-1.11.0 #1126

Merged
merged 4 commits into from
Aug 26, 2022
Merged

Conversation

AliasQli
Copy link
Contributor

This pr resolves #1125.

@AliasQli
Copy link
Contributor Author

It seems that CI's ghcs have the version fixed for the process package, and none of them is in the version bound of Cabal-3.8.1.0: process (>=1.2.1.0 && <1.7). Don't know what to do.

@AliasQli
Copy link
Contributor Author

Maybe it's too early to move to Cabal 3.8; as for now, staying at Cabal 3.6 should be fine.

@gbaz
Copy link
Contributor

gbaz commented Aug 22, 2022

I'm not sure why the CI's being fixed against a given process means that a newer one is uninstallable? Thoughts @ysangkok ?

@ysangkok
Copy link
Member

@AliasQli All of the recent GHCs have process versions that are in the range you provided, see version history on the ghc gitlab.

Could you provide more details on your reasoning? If you provide all the details it will be easier to understand what is not behaving as you expect.

@gbaz Why do you say that CI is fixed against a certain process version?

All I know is that cabal treats boot libraries in a special way, and there is a bug regarding them. For example, if I add mtl-2.3.1-rc1 as a source-repository-package, but I don't set --constraint=transformers>=0.6', I think it will try to build with transformers-0.5 (boot version). So when you get weird solver issues, I suggest providing more constraints with ==. That way, you are forced to look up the expected/newest version on Hackage, and you may discover that the solver somehow picked a super old release of some package (old version often have bad bounds). I think I hit the issue about constraints not being applied yesterday also, where cabal was not discovering that the boot library version of containers was too new for th-lift-instances. But if I provided the constraint on containers, it did discover it.

@AliasQli
Copy link
Contributor Author

I don't understand the mechanism exactly, but this is what I've tested and found out. I have

build-depends:
      process                == 1.6.14.0
    , ghc

Cabal solved the version constraints locally but fails on CI, and the error message suggests process version is fixed: see https://github.com/AliasQli/hackage-server/actions/runs/2910726317.

@@ -118,6 +118,7 @@ common defaults
build-depends:
, aeson ^>= 2.0.3.0
, Cabal ^>= 3.6.3.0
, Cabal-syntax ^>= 3.6
Copy link
Member

Choose a reason for hiding this comment

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

I have added this line in PR

Copy link
Member

@andreasabel andreasabel left a comment

Choose a reason for hiding this comment

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

Need to make sure it works with all versions of haddock-library in range.

@andreasabel
Copy link
Member

@AliasQli wrote:

the error message suggests process version is fixed

Indeed, Hackage-CI fixes the packages that are shipped with GHC. If you want to relax this by adding -process to this line:

installed: +all -Cabal -text -parsec

And then run hackage-cli regenerate.

However, I advise you against pinning down a specific version of process. I do not see the need for it. It is better left at the versions shipped with the individual GHC versions.

@andreasabel
Copy link
Member

I left some comments at: f730854

This PR should be rebased onto latest master.

@AliasQli
Copy link
Contributor Author

Oops, I forgot to tighten the version bounds.

@andreasabel

And then run hackage-cli regenerate.

I suppose you mean haskell-ci regenerate. I've tested it, and it works only when the project doesn't depend on the ghc package. When we have ghc in the dependecies (which is our case), CI still stick to the installed version of process.

@andreasabel
Copy link
Member

I suppose you mean haskell-ci regenerate.

Yes, sorry. These two tools have names too similar for my brain to not mix them up constantly... ;-)

When we have ghc in the depende[n]cies (which is our case), CI still stick to the installed version of process.

Interesting. I was going to say that ghc might bring further constraints on process, but I cannot find any evidence for this.

Copy link
Member

@andreasabel andreasabel left a comment

Choose a reason for hiding this comment

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

Thanks!

@andreasabel andreasabel changed the title Update dependencies Upgrade to haddock-library-1.11.0 Aug 24, 2022
@andreasabel
Copy link
Member

This PR has conflicts with master that need to be resolved.

@AliasQli
Copy link
Contributor Author

I didn't see any conflicts. Could you please point them out to me?

, transformers >= 0.5 && < 0.7
, unix >= 2.7 && < 2.9
, transformers >= 0.5 && < 0.6
, unix >= 2.7 && < 2.8
Copy link
Member

Choose a reason for hiding this comment

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

Please don't include untested major versions bump.

Copy link
Contributor Author

@AliasQli AliasQli Aug 26, 2022

Choose a reason for hiding this comment

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

transformers 0.5.* is tested while 0.6.* is not, and so is unix. So I tightened the version bounds. What's the problem?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I did it because you mentioned it here. Did I misunderstand what you mean?

Copy link
Member

Choose a reason for hiding this comment

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

Sorry, I confused this (I wasn't expecting these bounds already on master). All is well.

@andreasabel andreasabel merged commit f6c1e48 into haskell:master Aug 26, 2022
AliasQli added a commit to AliasQli/hackage-server that referenced this pull request Aug 29, 2022
gbaz added a commit that referenced this pull request Jan 5, 2023
* delete unused GitHub Action; fix CI badge

* Fix #1076: separate validators from UI and doctest them (#1077)

* Cachix caching for nix-shell GitHub Action (#1081)

* Add uploaded_at field in package api (#1080)

* package page: Include virtual-modules in module tree (#1085)

* Allow hashable-1.4 and text-2.0 (#1089)

* Divide sitemap into parts

* Add sitemap link for subdirectories

* Fix `non-canonical-return` warnings

* Bump CI to GHC 9.2.3 and restrict to master branch

* Check authorisation (#1111)

* Dynamically add css piece

* Fix #1105: change order of markdown parsers to allow pipes in lists

* Fix #1128, fix #1130 by adding bounds to Cabal-syntax and haddock-library

* Bump CI to 9.2.4 and some deps

* Force .txt and .text to have UTF-8 MIME charset (#1133)

* Upgrade to haddock-library-1.11.0 (#1126)

* attempt to speed up GitHub Action for Nix Shell

* work with cabal 3.8

* Updated accepted licenses (#1092)

* Add dependabot for github workflows

* Bump cachix/cachix-action from 10 to 12

* Bump actions/checkout from 2.4.0 to 3.1.0
* Bump cachix/install-nix-action from 17 to 18

* Build with Cabal-3.8 and GHC 9.4 (#1141)

* Haskell CI: bump to Ubuntu-22.04, GHC 9.2.5 and 9.4.4

* Allow mtl-2.3 and transformers-0.6 (#1150)

* Disable test (#1124)

* allow disable tests on client side

* add deprecated version warning (#1123)

* List maintainers on package page (#1098)

* List maintainers on package page

* Vendor snowball package (#1116)

* Add searchbox metadata (#1115)

* Add captcha for user registration (#1099)

* remove filtering 00-index for cabal version < 2.0 hack (#1152)

* Add lastVersion in listings (#749) (#1140)

* rm icu dep instructions, add libgd

* Add test log display (#1100)

* Add test log

* Reverse Dependencies indexed on PackageName (#1082)

* Rebased Reverse Dependencies

* Add "Quick Jump" to candidate package page (#1122)

* Solves #1029 - Adds paging to recent packages and recent revisions (#1055)

* support for `prefers-color-scheme` (#1008)

* 2x brightness for captions and links in dark color scheme

* table dark color scheme

* prefers-color-scheme for links, footer, and table-of-contents

* paginator css for `prefers-color-scheme`

* Maintainer notifications

* cleanup partial functions for revdeps, elim use of MonadThrow, MonadCatch

* fix tests enablement link

Co-authored-by: Peter Becich <[email protected]>
Co-authored-by: Andreas Abel <[email protected]>
Co-authored-by: Hécate Moonlight <[email protected]>
Co-authored-by: Matthew Pickering <[email protected]>
Co-authored-by: ˌbodʲɪˈɡrʲim <[email protected]>
Co-authored-by: Alias Qli <[email protected]>
Co-authored-by: Ondřej Kubánek <[email protected]>
Co-authored-by: Gautier DI FOLCO <[email protected]>
Co-authored-by: Janus Troelsen <[email protected]>
Co-authored-by: Levi Butcher <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Can't build with updated dependency
4 participants