114 lines
4.2 KiB
Plaintext
114 lines
4.2 KiB
Plaintext
#### Fission release
|
|
|
|
Prerequisites
|
|
-------------
|
|
|
|
1. Get a dockerhub account if you don't have one.
|
|
|
|
Get access to:
|
|
- The fission dockerhub account (https://hub.docker.com/r/fission/ if you have access, you will see Fission listed in your organizations: https://hub.docker.com/organizations/ )
|
|
- Fission-charts repo (https://github.com/fission/fission-charts)
|
|
- Fission Documentation Repo (https://github.com/fission/docs.fission.io)
|
|
- Fission main repo (https://github.com/fission/fission)
|
|
|
|
2. Get a Github "personal access token":
|
|
https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/
|
|
|
|
Save the token to ~/.gh-access-token (make sure that the file is
|
|
readable only by you)
|
|
|
|
3. Go toolchain set up.
|
|
|
|
The ability to build docker images.
|
|
|
|
`docker login` with your own username; get this username added to
|
|
the fission team on dockerhub.
|
|
|
|
4. Install changelog generator tool "github_changelog_generator": https://github.com/skywinder/github-changelog-generator
|
|
|
|
5. Install realpath if you don't already have it : https://github.com/harto/realpath-osx (You can use the brew method on Mac)
|
|
|
|
6. Install gothub if you don't already have it : https://github.com/itchio/gothub
|
|
You just have to go get github.com/itchio/gothub, that'll install gothub in $GOPATH/bin. Ensure this is already
|
|
in $PATH env variable.
|
|
|
|
|
|
Check that the build is green!
|
|
------------------------------
|
|
|
|
Fix the build if it is not green. DON'T proceed unless build is GREEN!
|
|
|
|
|
|
Updating Fission Repo (https://github.com/fission/fission)
|
|
------------------------------
|
|
|
|
1. cd to the top of the fission repo, create a branch:
|
|
|
|
git checkout -b vX.Y.Z
|
|
|
|
2. Change references of old version to new version in charts directory. You use replace and find all with a quick preview in your IDE.
|
|
|
|
3. Run
|
|
|
|
`./hack/release.sh <VERSION>`
|
|
|
|
This script checks to make sure you're releasing from the vX.Y.Z
|
|
branch, and that your repo is clean (no modified/staged files).
|
|
|
|
This will take a while as it builds and pushes all images (Approx ~2-3 hours)
|
|
|
|
4. After the build is successful, the charts will be in build/charts directory from root of Fission. Move these charts to fission/fission-charts repo. We will push them shortly after some changes to repo.
|
|
|
|
5. As part of release script, changelog.md has been modified. Take a look at it, correct it if you want and then commit it, discard other directories etc. produced by builders after inspection.
|
|
|
|
6. Now push this vx.y.z branch to remote repo. Create a PR and merge it into master branch.
|
|
|
|
a. Test build from master branch for sanity check
|
|
b. Make sure the master build is green
|
|
|
|
7.
|
|
|
|
Updating Fission Charts (https://github.com/fission/fission-charts)
|
|
------------------------------
|
|
a. Switch to fission/fission-charts repo and run `index.sh` in that repo. (Don't edit the index.yaml in this repo manually. index.sh generates it, using the helm repo CLI.)
|
|
|
|
b. You should have index.yaml and fission-core-*, fission-all-* charts as change, add, commit and push it to repo.
|
|
|
|
|
|
8. Go to Github Web UI --> Releases, here you will notice a pre-release for the version x.y.z you just created.
|
|
|
|
Edit it and add links to:
|
|
|
|
* Install guide in docs
|
|
* Changelog.md
|
|
|
|
Before you save the release - UNCHECK the "This is a pre-release" checkbox. This mark the release as ready for consumption (If release is stable).
|
|
|
|
Updating Fission Docs (https://github.com/fission/docs.fission.io)
|
|
------------------------------
|
|
|
|
9. Documentatin Update
|
|
|
|
a. Merge documentation PRs that are peer reviewed and get latest master locally.
|
|
|
|
b. In the repo fission/docs.fission.io change version in version.sh file to latest version (x.y.z) and run build.sh script
|
|
|
|
c. ** ONLY ** in the dist/x.y.z directory i.e. current version directory - replace all references from previous release to current release. Please use your IDE as there will be thousands of references.
|
|
|
|
d.VERIFY: There should be changes only in dist/x.y.z - where x.y.z is current version and in following files:
|
|
|
|
- dist/_redirects
|
|
- dist/index.html
|
|
- version.sh
|
|
|
|
|
|
Announce the release
|
|
--------------------
|
|
|
|
Announce the release on #contributors.
|
|
|
|
|
|
Update Fission.io
|
|
-----------------
|
|
|
|
Tell #marketing channel to update link |