hedgehog-extras: Supplemental library for hedgehog

[ apache, library, test ] [ Propose Tags ] [ Report a vulnerability ]
Versions [RSS] 0.3.0.1, 0.3.0.2, 0.3.0.3, 0.4.0.0, 0.4.0.1, 0.4.1.0, 0.4.2.0, 0.4.3.0, 0.4.4.1, 0.4.5.1, 0.4.5.2, 0.4.6.0, 0.4.7.0, 0.4.7.1, 0.4.8.0, 0.5.0.0, 0.5.1.0, 0.6.0.0, 0.6.0.1, 0.6.0.2, 0.6.1.0, 0.6.2.0, 0.6.3.0, 0.6.4.0, 0.6.5.0, 0.6.5.1, 0.7.0.0, 0.8.0.0, 0.9.0.0, 0.10.0.0, 0.10.1.0 (info)
Change log CHANGELOG.md
Dependencies aeson (>=2.0.0.0 && <2.3), aeson-pretty (>=0.8.5 && <0.9), async (<2.3), base (>=4.12 && <4.22), bytestring (<0.13), containers (<0.9), deepseq (<1.6), Diff (<1.1), directory (<1.4), exceptions (<0.11), filepath (<1.6), hedgehog (<1.8), http-conduit (<2.4), lifted-async (<0.12), lifted-base (<0.3), mmorph (<1.3), monad-control (<1.1), mtl (<2.4), network (<3.3), process (<1.7), resourcet (<1.4), stm (<2.6), tar (>=0.7 && <0.8), tasty (<1.6), tasty-discover (>=5.0.2 && <5.3), tasty-hedgehog (<1.5), temporary (<1.4), text (<2.2), time (>=1.9.1 && <1.16), transformers (<0.7), transformers-base (<0.5), unliftio (<0.3), Win32 (>=2.5.4.1 && <2.15), yaml (<0.12), zlib (<0.8) [details]
License Apache-2.0[multiple license files]
Author IOHK
Maintainer operations@iohk.io
Category Test
Source repo head: git clone https://github.com/input-output-hk/hedgehog-extras
Uploaded by carbolymer at 2025-11-03T22:08:12Z
Distributions NixOS:0.7.0.0
Downloads 5476 total (50 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2025-11-03 [all 1 reports]

Readme for hedgehog-extras-0.10.1.0

[back to package description]

hedgehog-extras

Dependency Status CI

Supplemental library for hedgehog.

About

This library provides additional utilities and helpers for working with the Hedgehog property-based testing framework.

Installation

Add to your package.yaml or .cabal file:

dependencies:
  - hedgehog-extras

Releasing

This project has a hybrid automated/manual release flow:

Automatic Tagging (on main branch)

When you push a version bump to main, CI automatically creates a git tag:

  1. Update [CHANGELOG.md] to include the Unreleased changes in the changelog for the new version.
  2. Update hedgehog-extras.cabal and set version: to the new version
  3. Commit and push to main: git commit -m "Bump version to X.Y.Z.W" && git push origin main
  4. CI automatically creates and pushes tag vX.Y.Z.W
  5. The release workflow then runs automatically

Manual Tagging

Alternatively, you can manually create and push tags:

  1. Update hedgehog-extras.cabal with the new version
  2. Commit changes: git commit -m "Release X.Y.Z.W"
  3. Create tag: git tag -a vX.Y.Z.W -m "Release version X.Y.Z.W"
  4. Push both: git push origin main && git push origin vX.Y.Z.W

What Happens Automatically

When a tag is pushed (either automatically or manually), GitHub Actions:

  • Runs the full test suite across all platforms and GHC versions
  • Validates the cabal project with cabal check
  • Creates source distributions (cabal v2-sdist)
  • Uploads to Hackage as a candidate (requires HACKAGE_USER and HACKAGE_PASS secrets)
  • Generates release notes from git commit history
  • Creates a GitHub Release

Publishing the Hackage Candidate

After the workflow completes:

  1. Check the candidate at https://hackage.haskell.org/package/hedgehog-extras/candidates
  2. Test the candidate package
  3. When ready, publish it from the Hackage candidate page

Notes

  • The workflow is defined in .github/workflows/haskell.yml
  • Packages are uploaded as candidates, not published releases
  • Release notes are auto-generated from git commits since the last tag
  • The workflow requires HACKAGE_USER and HACKAGE_PASS repository secrets
  • Workflow requires contents: write permission (already configured)

License

Copyright 2025 Input Output Global, Inc.

Licensed under the Apache License, Version 2.0. See LICENSE for details.