-
Notifications
You must be signed in to change notification settings - Fork 62
Steps to create a new release of Authservice
- Before starting, consider whether all of the related github issues have been tested (aka story acceptance has been performed).
- Make sure the commit of master that you want to release has passed tests on CI: https://github.com/istio-ecosystem/authservice/actions
- Check to ensure that any project documentation related to those new features/bugs has been updated as part of those commits, if needed.
- Make sure that the auto-generated docs are up to date using
make docs
from the top-level directory of the repo. Commit and push the readme file if there were any changes.
-
Tag the version of the code that you want to release.
git tag <version_number> <commit_sha>
where version number is in the format0.2.0
(note that there is nov
in the version number). If you omit the git sha argument then git will tag the latest commit on your current branch. -
Push the tag that you just created:
git push origin <version_number>
-
On this page, click the Draft a New Release button
-
Enter the tag name that you just pushed. It should auto-complete.
-
As the title, use
v<version_number>
(note thev
is prepended here). -
Enter the release notes as the description. Consider using these section headers: New Features, Bugs Fixed, Breaking Changes, Known Limitations. Consider providing links to all of the fixed github issues. Also consider providing links to any changed documentation pages. Here is a template to use for the release notes:
### New Features - Issue #63: Support http proxy servers when exchanging authcode for token - See new configuration option `proxy_uri` in [docs/README.md](docs/README.md) ### Bugs Fixed - Issue #79: authservice fails to exchange authorization code for access token with keycloak ### Breaking Changes - Note: remove this section if there are no breaking changes ### Known Limitations - Note: remove this section if there are no new known limitations The container image for this release can be found here: https://github.com/istio-ecosystem/authservice/packages/42399
-
Click Save Draft.
-
Tag the container image that you built, e.g.
docker tag 56b8339410b6 docker.pkg.github.com/istio-ecosystem/authservice/authservice:0.3.0-<git-sha>
. By convention, use the release version number and the git sha in the tag name, as shown here. -
If you have not already done it, create a personal access token, used to authenticate in the next step.
- Visit https://github.com/settings/tokens/new
- Fill in the Note field
- Check the box for
write:packages
- Click Generate
- Copy and paste the result somewhere permanent (e.g. LastPass or a file)
-
Log in to the docker cli:
cat ~/TOKEN.txt | docker login docker.pkg.github.com -u <USERNAME> --password-stdin
-
Push the build of the authservice container that you just tagged, e.g.
docker push docker.pkg.github.com/istio-ecosystem/authservice/authservice:0.3.0-<git-sha>
-
Go to this page, click on
authservice
to go to the latest version of the package, click theWrite a description
button, and add a description with a pointer to the related release like this one:Release notes: https://github.com/istio-ecosystem/authservice/releases/tag/0.3.0
-
Copy the url of the package that you just created, e.g. https://github.com/istio-ecosystem/authservice/packages/42399, and add it to the end of the release notes of the release that you just created, e.g.
The container image for this release can be found here: https://github.com/istio-ecosystem/authservice/packages/42399
- Consider asking other team members to review the draft release notes for accuracy and omissions before publishing.
- When you are ready to publish the draft release to make it public, click the Edit button for that release and click its Publish Release button.
- Go to istio.slack.com and announce the release in the #oidc-proposal channel, and also cross-post it to the #security channel. 🎉