Note: The RGL is now released completely separately from GF Core. See the RGL's RELEASE.md.
Web pages
- Create
download/index-X.Y.md
with installation instructions. - Create
download/release-X.Y.md
with changelog information. - Update
download/index.html
to redirect to the new version. - Add announcement in news section in
index.html
.
Version numbers
- Update version number in
gf.cabal
(ommitting-git
suffix). - Add a new line in
debian/changelog
.
- When the above changes are committed to the
master
branch 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).
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
.deb
and.pkg
files. - 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
).
In order to do this you will need to be added the GF maintainers on Hackage.
- Run
stack sdist --test-tarball
and address any issues. - Upload the package, either:
- Manually: visit https://hackage.haskell.org/upload and upload the file generated by the previous command.
- via Stack:
stack upload . --candidate
- After testing the candidate, publish it:
- Manually: visit https://hackage.haskell.org/package/gf-X.Y.Z/candidate/publish
- via Stack:
stack upload .
- 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
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.