README.md
1# How to make a fortio release
2
3- Make sure `version/version.go`'s `major`/`minor`/`patch` is newer than the most recent [release](https://github.com/fortio/fortio/releases)
4
5- Update debian/changelog to match said upcoming release
6
7- Make a release there and document the changes since the previous release
8
9- Make sure to use the same git tag format (e.g "v0.7.1" - note that there is `v` prefix in the tag, like many projects but unlike the rest of istio). Docker and internal version/tag is "0.7.1", the `v` is only for git tags.
10
11- Make sure your git status is clean, and the tag is present (git pull) before the next step or it will get marked dirty/pre
12
13- Create the binary tgz, deb and rpm packages: `make release` (from/in the toplevel directory)
14
15- Upload the release/fortio-\*.tgz, .orig.tar.gz, .deb and .rpm to GitHub
16
17- Push the dist to Debian/Ubuntu
18
19- The docker official builds are done automatically based on tag, check [fortio's cloud docker build page](https://cloud.docker.com/app/fortio/repository/docker/fortio/fortio/builds)
20
21- Increment the `patch` and commit that right away so the first point is true next time and so master/latest docker images have the correct next-pre version.
22
23- Once the release is deemed good/stable: move the git tag `latest_release` to the same as the release.
24
25 ```Shell
26 # for instance for 0.11.0:
27 git fetch
28 git checkout v0.11.0
29 git tag -f latest_release
30 git push -f --tags
31 ```
32
33- Also push `latest_release` docker tag/image: wait for the autobuild to make it and then:
34
35 ```Shell
36 # for instance for 0.11.0:
37 docker image pull fortio/fortio:1.1.1
38 docker tag fortio/fortio:1.1.1 fortio/fortio:latest_release
39 docker push fortio/fortio:latest_release
40 ```
41
42- To update the command line flags in the ../README.md; go install the right version of fortio so it is in your path and run updateFlags.sh
43
44- Update the homebrew tap
45
46## How to change the build image
47
48Update [../Dockerfile.build](../Dockerfile.build)
49
50Edit the `BUILD_IMAGE_TAG := v5` line in the Makefile, set it to `v6`
51for instance (replace `v6` by whichever is the next one at the time)
52
53run
54
55```Shell
56make update-build-image
57```
58
59Make sure it gets successfully pushed to the fortio registry (requires org access)
60
61run
62
63```Shell
64make update-build-image-tag
65```
66
67Check the diff and make lint, webtest, etc and PR
68