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

[Chore] Update some dependencies, cleanup #293

Merged
merged 9 commits into from
Mar 15, 2024

Conversation

gromakovsky
Copy link
Member

@gromakovsky gromakovsky commented Jan 5, 2024

Description

Routine changes to support newer GHC versions.

Related issues(s)

None

✓ Checklist for your Pull Request

Ideally a PR has all of the checkmarks set.

If something in this list is irrelevant to your PR, you should still set this
checkmark indicating that you are sure it is dealt with (be that by irrelevance).

  • I made sure my PR addresses a single concern, or multiple concerns which
    are inextricably linked. Otherwise I should open multiple PR's.
  • If I added/removed/deprecated functions/re-exports,
    I checked whether these changes impact the .hlint.yaml rules
    and updated them if needed.

Related changes (conditional)

  • Tests

    • If I added new functionality, I added tests covering it.
    • If I fixed a bug, I added a regression test to prevent the bug from
      silently reappearing again.
  • Documentation

    I checked whether I should update the docs and did so if necessary:

  • Record your changes

    • I added an entry to the changelog (creating the Unreleased section if necessary) if my changes are visible to the users
      and
    • provided a migration guide for breaking changes if possible

Stylistic guide (mandatory)

  • My commit history is clean (only contains changes relating to my
    issue/pull request and no reverted-my-earlier-commit changes) and commit
    messages start with identifiers of related issues in square brackets.

    Example: [#42] Short commit description

    If necessary both of these can be achieved even after the commits have been
    made/pushed using rebase and squash.

✓ Release Checklist

  • I updated the version number in universum.cabal.
  • I updated the changelog and moved everything
    under the "Unreleased" section to a new section for this release version.
  • If any definitions (functions, type classes, instances, etc) were added,
    I added @since haddock annotations.
  • (After merging) I created a new entry in the releases page,
    with a summary of all user-facing changes.
    • I made sure a tag was created using the format vX.Y.Z

Problem: supporting ghc-8.8 forces us to have some conditionals
in the .cabal file. Not a big deal, but still some overhead.
Nowadays this compiler version is rather old, and since we claim
to always support 3 versions (as a minimum) it's safe to drop
the oldest supported one.

Solution: remove it from CI config and tested-with, remove
related conditionals.
Problem: Stackage LTS badge in the README was commented out due when
the package got eliminated.
However, now it's available, so there is no reason to have the badge
commented out.

Solution: uncomment it.
Problem: TypeInType extension got deprecated recently,
we are still using it in Debug.hs.

Solution: enable DataKinds instead.
Problem: there is a newer LTS version than specified in stack.yaml,
and a newer Stack version than specified in the CI config.
It's not a problem per-se, but it's a good practice to update
all versions from time to time.

Solution:
1. Update the resolver in stack.yaml to the latest LTS one at the
moment of doing this change (lts-22.4).
2. Update Stack version in ci.yml to the latest released one (2.13.1).
3. Update the GHC version there to match the one implied by the
resolver.
@gromakovsky gromakovsky force-pushed the gromak/maintenance-jan24 branch from 370d84a to d18a2d0 Compare January 5, 2024 20:38
Problem: we don't claim to support ghc-9.6.3, it's time to do so.

Solution:
1. Add 9.6.3 to tested-with.
2. Test it with cabal on CI on all platforms. As a consequence,
9.4 will be tested only on Linux from now on.
Also update the Cabal version in CI config while we are at it.
@gromakovsky gromakovsky force-pushed the gromak/maintenance-jan24 branch from d18a2d0 to 8a3cdfb Compare January 7, 2024 19:58
@gromakovsky gromakovsky force-pushed the gromak/maintenance-jan24 branch from 0d5cbfe to e468bf2 Compare January 17, 2024 13:47
@gromakovsky gromakovsky force-pushed the gromak/maintenance-jan24 branch from e468bf2 to 442fe96 Compare March 8, 2024 21:38
@gromakovsky gromakovsky marked this pull request as ready for review March 8, 2024 21:49
@gromakovsky gromakovsky force-pushed the gromak/maintenance-jan24 branch 3 times, most recently from ca5f86d to 5aad5ad Compare March 11, 2024 09:34
@gromakovsky gromakovsky requested a review from Martoon-00 March 11, 2024 12:09
test/Test/Universum/StringProps.hs Outdated Show resolved Hide resolved
universum.cabal Show resolved Hide resolved
Problem: there is ghc-9.8 for a while, but we don't
support it for several reasons.

Solution:
1. Permit text up to 2.1.1 (currently the latest one).
The rewrite rules still work and benchmarks produce expected
results.
2. Add explicit kind signatures for custom operators, because
otherwise there is a warning.
3. Add 9.8.1 to tested-with.
4. Update the CI config accordingly. Let's still consider 9.6
as the main version (it's probably more popular) and use it for 3 OS.
In benchmarks we don't care that much about runtime safety.
@gromakovsky gromakovsky force-pushed the gromak/maintenance-jan24 branch from 5aad5ad to 76966f3 Compare March 15, 2024 09:02
@gromakovsky gromakovsky requested a review from Martoon-00 March 15, 2024 09:03
Copy link
Member

@Martoon-00 Martoon-00 left a comment

Choose a reason for hiding this comment

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

One more typo as it seems to be, other than that LGTM, approving.

@@ -1,3 +1,8 @@
-- Some tests in this module have a caveat: they depend on compiler
-- optimizations and will likely fail if compiled with -O0.
-- That's because they depend on rewrite rules (and tests these rules),
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
-- That's because they depend on rewrite rules (and tests these rules),
-- That's because they depend on rewrite rules (and test these rules),

(I guess)

Copy link
Member Author

Choose a reason for hiding this comment

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

Right, done, going to merge and make a release once CI passes.

@gromakovsky gromakovsky force-pushed the gromak/maintenance-jan24 branch from 76966f3 to 6b8b1c4 Compare March 15, 2024 11:34
@gromakovsky gromakovsky merged commit 89788bf into master Mar 15, 2024
10 checks passed
@gromakovsky gromakovsky deleted the gromak/maintenance-jan24 branch March 15, 2024 11:41
@gromakovsky gromakovsky mentioned this pull request Mar 21, 2024
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.

2 participants