Some things to keep in mind when making changes:
-
Add a comment to
CHANGELOG.md
under "Unreleased" when adding features, fixing bugs, or otherwise changing behaviors that users can see. -
When changing configuration, update the "Configuration" section in the README
To release a new version, do the following workflow:
-
Create a new branch
-
Bump version in
package.yaml
- All version bumps should follow PvP
-
Curate
CHANGELOG.md
, adding avX.Y.Z
section (but keep theUnreleased
section) -
Run
stack haddock
orcabal haddock
and skim through documentation
-
-
Create PR as usual and merge into
main
- In the
check_sdist
CI job, check the output of thestack sdist
step for any warnings. - Inspect the test jobs, make sure tests are running (and the plugin didn't break and finds zero tests)
- In the
-
Ensure your Hackage token is set in Settings > Secrets > Actions as
HACKAGE_TOKEN_<github_username>
(replace any non alphanumeric characters in username with_
).- Generate a token from
https://hackage.haskell.org/user/<hackage_username>/manage
- Generate a token from
-
Go to the GitHub Actions page, click on the "Release" workflow, and click "Run workflow" on the
main
branch -
Publish the candidate: https://hackage.haskell.org/package/tasty-autocollect/candidates
-
Publish the GitHub release: https://github.com/brandonchinn178/tasty-autocollect/releases