Skip to content

Latest commit

 

History

History
67 lines (47 loc) · 2.54 KB

RELEASING.md

File metadata and controls

67 lines (47 loc) · 2.54 KB

Steps to Release Grafeas

We're following semantic versioning approach to releases in Grafeas server. See versioning document for the rationale of API, server, and client versioning.

Create a Release PR

Modify the Grafeas version values for the containers in these locations:

Assemble all the meaningful changes since the last release into the CHANGELOG.md file.

Tag the release

Make sure your fork of the repository is updated. Assuming git remote shows the origin (the fork) and upstream (the main repository), do:

git pull origin master
git pull upstream master
git tag -am "grafeas-vX.Y.Z release" vX.Y.Z
git push upstream --tags

NOTE: the last command will not work if you set git remote set-url --push upstream no_push as described in DEVELOPMENT.md. You will need to re-enable the push for this to work, so proceed with caution.

You can find the releases in GitHub, e.g. v0.1.0.

Release the Docker image

Ensure you have the right access to push images. Set up the gcloud project:

PROJECT=grafeas
gcloud config set project $PROJECT
gcloud auth configure-docker
... gcloud credential helpers already registered correctly.

Now, build the Grafeas server image inside the fork, go/src/github.com/grafeas/grafeas:

docker build --tag=grafeas .
docker tag grafeas us.gcr.io/grafeas/grafeas-server:vX.Y.Z
docker push us.gcr.io/grafeas/grafeas-server:vX.Y.Z

Release the Grafeas Helm chart

You'll need to create service account key for grafeas-helm-manual-release and download it in JSON format. See instructions in the Obtaining and providing service account credentials manually section. Once you downloaded the key, set the GOOGLE_APPLICATION_CREDENTIALS environment variable:

export GOOGLE_APPLICATION_CREDENTIALS="/path/to/json-key.json"

Inside the fork, go/src/github.com/grafeas/grafeas, run the commands below:

cd grafeas-charts
helm init --client-only
helm plugin install https://github.com/hayorov/helm-gcs
helm repo add grafeas-charts-repository gs://grafeas-charts/repository
helm package .
helm gcs push grafeas-charts-*.tgz grafeas-charts-repository

Grafeas Helm chart.