-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Release Production
nicowilliams edited this page Jan 1, 2015
·
4 revisions
When tagging for a release, make sure to autoreconf after tagging, or after fetching new tags, otherwise ./configure will have the wrong version baked in, and then so will the resulting Makefile.
Keep a distinct, clean workspace just for release building.
$ cd ~/workspaces # or whatever
$ git clone <your-dev-repo> jq-rel
$ cd jq-rel
$ git checkout -f master
$ git clean -fx
$ git pull -u
$ git pull --tags
$ autoreconf -fi
$ ./configure ... && make dist
$ tar xvf $(git describe --tags --match 'jq-*').tar.gz
$ cd $(git describe --tags --match 'jq-*')
$ ./configure ... && make -j16 check
$ # If checks pass, then you can release, if not fix bugs, repeat this
Cross-compile or otherwise build executables for all supported platforms.
Rename each executable something like jq-<OS>-<arch>
or jq-<OS>-<arch>.exe
as appropriate.
When a release is ready, tag it, create the release in github, add the source tarball made by make dist
, add the executables to the release, save, review, publish.
Last step: update the gh-pages branch and push it to update https://stedolan.github.io/jq
- Home
- FAQ
- jq Language Description
- Cookbook
- Modules
- Parsing Expression Grammars
- Docs for Oniguruma Regular Expressions (RE.txt)
- Advanced Topics
- Guide for Contributors
- How To
- C API
- jq Internals
- Tips
- Development