Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(ci): release notes procedure #4843

Merged
merged 1 commit into from
Oct 23, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 6 additions & 26 deletions release.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ NOTE: if you don't list any available builder, if you're on Ubuntu, you can inst
[[releasing-camel-k]]
== Release Camel K

As the process will do Git operations, it is advisable that you clone the Camel K repository to some new location (ie /tmp/) in order to avoid to conflict with any other development in progress. If you’re starting a major or a minor release version, you need to create the respective `release-a.b.x` branch. It’s highly advisable not to release directly from `main` branch.
As the process will do Git operations, it is advisable that you clone the Camel K repository to some new location (ie `/Desktop/`) in order to avoid to conflict with any other development in progress. If you’re starting a major or a minor release version, you need to create the respective `release-a.b.x` branch. It’s highly advisable not to release directly from `main` branch.

```
git clone https://github.com/apache/camel-k.git /tmp/camel-k
Expand All @@ -50,6 +50,8 @@ cd /tmp/camel-k
git checkout release-2.0.x
```

NOTE: don't use `/tmp/` directories as the release process may last a few days and files generated before the voting, will be used once the release is finalized. If you use any temporary directory, make sure to store the files generated by the release procedure or later recover them from Apache dist folders.

=== Create release branch

WARNING: Only run this when starting a new **major** or **minor** release.
Expand Down Expand Up @@ -181,35 +183,13 @@ cd release-utils/scripts/

Wait for maven mirrors to sync the new artifacts. This can take more than 1 hour sometimes.

[[release-notes]]
=== Release notes

Release notes can be generated with:

```
# previous version released on same branch, e.g. 1.8.0
export PREV=a.b.c
# current version to be released, e.g. 1.8.1
export CUR=x.y.z
# Branch where both tags are present
export BRANCH=main
# Personal access Token for accessing Github API
export GITHUB_TOKEN=token
# Run the release-notes command
./script/gen_release_notes.sh $PREV $CUR $BRANCH
```

A `release-notes.md` file is generated and can be attached to the release github issue for reference.

=== Github release
Binary files can be now released on Github, together with release notes generated in previous step. Files need to be uploaded manually to a new Github release.
You can start a release from the tag created in the previous steps (ie, `v2.1.0`). You can use the automatic release note generator, making sure to select the previous stable release. You need to manually add the CLI files and the CRDs dependency created in the previous steps. Select it as latest stable release and finalize the process.

Before announcing the release, a simple test should be done to verify that everything is in place (running a "Hello World" integration
Before announcing the release, perform a simple test to verify that everything is in place (running a "Hello World" integration
after an installation done with a simple `kamel install`). Do a simple final test.

The release can be now announced to [email protected] and [email protected].

A PMC member with access to the @ApacheCamel Twitter account should announce the release on Twitter as well.
The release can be now announced to [email protected] and [email protected] ideally accompanied by a blog post to explain what's new. A PMC member with access to the @ApacheCamel former Twitter account should announce the release on former Twitter as well.

[[post-release]]
== Post Release
Expand Down
2 changes: 1 addition & 1 deletion script/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -536,7 +536,7 @@ release-kustomize:
get-staging-repo:
@echo $(or ${STAGING_RUNTIME_REPO},https://repository.apache.org/content/repositories/snapshots@id=apache-snapshots@snapshots)

.PHONY: do-build build build-kamel build-resources dep codegen images images-push images-push-staging test check clean release cross-compile package-examples set-version git-tag release-notes check-licenses build-resources release-helm release-staging release-nightly get-staging-repo get-version bundle-kamelets
.PHONY: do-build build build-kamel build-resources dep codegen images images-push images-push-staging test check clean release cross-compile package-examples set-version git-tag check-licenses build-resources release-helm release-staging release-nightly get-staging-repo get-version bundle-kamelets
.PHONY: controller-gen kubectl kustomize operator-sdk opm

# find or download controller-gen if necessary
Expand Down
68 changes: 0 additions & 68 deletions script/gen_release_notes.sh

This file was deleted.

Loading