Skip to content

Latest commit

 

History

History
 
 

hack

Assorted scripts for development

This directory contains several scripts useful in the development process of Knative Eventing.

  • boilerplate/add-boilerplate.sh Adds license boilerplate to txt or go files in a directory, recursively.
  • release.sh Creates a new release of Knative Eventing.
  • update-codegen.sh Updates auto-generated client libraries.
  • update-deps.sh Updates Go dependencies.
  • verify-codegen.sh Verifies that auto-generated client libraries are up-to-date.

Creating a release

Note: only Knative leads can create versioned releases.

See https://github.com/knative/test-infra/blob/main/ci for more information on creating releases.

Creating a major version release

GitHub UI

  1. Click the Branch dropdown.

  2. Type the desired release-X.Y branch name into the search box.

  3. Click the Create branch: release-X.Y from 'master' button. You must have write permissions to the repo to create a branch.

    Prow will detect the new release branch and run the release.sh script. If the build succeeds, a new tag vX.Y.0 will be created and a GitHub release published. If the build fails, logs can be retrieved from https://testgrid.knative.dev/eventing#auto-release.

  4. Write release notes and add them to the release.

Git CLI

  1. Fetch the upstream remote.

    git fetch upstream
  2. Create a release-X.Y branch from upstream/master.

    git branch --no-track release-X.Y upstream/master
  3. Push the branch to upstream.

    git push upstream release-X.Y

    You must have write permissions to the repo to create a branch.

    Prow will detect the new release branch and run the release.sh script. If the build succeeds, a new tag vX.Y.0 will be created and a GitHub release published. If the build fails, logs can be retrieved from https://testgrid.knative.dev/eventing#auto-release.

  4. Write release notes and add them to the release.

The major version release job is currently called ci-knative-eventing-auto-release and runs every alternate hour.

Creating a minor version release

  1. Fetch the upstream remote.

    git fetch upstream
  2. Create a branch based on the desired release-X.Y branch.

    git co -b my-backport-branch upstream/release-X.Y
  3. Cherry-pick desired commits from master into the new branch.

    git cherry-pick <commitid>
  4. Push the branch to your fork.

    git push origin
  5. Create a PR for your branch based on the release-X.Y branch.

    Once the PR is merged, Prow will detect the new commits in the release branch and run the release.sh script. If the build succeeds, a new tag vX.Y.Z will be created (where Z is the current minor version number + 1) and a GitHub release published. If the build fails, logs can be retrieved from https://testgrid.knative.dev/eventing#dot-release.

  6. Write release notes and add them to the release.

The minor version release job is currently called ci-knative-eventing-dot-release and runs every Tuesday at 09:56 Pacific time.