Update release instructions

This commit is contained in:
John J. Camilleri
2020-11-30 21:34:50 +01:00
parent 4223935b12
commit a7a6eb5581
2 changed files with 19 additions and 14 deletions

View File

@@ -41,7 +41,7 @@ jobs:
- name: Upload artifact - name: Upload artifact
uses: actions/upload-artifact@v2 uses: actions/upload-artifact@v2
with: with:
name: gf-${{ github.sha }}-debian name: gf-${{ github.sha }}-ubuntu
path: dist/gf_*.deb path: dist/gf_*.deb
if-no-files-found: error if-no-files-found: error

View File

@@ -11,14 +11,14 @@ See the [RGL's RELEASE.md](https://github.com/GrammaticalFramework/gf-rgl/blob/m
**Web pages** **Web pages**
1. Create `download/index-X.Y.md` with installation instructions. 1. Create `download/index-X.Y.md` with installation instructions.
1. Create `download/release-X.Y.md` with changelog information. 2. Create `download/release-X.Y.md` with changelog information.
1. Update `download/index.html` to redirect to the new version. 3. Update `download/index.html` to redirect to the new version.
1. Add announcement in news section in `index.html`. 4. Add announcement in news section in `index.html`.
**Version numbers** **Version numbers**
1. Update version number in `gf.cabal` (ommitting `-git` suffix). 1. Update version number in `gf.cabal` (ommitting `-git` suffix).
1. Add a new line in `debian/changelog`. 2. Add a new line in `debian/changelog`.
### 2. Create GitHub release ### 2. Create GitHub release
@@ -26,25 +26,30 @@ See the [RGL's RELEASE.md](https://github.com/GrammaticalFramework/gf-rgl/blob/m
and pushed, check that all CI workflows are successful (fixing as necessary): and pushed, check that all CI workflows are successful (fixing as necessary):
- <https://github.com/GrammaticalFramework/gf-core/actions> - <https://github.com/GrammaticalFramework/gf-core/actions>
- <https://travis-ci.org/github/GrammaticalFramework/gf-core> - <https://travis-ci.org/github/GrammaticalFramework/gf-core>
1. Create a GitHub release [here](https://github.com/GrammaticalFramework/gf-core/releases/new) using tag format `RELEASE-X.Y`. 2. Create a GitHub release [here](https://github.com/GrammaticalFramework/gf-core/releases/new):
- Tag version format `RELEASE-X.Y`
- Title: "GF X.Y"
- Description: mention major changes since last release
3. Publish the release to trigger the building of the binary packages (below).
### 3. Binary packages ### 3. Binary packages
The binaries will be built automatically by the GitHub Actions workflows, 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_. but the generated _artifacts_ must be manually attached to the release as _assets_.
1. Go to <https://github.com/GrammaticalFramework/gf-core/actions>. 1. Go to the [actions page](https://github.com/GrammaticalFramework/gf-core/actions) and click "Build Binary Packages" under _Workflows_.
1. Click "Build [platform] Package" under _Workflows_. 2. Choose the workflow run corresponding to the newly created release.
1. Choose the workflow run corresponding to the release commit SHA. 3. Download the artifacts locally. Extract the Ubuntu and macOS ones to get the `.deb` and `.pkg` files.
1. 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. Go back to the [releases page](https://github.com/GrammaticalFramework/gf-core/releases) and click to edit the release information.
5. 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 ### 4. Upload to Hackage
1. Run `make sdist` 1. Run `make sdist`
1. Upload the package, either: 2. Upload the package, either:
1. **Manually**: visit <https://hackage.haskell.org/upload> and upload the file `dist/gf-X.Y.tar.gz` 1. **Manually**: visit <https://hackage.haskell.org/upload> and upload the file `dist/gf-X.Y.tar.gz`
2. **via Cabal (≥2.4)**: `cabal upload dist/gf-X.Y.tar.gz` 2. **via Cabal (≥2.4)**: `cabal upload dist/gf-X.Y.tar.gz`
1. If the documentation-building fails on the Hackage server, do: 3. If the documentation-building fails on the Hackage server, do:
``` ```
cabal v2-haddock --builddir=dist/docs --haddock-for-hackage --enable-doc cabal v2-haddock --builddir=dist/docs --haddock-for-hackage --enable-doc
cabal upload --documentation dist/docs/*-docs.tar.gz cabal upload --documentation dist/docs/*-docs.tar.gz