mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-09 04:59:31 -06:00
2.9 KiB
2.9 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:
- Tag version format
RELEASE-X.Y - Title: "GF X.Y"
- Description: mention major changes since last release
- Publish the release to trigger the building of the binary packages (below).
3. Binary packages
The binaries will be built automatically by GitHub Actions when the release is created, but the generated artifacts must be manually attached to the release as assets.
- Go to the actions page and click "Build Binary Packages" under Workflows.
- Choose the workflow run corresponding to the newly created release.
- Download the artifacts locally. Extract the Ubuntu and macOS ones to get the
.deband.pkgfiles. - Go back to the releases page and click to edit the release information.
- Add the downloaded artifacts as release assets, giving them names with format
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.