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

add dualizer, no-recursion, yaya-* #7727

Merged
merged 1 commit into from
Mar 31, 2025

Conversation

sellout
Copy link
Contributor

@sellout sellout commented Mar 30, 2025

Checklist:

  • Meaningful commit message, eg add my-cool-package (please don't mention build-constraints.yml)
  • At least 30 minutes have passed since uploading to Hackage
  • If applicable, required system libraries are added to 02-apt-get-install.sh or 03-custom-install.sh
  • (recommended) Package have been verified to work with the latest nightly snapshot, e.g by running the verify-package script
  • (optional) Package is compatible with the latest version of all dependencies (Run cabal update && cabal outdated)

The script runs virtually the following commands in a clean directory:

  stack unpack $package-$version # `-$version` is optional
  cd $package-$version
  rm -f stack.yaml && stack init --resolver nightly --ignore-subdirs
  stack build --resolver nightly --haddock --test --bench --no-run-benchmarks

@alaendle
Copy link
Member

Cabal-3.12.0.0 (changelog) is out of bounds for:

  • no-recursion-0.1.2.2 (^>=3.0.0 || ^>=3.2.0 || ^>=3.4.0 || ^>=3.6.0 || ^>=3.8.0 || ^>=3.10.0). Greg Pfeil [email protected] @sellout. Used by: library

QuickCheck-2.15.0.1 (changelog) (Grandfathered dependencies) is out of bounds for:

doctest-0.24.0 (changelog) (Simon Hengel [email protected] @sol) is out of bounds for:

  • no-recursion-0.1.2.2 (^>=0.16.0 || ^>=0.18.1 || ^>=0.20.0 || ^>=0.21.1 || ^>=0.22.2). Greg Pfeil [email protected] @sellout. Used by: test-suite
  • yaya-0.6.2.2 (^>=0.16.0 || ^>=0.18.1 || ^>=0.20.1 || ^>=0.21.1 || ^>=0.22.2). Greg Pfeil [email protected] @sellout. Used by: test-suite
  • yaya-containers-0.1.2.1 (^>=0.16.0 || ^>=0.18.1 || ^>=0.20.1 || ^>=0.21.1 || ^>=0.22.2). Greg Pfeil [email protected] @sellout. Used by: test-suite
  • yaya-hedgehog-0.3.0.4 (^>=0.16.0 || ^>=0.18.1 || ^>=0.20.1 || ^>=0.21.1 || ^>=0.22.2). Greg Pfeil [email protected] @sellout. Used by: test-suite
  • yaya-quickcheck-0.2.0.2 (^>=0.16.0 || ^>=0.18.1 || ^>=0.20.1 || ^>=0.21.1 || ^>=0.22.2). Greg Pfeil [email protected] @sellout. Used by: test-suite
  • yaya-unsafe-0.4.1.3 (^>=0.16.0 || ^>=0.18.1 || ^>=0.20.1 || ^>=0.21.1 || ^>=0.22.2). Greg Pfeil [email protected] @sellout. Used by: test-suite

@alaendle alaendle marked this pull request as draft March 30, 2025 16:55
@sellout
Copy link
Contributor Author

sellout commented Mar 30, 2025

@alaendle Thanks – I’m already running builds with updated bounds. Should be published on Hackage soon.

@sol I’m not sure what you’re suggesting. I have doctests running via cabal test, which works with the old versions of GHC I support, and makes it easier for contributors to not forget to run them. Is there something wrong with that, or was it just not apparent that my doctests are being tested?

@sellout sellout closed this Mar 30, 2025
@sellout sellout reopened this Mar 30, 2025
@sellout sellout marked this pull request as ready for review March 30, 2025 21:48
@sol
Copy link
Contributor

sol commented Mar 31, 2025

@sellout Oh, I see what you’re doing now—very clever! It definitely works, but my point is that you could achieve the same result with just a single shell command, replacing 65 lines of code and configuration.

As for compatibility, the documented approach should work with the GHC versions you’re testing in CI. And when it comes to making sure contributors don’t forget to run doctests—well, that’s exactly what CI is for!

There’s nothing wrong with your setup, but it’s not the documented approach, and maintaining upper bounds for doctest doesn’t seem like the best use of anyone’s time. Just using the latest version makes things simpler and lets you focus on more interesting problems.

@sellout
Copy link
Contributor Author

sellout commented Mar 31, 2025

@sol Thanks – I see what you mean. Thankfully my cabal files are generated, and I really haven’t had to think about doctests (other than writing them). But every line committed to the repo is a liability. I think my original motivation for that approach was for cabal2nix to create derivations that run the doctests, but I think it’s easy enough to get those to run cabal repl in addition to cabal test, so I’ll look into that (and that code also wouldn’t need to be duplicated for each package, or even repo).

@alaendle alaendle merged commit 7f65455 into commercialhaskell:master Mar 31, 2025
1 of 2 checks passed
@sellout sellout deleted the patch-1 branch March 31, 2025 04:39
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.

3 participants