Skip to content

Conversation

@newhoggy
Copy link
Contributor

@newhoggy newhoggy commented Sep 10, 2025

Changelog

- description: |
    Upgrade hedgehog-extras dependency from version 0.7.1 to 0.10.0.0 to align with latest testing framework capabilities and provide access to improved testing utilities and performance enhancements.
  type:
    - test           # fixes/modifies tests
    - maintenance    # not directly related to the code

Context

This PR upgrades the hedgehog-extras testing dependency from version ^>=0.7.1 to ^>=0.10 to keep the project aligned with the latest hedgehog testing ecosystem. The upgrade requires additional type constraints in test modules to maintain API compatibility with the new version.

The hedgehog-extras library provides testing utilities for Hedgehog property-based testing, and this upgrade brings performance improvements and enhanced testing capabilities to the cardano-cli test suite.

How to trust this PR

Key Changes Made:

  • Updated hedgehog-extras constraint from ^>=0.7.1 to ^>=0.10 in cardano-cli.cabal
  • Added required language extension FlexibleContexts to Hash test module
  • Added type constraints: MonadBaseControl IO, H.MonadAssertion for API compatibility
  • Updated hackage index state to 2025-09-10T10:05:13Z for proper dependency resolution
  • Updated flake.lock with new hackage.nix revision

Testing the Changes:

# Verify the build works with new dependency
cabal build cardano-cli-test

# Run the hash tests specifically to verify compatibility
cabal test cardano-cli-test:cardano-cli-test --test-options "--pattern Hash"

# Run full test suite to ensure no regressions
cabal test

Files Modified:

  • cabal.project - Updated hackage index state
  • cardano-cli/cardano-cli.cabal - Updated hedgehog-extras version constraint
  • cardano-cli/test/cardano-cli-test/Test/Cli/Run/Hash.hs - Added required type constraints and language extension
  • flake.lock - Updated hackage.nix reference

The changes are minimal and focused on maintaining compatibility with the upgraded dependency while preserving all existing functionality.

Checklist

  • Commit sequence broadly makes sense and commits have useful messages
  • New tests are added if needed and existing tests are updated. See Running tests for more details
  • Self-reviewed the diff

@newhoggy newhoggy force-pushed the newhoggy/upgrade-to-hedgehog-extras-0.10.0.0 branch 3 times, most recently from 0fa48a3 to 027fd79 Compare September 12, 2025 23:14
@newhoggy newhoggy force-pushed the newhoggy/upgrade-to-hedgehog-extras-0.10.0.0 branch 2 times, most recently from 6d815c2 to ae1a506 Compare September 21, 2025 09:57
@newhoggy newhoggy changed the title Upgrade to hedgehog-extras-0.10.0.0 feat: newhoggy upgrade to hedgehog extras 0.10.0.0 Sep 21, 2025
@newhoggy newhoggy changed the title feat: newhoggy upgrade to hedgehog extras 0.10.0.0 deps(test): upgrade hedgehog-extras to 0.10.0.0 Sep 21, 2025
@newhoggy newhoggy force-pushed the newhoggy/upgrade-to-hedgehog-extras-0.10.0.0 branch from ae1a506 to ca97842 Compare September 21, 2025 14:05
@newhoggy newhoggy marked this pull request as ready for review September 21, 2025 14:40
@newhoggy newhoggy requested a review from a team September 21, 2025 14:40
@newhoggy newhoggy force-pushed the newhoggy/upgrade-to-hedgehog-extras-0.10.0.0 branch 4 times, most recently from 3167233 to 4b451c3 Compare September 26, 2025 06:05
@newhoggy newhoggy force-pushed the newhoggy/upgrade-to-hedgehog-extras-0.10.0.0 branch from f12acaf to d3d4e72 Compare September 28, 2025 14:18
newhoggy and others added 7 commits September 29, 2025 00:40
Updates hedgehog-extras dependency to version 0.10, which introduces
breaking API changes requiring MonadBaseControl constraint additions
to test code.

- Add FlexibleContexts language extension for constraint handling
- Import Control.Monad.Trans.Control for MonadBaseControl
- Add MonadBaseControl IO constraint to hash_trip_fun signature
- Add MonadAssertion constraint for hedgehog compatibility

Also updates hackage index to 2025-09-10 to access the newer version.
Removes the fixed 2024.09.15 version pin from haskell.nix input,
allowing the project to track the latest haskell.nix infrastructure.

This update brings:
- Latest GHC compiler infrastructure improvements
- Updated Haskell Language Server (HLS) versions 2.10 and 2.11
- New hackage-for-stackage and hackage-internal inputs
- Removal of deprecated hydra and ghc-8.6.5-iohk dependencies
- Addition of nixpkgs-2411 and nixpkgs-2505 channels

The flake.lock updates reflect the new dependency graph structure
with cleaner separation between hackage snapshots and internal tooling.
Adds --hsc2hs-option=--cflag=-Wno-int-conversion to the basement
package configure flags to suppress int conversion warnings that
cause build failures on mingw32 Windows targets.

This fixes a known issue where basement's C bindings fail to
compile under mingw32 due to stricter type checking in newer
GCC versions.
Updates critical cryptographic and build infrastructure dependencies
to their latest stable versions for improved performance and security.

- Upgrade blst from v0.3.11 to v0.3.14 (supranational BLS12-381 library)
- Update nixpkgs from release-22.11 to release-25.05
- Refresh iohk-nix with latest dependency pins

The blst upgrade includes performance improvements and bug fixes for
BLS signature operations. The nixpkgs update provides newer compiler
toolchains and system packages required for the build infrastructure.
Adds constraint network <3.2.8.0 specifically for Windows builds
to work around network-3.2.8.0 issues when running tests under
WINE (see haskell/network#604).

This ensures test suites can run successfully in cross-platform
CI environments using WINE for Windows testing.
@newhoggy newhoggy force-pushed the newhoggy/upgrade-to-hedgehog-extras-0.10.0.0 branch from d3d4e72 to 080ac73 Compare September 28, 2025 14:40
@newhoggy newhoggy added this pull request to the merge queue Sep 29, 2025
Merged via the queue into master with commit 3c53640 Sep 29, 2025
25 checks passed
@newhoggy newhoggy deleted the newhoggy/upgrade-to-hedgehog-extras-0.10.0.0 branch September 29, 2025 12:03
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.

4 participants