mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-09 04:59:31 -06:00
2.4 KiB
2.4 KiB
GF Core releases
Note: The RGL is now released completely separately from GF Core. See the RGL's RELEASE.md.
Creating a new release
1. Prepare the repository
Web pages
- Create
download/index-X.Y.mdwith installation instructions. - Create
download/release-X.Y.mdwith changelog information. - Update
download/index.htmlto redirect to the new version. - Add announcement in news section in
index.html.
Version numbers
- Update version number in
gf.cabal(ommitting-gitsuffix). - Add a new line in
debian/changelog.
2. Create GitHub release
- When the above changes are committed to the
masterbranch in the repository and pushed, check that all CI workflows are successful (fixing as necessary):
- https://github.com/GrammaticalFramework/gf-core/actions
- https://travis-ci.org/github/GrammaticalFramework/gf-core
- Create a GitHub release here using tag format
RELEASE-X.Y.
3. Binary packages
The binaries will be built automatically by the GitHub Actions workflows, but the generated artifacts must be manually attached to the release as assets.
- Go to https://github.com/GrammaticalFramework/gf-core/actions.
- Click "Build [platform] Package" under Workflows.
- Choose the workflow run corresponding to the release commit SHA.
- Download the artifact locally, then add to the release with a name
gf-X.Y-PLATFORM.EXT(e.g.gf-3.11-macos.pkg).
4. Upload to Hackage
- Run
make sdist - Upload the package, either:
- Manually: visit https://hackage.haskell.org/upload and upload the file
dist/gf-X.Y.tar.gz - via Cabal (≥2.4):
cabal upload dist/gf-X.Y.tar.gz
- Manually: visit https://hackage.haskell.org/upload and upload the file
- If the documentation-building fails on the Hackage server, do:
cabal v2-haddock --builddir=dist/docs --haddock-for-hackage --enable-doc
cabal upload --documentation dist/docs/*-docs.tar.gz
Miscellaneous
What is the tag GF-3.10?
For GF 3.10, the Core and RGL repositories had already been separated, however
the binary packages still included the RGL. GF-3.10 is a tag that was created
in both repositories (gf-core and gf-rgl) to indicate which versions of each went into the binaries.