diff --git a/Makefile b/Makefile index d9babf9a3d..22c2945e55 100644 --- a/Makefile +++ b/Makefile @@ -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 diff --git a/README.md b/README.md index ef0bdeaba4..06419c0e58 100644 --- a/README.md +++ b/README.md @@ -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 @@ -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 | @@ -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) | diff --git a/tekton/release-cheat-sheet.md b/tekton/release-cheat-sheet.md index 53087655ea..5ab1bc6161 100644 --- a/tekton/release-cheat-sheet.md +++ b/tekton/release-cheat-sheet.md @@ -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 @@ -11,54 +10,54 @@ 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 @@ -66,24 +65,24 @@ the operator repo, a terminal window and a text editor. 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 @@ -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} \ @@ -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 <