zentol commented on code in PR #1: URL: https://github.com/apache/flink-connector-shared-utils/pull/1#discussion_r1011301075
########## README.md: ########## @@ -1 +1,79 @@ -This repository contains utilities for [Apache Flink](https://flink.apache.org/) connectors. \ No newline at end of file +This is a collection of release utils for [Apache Flink](https://flink.apache.org/) connectors. + +# Integration + +The scripts assume that they are integrated into a connector repo as a submodule into the connector repo +under `tools/releasing/<some directory>`. + +# Usage + +Some scripts rely on environment variables to be set. +These are checked at the start of each script. +Any instance of `${some_variable}` in this document refers to an environment variable that is used by the respective +script. + +## check_environment.sh + +Runs some pre-release checks for the current environment, for example that all required programs are available. +This should be run once at the start of the release process. + +## publish_snapshot_branch.sh + +Creates (and pushes!) a new snapshot branch for the current commit. +The branch name is automatically determined from the version in the pom. +This script should be called when work on a new major/minor version has started. + +## update_branch_version.sh + +Updates the version in the poms of the current branch to `${NEW_VERSION}`. + +## stage_source_release.sh + +Creates a source release from the current branch and pushes it via `svn` +to [dist.apache.org](https://dist.apache.org/repops/dist/dev/flink). +The version is automatically determined from the version in the pom. +The created `svn` directory will contain a `-rc${RC_NUM}` suffix. + +## stage_jars.sh + +Creates the jars from the current branch and deploys them to [repository.apache.org](https://repository.apache.org). +The version will be suffixed with `-${FLINK_MINOR_VERSION}` to indicate the supported Flink version. +If a particular version of a connector supports multiple Flink versions then this script should be called multiple +times. + +## publish_git_tag.sh + +Creates a release tag for the current branch and pushes it to GitHub. +The tag will be suffixed with `-rc${RC_NUM}`, if `${RC_NUM}` was set. +This script should only be used _after_ the `-SNAPSHOT` version suffix was removd via `update_branch_version.sh`. + +## update_japicmp_configuration.sh + +Sets the japicmp reference version in the pom of the current branch to `${NEW_VERSION}`, enables compatibility checks +for `@PublicEvolving` when used on snapshot branches an clears the list of exclusions. +This should be called after a release on the associated snapshot branch. If it was a minor release it should +additionally be called on the `main` branch. + +# Common workflow + +1. run `publish_snapshot_branch.sh` +2. do some development work on the created snapshot branch +3. checkout a specific commit to create a release from +4. run `check_environment.sh` Review Comment: Basically the issue is that creating a snapshot branch will sometimes not be done by a release manager. For example, after the ES 3.0 release we have a v3.0 branch and a main branch on 4.0-SNAPSHOT. v3.1 would be created by _someone_ when we want to make some change that requires a new minor version. So all the other things the check does just aren't required. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@flink.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org