Skip to content

Commit

Permalink
Add v0.54.0 Docs
Browse files Browse the repository at this point in the history
Add v0.54.0 docs link

Improve Release cheatsheet

Signed-off-by: Nikhil Thomas <[email protected]>
  • Loading branch information
nikhil-thomas committed Jan 18, 2022
1 parent 2217ee6 commit 0377d77
Show file tree
Hide file tree
Showing 3 changed files with 98 additions and 96 deletions.
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ bin/%: cmd/% FORCE

.PHONY: get-releases
get-releases: |
$Q ./hack/fetch-releases.sh $(TARGET) $(PIPELINES_VERSION) $(TRIGGERS_VERSION) $(DASHBOARD_VERSION) $(RESULTS_VERSION) || exit ;
$Q ./hack/fetch-releases.sh $(TARGET) $(TEKTON_PIPELINE_VERSION) $(TEKTON_TRIGGERS_VERSION) $(TEKTON_DASHBOARD_VERSION) $(TEKTON_RESULTS_VERSION) || exit ;

.PHONY: apply
apply: | $(KO) $(KUSTOMIZE) get-releases ; $(info $(M) ko apply on $(TARGET)) @ ## Apply config to the current cluster
Expand Down
14 changes: 8 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ The quickest and easiest way to install, upgrade and manage TektonCD [Pipelines]
[Dashboard](https://github.com/tektoncd/dashboard), [Triggers](https://github.com/tektoncd/triggers)
on any Kubernetes Cluster.


# Quick Start

## Install Tektoncd Operator
Expand All @@ -13,12 +12,14 @@ on any Kubernetes Cluster.
```
$ kubectl apply -f https://storage.googleapis.com/tekton-releases/operator/latest/release.yaml
```
1. Install Components (uses [installation profiles](https://github.com/tektoncd/operator/tree/main/config/crs/kubernetes/config): `lite`, `all`, `basic`)
2. Install Components (
uses [installation profiles](https://github.com/tektoncd/operator/tree/main/config/crs/kubernetes/config): `lite`
, `all`, `basic`)

Where

| Profile | Installed Component | Platform |
| ------- | ---- | ---- |
|---------|---------------------|----------|
| lite | Pipeline | Kubernetes, Openshift |
| basic | Pipeline, Trigger | Kubernetes, Openshift |
| all | Pipeline, Trigger, Dashboard | Kubernetes |
Expand Down Expand Up @@ -55,9 +56,10 @@ on any Kubernetes Cluster.

# Read the docs

| Version | Docs |
| ------- | ---- |
| [HEAD](/README.md) | [Docs @ HEAD](/docs/README.md) |
| Version | Docs |
|--------------------------------------------------------------------------|------------------------------------------------------------------------------|
| [HEAD](/README.md) | [Docs @ HEAD](/docs/README.md) |
| [v0.54.0](https://github.com/tektoncd/operator/releases/tag/v0.54.0) | [Docs @ v0.54.0](https://github.com/tektoncd/operator/tree/v0.54.0/docs) | [Examples @ v0.22.0](https://github.com/tektoncd/pipeline/tree/v0.54.0/examples#examples) |
| [v0.23.0-2](https://github.com/tektoncd/operator/releases/tag/v0.23.0-2) | [Docs @ v0.23.0-2](https://github.com/tektoncd/operator/tree/v0.23.0-2/docs) | [Examples @ v0.22.0](https://github.com/tektoncd/pipeline/tree/v0.23.0-2/examples#examples) |
| [v0.23.0-1](https://github.com/tektoncd/operator/releases/tag/v0.23.0-1) | [Docs @ v0.23.0-1](https://github.com/tektoncd/operator/tree/v0.23.0-1/docs) | [Examples @ v0.22.0](https://github.com/tektoncd/pipeline/tree/v0.23.0-1/examples#examples) |
| [v0.22.0-3](https://github.com/tektoncd/operator/releases/tag/v0.22.0-3) | [Docs @ v0.22.0-3](https://github.com/tektoncd/operator/tree/v0.22.0-3/docs) | [Examples @ v0.22.0](https://github.com/tektoncd/pipeline/tree/v0.22.0-3/examples#examples) |
Expand Down
178 changes: 89 additions & 89 deletions tekton/release-cheat-sheet.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
# Tekton Operator Official Release Cheat Sheet

These steps provide a no-frills guide to performing an official release
of Tekton Operator. To follow these steps you'll need a checkout of
the operator repo, a terminal window and a text editor.
These steps provide a no-frills guide to performing an official release of Tekton Operator. To follow these steps you'll
need a checkout of the operator repo, a terminal window and a text editor.

## Pre-requisites

Expand All @@ -11,79 +10,79 @@ the operator repo, a terminal window and a text editor.

## Setting up Release Branch

1. Select the commit you would like to build the release from, most likely the
most recent commit at https://github.com/tektoncd/operator/commits/main
1. Select the commit you would like to build the release from, most likely the most recent commit
at https://github.com/tektoncd/operator/commits/main
and note the commit's hash.

2. Define the version of the operator. At present, for each release we increment the minor version of operator. For
more details, refer [Tektoncd Operator Release](../docs/release/README.md). eg: `0.52.0` or `0.52.1` (patch release)
2. Define the version of the operator. At present, for each release we increment the minor version of operator. For more
details, refer [Tektoncd Operator Release](../docs/release/README.md). eg: `0.52.0` or `0.52.1` (patch release)

Set the version in a variable.

```bash
TEKTON_RELEASE_VERSION=0.52.0
TEKTON_RELEASE_VERSION=v0.52.0
```

3. Set the release branch name

4. minor version release vs patch release:
1. If this is a **new minor version release** create a new branch from either the head of `#main` branch if the commit
identified in step1.
**minor version release vs patch release:**
1. If this is a **new minor version release** create a new branch from either the head of `#main` branch if the
commit identified in step1.

```bash
TEKTON_RELEASE_BRANCH=release-v0.52.x
git checkout -b ${TEKTON_RELEASE_BRANCH}
```
2. If this is a **patch release** make sure that the correct branch is checkout.
eg: If we are making release v0.52.1, then make sure the `release-v0.52.x` is checked out.
TEKTON_RELEASE_BRANCH=release-v0.52.x git checkout -b ${TEKTON_RELEASE_BRANCH}
```
2. If this is a **patch release** make sure that the correct branch is checkout. eg: If we are making release
v0.52.1, then make sure the `release-v0.52.x` is checked out.

5. Update the Tektoncd Component versions in `test/config.sh` in the project root. This is necessary to pin
the component versions in e2e tests for a versioned branch
5. Update the Tektoncd Component versions in `test/config.sh` in the project root. This is necessary to pin the
component versions in e2e tests for a versioned branch

eg:
eg:
```bash
export PIPELINES_VERSION=v0.30.0
export TRIGGERS_VERSION=v0.17.1
export RESULTS_VERSION=v0.3.1
export DASHBOARD_VERSION=v0.22.0
export TEKTON_PIPELINE_VERSION=v0.30.0
export TEKTON_TRIGGERS_VERSION=v0.17.1
export TEKTON_RESULTS_VERSION=v0.3.1
export TEKTON_DASHBOARD_VERSION=v0.22.0
```

commit the `test/config.sh` file.
commit the `test/config.sh` file.

6. minor version release vs patch release:
1. if this is a minor version release push the branch to `github.com/tektoncd/operator`
1. if this is a minor version release push the branch to `github.com/tektoncd/operator`

```bash
git push tektoncd ${TEKTON_RELEASE_BRANCH}
```

2. if this is a patch release, make a pull request to the appropriate minor version release branch (eg: release-v0.52.x)
and get it merged before continuing to the next section.
2. if this is a patch release, make a pull request to the appropriate minor version release branch (eg:
release-v0.52.x)
and get it merged before continuing to the next section.

## Running Release Pipeline

1. [Setup a context to connect to the dogfooding cluster](#setup-dogfooding-context) if you haven't already.

2`cd` to root of Operator git checkout.

3. Make sure the release `Task` and `Pipeline` are up-to-date on the
cluster.
3. Make sure the release `Task` and `Pipeline` are up-to-date on the cluster.

- [publish-operator-release](https://github.com/tektoncd/operator/blob/main/tekton/build-publish-images-manifests.yaml)
- [publish-operator-release](https://github.com/tektoncd/operator/blob/main/tekton/build-publish-images-manifests.yaml)

This task uses [ko](https://github.com/google/ko) to build all container images we release and generate the `release.yaml`
```shell script
kubectl apply -f tekton/bases/build-publish-images-manifests.yaml
```
- [operator-release](https://github.com/tektoncd/operator/blob/main/tekton/operator-release-pipeline.yaml)
```shell script
kubectl apply -f tekton/overlays/versioned-releases/operator-release-pipeline.yaml
```
This task uses [ko](https://github.com/google/ko) to build all container images we release and generate
the `release.yaml`
```shell script
kubectl apply -f tekton/bases/build-publish-images-manifests.yaml
```
- [operator-release](https://github.com/tektoncd/operator/blob/main/tekton/operator-release-pipeline.yaml)
```shell script
kubectl apply -f tekton/overlays/versioned-releases/operator-release-pipeline.yaml
```

4. Create environment variables for bash scripts in later steps.

```bash
TEKTON_VERSION=# Example: v0.52.0
TEKTON_RELEASE_VERSION=# Example: v0.52.0
TEKTON_RELEASE_GIT_SHA=# SHA of the release to be released
TEKTON_PIPELINE_VERSION=# v0.28.0
TEKTON_TRIGGERS_VERSION=# v0.27.0
Expand Down Expand Up @@ -115,7 +114,7 @@ the operator repo, a terminal window and a text editor.
```bash
tkn --context dogfooding pipeline start operator-release \
--param=gitRevision="${TEKTON_RELEASE_GIT_SHA}" \
--param=versionTag="${TEKTON_VERSION}" \
--param=versionTag="${TEKTON_RELEASE_VERSION}" \
--param=TektonCDPipelinesVersion=${TEKTON_PIPELINE_VERSION} \
--param=TektonCDTriggersVersion=${TEKTON_TRIGGERS_VERSION} \
--param=TektonCDDashboardVersion=${TEKTON_DASHBOARD_VERSION} \
Expand Down Expand Up @@ -144,64 +143,65 @@ the operator repo, a terminal window and a text editor.
(...)
```
The `commit-sha` should match `$TEKTON_RELEASE_GIT_SHA`.
The two URLs can be opened in the browser or via `curl` to download the release manifests.
The `commit-sha` should match `$TEKTON_RELEASE_GIT_SHA`. The two URLs can be opened in the browser or via `curl` to
download the release manifests.
## Creating Github Release
1. The YAMLs are now uploaded to publically accesible gcs bucket! Anyone installing Tekton Pipelines will now get the new version. Time to create a new GitHub release announcement:
1. Create additional environment variables
```bash
TEKTON_OLD_VERSION=# Example: v0.11.1
TEKTON_PACKAGE=tektoncd/operator
```
1. The release announcement draft is created by the [create-draft-release](https://github.com/tektoncd/plumbing/blob/main/tekton/resources/release/base/github_release.yaml) task.
The task requires a `pipelineResource` to work with the operator repository. Create the pipelineresource:
```shell script
cat <<EOF | kubectl --context dogfooding create -f -
apiVersion: tekton.dev/v1alpha1
kind: PipelineResource
metadata:
name: tekton-operator-$(echo $TEKTON_VERSION | tr '.' '-')
namespace: default
spec:
type: git
params:
- name: url
value: 'https://github.com/tektoncd/operator'
- name: revision
value: ${TEKTON_RELEASE_GIT_SHA}
EOF
```
cat <<EOF | kubectl --context dogfooding create -f -
1. The YAMLs are now uploaded to publically accesible gcs bucket! Anyone installing Tekton Pipelines will now get the
new version. Time to create a new GitHub release announcement:
1. Execute the Draft Release task.
1. Create additional environment variables
```bash
tkn --context dogfooding task start \
-i source="tekton-operator-$(echo $TEKTON_VERSION | tr '.' '-')" \
-i release-bucket=tekton-operator-bucket \
-p package="${TEKTON_PACKAGE}" \
-p release-tag="${TEKTON_VERSION}" \
-p previous-release-tag="${TEKTON_OLD_VERSION}" \
-p release-name="" \
create-draft-release
```
```bash
TEKTON_PREV_RELEASE_VERSION=# Example: v0.11.1
TEKTON_PACKAGE=tektoncd/operator
```
1. The release announcement draft is created by
the [create-draft-release](https://github.com/tektoncd/plumbing/blob/main/tekton/resources/release/base/github_release.yaml)
task. The task requires a `pipelineResource` to work with the operator repository. Create the pipelineresource:
```shell script
cat <<EOF | kubectl --context dogfooding create -f -
apiVersion: tekton.dev/v1alpha1
kind: PipelineResource
metadata:
name: tekton-operator-$(echo $TEKTON_RELEASE_VERSION | tr '.' '-')
namespace: default
spec:
type: git
params:
- name: url
value: 'https://github.com/tektoncd/operator'
- name: revision
value: ${TEKTON_RELEASE_GIT_SHA}
EOF
```
cat <<EOF | kubectl --context dogfooding create -f -
1. Execute the Draft Release task.
```bash
tkn --context dogfooding task start \
-i source="tekton-operator-$(echo $TEKTON_RELEASE_VERSION | tr '.' '-')" \
-i release-bucket=tekton-operator-bucket \
-p package="${TEKTON_PACKAGE}" \
-p release-tag="${TEKTON_RELEASE_VERSION}" \
-p previous-release-tag="${TEKTON_PREV_RELEASE_VERSION}" \
-p release-name="" \
create-draft-release
```
1. Watch logs of create-draft-release
1. Watch logs of create-draft-release
1. On successful completion, a 👉 URL will be logged. Visit that URL and look through the release notes.
1. Manually add upgrade and deprecation notices based on the generated release notes
1. Double-check that the list of commits here matches your expectations
for the release. You might need to remove incorrect commits or copy/paste commits
from the release branch. Refer to previous releases to confirm the expected format.
1. On successful completion, a 👉 URL will be logged. Visit that URL and look through the release notes. 1. Manually
add upgrade and deprecation notices based on the generated release notes 1. Double-check that the list of commits
here matches your expectations for the release. You might need to remove incorrect commits or copy/paste commits
from the release branch. Refer to previous releases to confirm the expected format.
1. Un-check the "This is a pre-release" checkbox since you're making a legit for-reals release!
1. Un-check the "This is a pre-release" checkbox since you're making a legit for-reals release!
1. Publish the GitHub release once all notes are correct and in order.
1. Publish the GitHub release once all notes are correct and in order.
2. Edit `README.md` on `master` branch, add entry to docs table with latest release links.
Expand Down

0 comments on commit 0377d77

Please sign in to comment.