1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
|
When releasing a new version of Agda standard library, the following
procedure should be followed:
#### Pre-release changes
* Update `doc/README.agda` by replacing 'development version' by 'version X.Y' in the title.
* Update the version to `X.Y` in:
- `agda-stdlib-utils.cabal`
- `standard-library.agda-lib`
- `CITATION.cff`
- `CHANGELOG.md`
- `README.md`
- `doc/installation-guide.md`
* Update the copyright year range in the LICENCE file, if necessary.
#### Pre-release tests
* Ensure that the library type-checks using Agda A.B.C:
make test
* Update submodule commit in the Agda repository:
cd agda
make fast-forward-std-lib
* Build the latest version of Agda
make quicker-install-bin
* Run the tests involving the library:
make test-using-std-lib
* Commit the changes and push
#### Release
* Tag version X.Y (do not forget to record the changes above first):
VERSION=X.Y
git tag -a v$VERSION -m "Agda standard library version $VERSION"
* Push all the changes and the new tag (requires Git >= 1.8.3):
git push --follow-tags
* Make a new release on Github at https://github.com/agda/agda-stdlib/releases
* Submit a pull request to update the version of standard library on Homebrew
(https://github.com/Homebrew/homebrew-core/blob/master/Formula/agda.rb)
* Update the Agda wiki:
** The standard library page.
** News section on the main page.
* Announce the release of the new version on the Agda mailing lists
(users and developers).
* Generate and upload documentation for the released version:
cp .github/tooling/* .
cabal run GenerateEverything.hs
./index.sh
agda -i. -idoc -isrc --html index.agda
mv html v$VERSION
git checkout gh-pages
git add v$VERSION/*.html v$VERSION/*.css
git commit -m "[ release ] doc for version $VERSION"
git push
After that you can cleanup the generated files and copies of things taken from travis/
from your agda-stdlib directory.
#### Post-release
* Move the CHANGELOG.md into the old CHANGELOG folders
* Create new CHANGELOG.md file
* Update `standard-library.agda-lib` to the new version/milestone on `master`
|