nim-wiki/Creating-a-release.md

40 lines
1019 B
Markdown

- Run the full testsuite (``tests\testament\tester all``) and ensure it's green; actually ensure travis is green (Usually the case these days)
- Update news.txt
- write a news ticker entry
- Update the version
- In system.nim
- Recompile koch!
- Generate the full docs; koch web0
- Test the installers: koch testinstall
- Tag the release, e.g. ```git tag -am "Version 0.15.0" v0.15.0```
- Push the tag: ```git push origin [tagname]```
- Run ``koch winrelease``
- Upload the produced .zips.
- Merge devel into master
- Update csources via ``koch pushcsources``
**The following shell script shall be replaced by 'koch unixrelease'**
Shell script to build a source tarball:
```sh
#!/bin/sh
set -eu
tmp_dir=$(mktemp -d)
cd $tmp_dir
git clone -q --depth 1 https://github.com/nim-lang/Nim.git
cd Nim
git clone -q --depth 1 https://github.com/nim-lang/csources
( cd csources && sh build.sh )
bin/nim c koch
./koch boot -d:release
./koch web0
PATH=$PATH:$(pwd)/bin
./koch csource -d:release
./koch xz -d:release
```