Commit Graph

49 Commits

Author SHA1 Message Date
Krishna Agarwal bcf781230e
KAFKA-16932: Add documentation for the native docker image (#16338)
This PR contains the the following documentation changes for the native docker image:

in the docker/README.md: How to build, release and promote the native docker image.
in the tests/README.md: How to run system tests by bringing up kafka in the native mode.
added docker/native/README.md
added html changes for the kafka-site
added native docker image support in the docker compose files examples.

Testing:
Tested all the docker compose files with both the docker images - jvm and native
Tested the html changes locally with the kafka-site

Reviewers: Manikumar Reddy <manikumar.reddy@gmail.com>, Vedarth Sharma <vesharma@confluent.io>
2024-06-16 14:01:13 +05:30
Manikumar Reddy dc189a39cc
MINOR: Improvements to release.py (#15651)
Reviewers: Chia-Ping Tsai <chia7712@gmail.com>
2024-04-06 20:55:25 +05:30
Matthias Berndt b9f1d59268
MINOR: fix syntax error in release.py (#15350)
Co-authored-by: Matthias Berndt <matthias.berndt@ttmzero.com>

Reviewers: Divij Vaidya <diviv@amazon.com>
2024-02-12 12:34:57 +01:00
Owen Leung cd328d84ac
KAFKA-15201: Allow git push to fail gracefully (#14645)
Reviewers: Divij Vaidya <diviv@amazon.com>, Qichao Chu <qichao@uber.com>
2024-02-08 12:09:54 +01:00
Vedarth Sharma c5ee82cab4
KAFKA-15881: Update Release Process for Docker images documentation (#14990)
Reviewers: Manikumar Reddy <manikumar.reddy@gmail.com>
2023-12-12 17:26:45 +05:30
Vedarth Sharma eec1530da0
KAFKA-15445: Add JVM Docker image (#14552)
This PR aims to add Apache Kafka JVM Docker image as per the following KIP - https://cwiki.apache.org/confluence/display/KAFKA/KIP-975%3A+Docker+Image+for+Apache+Kafka

Reviewers:  Ismael Juma <ismael@juma.me.uk>, Ashwin Pankaj <apankaj@confluent.io>, Manikumar Reddy <manikumar.reddy@gmail.com>, Sanjay Awatramani <sawatramani@confluent.io>, 
Nikita Konev
2023-12-06 15:59:13 +05:30
Owen Leung 9989b68d0d
KAFKA-15200: Add pre-requisite check in release.py (#14636)
Reviewers: Divij Vaidya <diviv@amazon.com>
2023-10-26 10:40:01 +02:00
iit2009060 d869bf5b22
KAFKA-15256: Adding reviewer as part of release announcement email template (#14288)
Reviewers: Divij Vaidya <diviv@amazon.com>, Philip Nee <pnee@confluent.io>
2023-08-28 11:25:38 +02:00
Gantigmaa Selenge f970ddff10
KAFKA-15210: Mention vote should be open for at atleast 72 hours in the release script (#14183)
Reviewers: Divij Vaidya <diviv@amazon.com>
2023-08-16 13:00:39 +02:00
Divij Vaidya 206a4af0d1
MINOR: Add co-authors to release email template (#14080)
Reviewers: Mickael Maison <mickael.maison@gmail.com>
2023-07-26 11:19:56 +02:00
Tanay Karmarkar f66a0f0bab
KAFKA-15199: Remove Leading and Trailing Spaces in release.py (#14035)
Reviewers: Divij Vaidya <diviv@amazon.com>
2023-07-19 09:35:05 +02:00
Yi-Sheng Lien b8f3776f24
KAFKA-15155: Follow PEP 8 best practice in Python to check if a container is empty (#13974)
Reviewers: Divij Vaidya <diviv@amazon.com>
2023-07-11 11:01:50 +02:00
Luke Chen aec30d7ca8
MINOR: update release.py (#13775)
Update release.py script:
  -  fix typo
  -  add more info about closing repository in stagingRepository

Reviewers: Mickael Maison <mickael.maison@gmail.com>
2023-06-05 15:02:35 +08:00
Lucas Brutschy 8f5c234224
MINOR: Fixes in release.py (#12648)
1. Permissions for mkdir set incorrectly, probably because it used incorrect python3 syntax (octals should use 0o prefix).

2. JAVA_HOME logic didn't seem to hold up to its promise. The original logic was broken when user input was empty. It was supposed to use JAVA_HOME system property to find java, but it wouldn't set jdk_java_home, so the following version check

java_version = cmd_output("%s/bin/java -version" % jdk_java_home, env=jdk_env)

would access /bin/java which does not exist on any system I know.

Reviewer: Bruno Cadonna <cadonna@apache.org>
2022-09-20 12:26:11 +02:00
David Jacot cec4d231ff
KAFKA-10712; Update release scripts to Python3 (#11538)
Reviewers: Mickael Maison <mickael.maison@gmail.com>
2021-11-29 10:42:14 +01:00
Mickael Maison 48575a9c2d
KAFKA-13284: Use sftp to upload artifacts in release.py (#11394)
- automatically upload artifacts to Apache Home using sftp
- fix the logic to find JDK 17

Reviewers: David Jacot <djacot@confluent.io>
2021-10-18 10:11:47 +02:00
Konstantine Karantasis 56928205bd
MINOR: Remove unsupported rsync and ssh commands from release.py (#11309)
ssh and rsync access has been removed from home.apache.org.
Removing the commands from release.py and replacing them with a note to make sure they are manually uploaded with an sftp client instead.

Reviewers: David Jacot <djacot@confluent.io>, Ismael Juma <ismael@juma.me.uk>
2021-09-08 13:28:07 -07:00
Ismael Juma 0118330103
KAFKA-13273: Add support for Java 17 (#11296)
Java 17 is at release candidate stage and it will be a LTS release once
it's out (previous LTS release was Java 11).

Details:
* Replace Java 16 with Java 17 in Jenkins and Readme.
* Replace `--illegal-access=permit` (which was removed from Java 17)
   with  `--add-opens` for the packages we require internal access to.
   Filed KAFKA-13275 for updating the tests not to require `--add-opens`
   (where possible).
* Update `release.py` to use JDK8. and JDK 17 (instead of JDK 8 and JDK 15).
* Removed all but one Streams test from `testsToExclude`. The
   Connect test exclusion list remains the same.
* Add notable change to upgrade.html
* Upgrade to Gradle 7.2 as it's required for proper Java 17 support.
* Upgrade mockito to 3.12.4 for better Java 17 support.
* Adjusted `KafkaRaftClientTest` and `QuorumStateTest` not to require
   private access to `jdk.internal.util.random`.

Reviewers: Manikumar Reddy <manikumar.reddy@gmail.com>, Chia-Ping Tsai <chia7712@gmail.com>
2021-09-06 08:55:52 -07:00
Josep Prat 588ea443c4
KAFKA-12782: Fix Javadocs generation by upgrading JDK (#10780)
This, upgrades JDK to version 15 for the docs generation, this way we
can circumvent bug https://bugs.openjdk.java.net/browse/JDK-8215291
present in JDK11

Reviewers: Ismael Juma <ismael@juma.me.uk>
2021-05-28 11:52:08 -07:00
A. Sophie Blee-Goldman 3805f3706f
KAFKA-12574: KIP-732, Deprecate eos-alpha and replace eos-beta with eos-v2 (#10573)
Deprecates the following 

1. StreamsConfig.EXACTLY_ONCE
2. StreamsConfig.EXACTLY_ONCE_BETA
3. Producer#sendOffsetsToTransaction(Map offsets, String consumerGroupId)

And introduces a new StreamsConfig.EXACTLY_ONCE_V2 config. Additionally, this PR replaces usages of the term "eos-beta" throughout the code with the term "eos-v2"

Reviewers: Matthias J. Sax <mjsax@confluent.io>
2021-04-28 13:22:15 -07:00
Ismael Juma 161c5638b8
KAFKA-12614: Use Jenkinsfile for trunk and release branch builds (#10473)
* Run all JDK/Scala version combinations for trunk/release branch builds.
* Only retry failures in PR builds for now (we can remove this distinction if/when
we report flaky failures as described in KAFKA-12216).
* Disable concurrent builds
* Send email to dev list on build failure
* Use triple double quotes in `doValidation` since we use string interpolation
for `SCALA_VERSION`.
* Update release.py to output new `Unit/integration tests` Jenkins link

Reviewers: Gwen Shapira <cshapi@gmail.com>, David Arthur <mumrah@gmail.com>
2021-04-05 08:42:04 -07:00
Ismael Juma 704cabf10d
MINOR: Use Java 11 for generating aggregated javadoc in release.py (#10399)
Java 11 generates html5 pages with search support, which provides a better user experience.

Fixed `get_jdk` bugs found during testing and updated `release.py` blurb to indicate that
both JDK 8 and JDK 11 are required to perform a release.

Tested by running `python2 release.py stage-docs`, which triggers the `aggregateJavadoc`
path without some of the undesired (for testing) release steps.

Reviewers: John Roesler <vvcephei@apache.org>
2021-03-25 20:09:32 -07:00
A. Sophie Blee-Goldman 5c22e03e9e
MINOR: add missing docs for record-e2e-latency metrics (#10251)
Need to add missing docs for the record-e2e-latency metrics, and new TRACE recording level

Reviewers: Walker Carlson <wcarlson@confluent.io>
2021-03-04 14:42:56 -08:00
Ismael Juma 7a3ebbebbc
KAFKA-12415 Prepare for Gradle 7.0 and restrict transitive scope for non api dependencies (#10203)
Gradle 7.0 is required for Java 16 compatibility and it removes a number of
deprecated APIs. Fix most issues preventing the upgrade to Gradle 7.0.
The remaining ones are more complicated and should be handled
in a separate PR. Details of the changes:

* Release tarball no longer includes includes test, sources, javadoc and test sources jars (these
are still published to the Maven Central repository).
* Replace `compile` with `api` or `implementation` - note that `implementation`
dependencies appear with `runtime` scope in the pom file so this is a (positive)
change in behavior
* Add missing dependencies that were uncovered by the usage of `implementation`
* Replace `testCompile` with `testImplementation`
* Replace `runtime` with `runtimeOnly` and `testRuntime` with `testRuntimeOnly`
* Replace `configurations.runtime` with `configurations.runtimeClasspath`
* Replace `configurations.testRuntime` with `configurations.testRuntimeClasspath` (except for
the usage in the `streams` project as that causes a cyclic dependency error)
* Use `java-library` plugin instead of `java`
* Use `maven-publish` plugin instead of deprecated `maven` plugin - this changes the
commands used to publish and to install locally, but task aliases for `install` and
`uploadArchives` were added for backwards compatibility
* Removed `-x signArchives` line from the readme since it was wrong (it was a
no-op before and it fails now, however)
* Replaces `artifacts` block with an approach that works with the `maven-publish` plugin
* Don't publish `jmh-benchmark` module - the shadow jar is pretty large and not
particularly useful (before this PR, we would publish the non shadow jars)
* Replace `version` with `archiveVersion`, `baseName` with `archiveBaseName` and
`classifier` with `archiveClassifier`
* Update Gradle and plugins to the latest stable version (7.0 is not stable yet)
* Use `plugin` DSL to configure plugins
* Updated notable changes for 3.0

Reviewers: Chia-Ping Tsai <chia7712@gmail.com>, Randall Hauch <rhauch@gmail.com>
2021-03-04 11:22:22 -08:00
Bill Bejeck a8247023a7
MINOR: Add releaseTarGz to args for building docs (#9528)
Reviewers: Ismael Juma <ismael@confluent.io>
2020-10-30 17:29:10 -04:00
Randall Hauch 11f75691b8
MINOR: Adjust 'release.py' script to use shell when using gradlewAll and PGP signing, which were required to build the 2.6.0 RCs (#9045) 2020-07-27 09:22:22 -05:00
John Roesler 91330d830d
MINOR: speed up release script (#9070)
Fixes slow release due to establishing a separate SSH connection per file to copy.

Reviewers: Manikumar Reddy <manikumar.reddy@gmail.com>
2020-07-24 15:31:44 -05:00
Ismael Juma dbe618c63c
KAFKA-9907: Switch default build to Scala 2.13 (#8537)
Scala 2.13.2 introduces support for suppressing warnings,
which makes it possible to enable fatal warnings. This is
useful enough from a development perspective to justify
this change.

In addition, Scala 2.13.2 also has a Vector implementation
with significant performance improvements and encoding
of String matches to switches.

Reviewers: Manikumar Reddy <manikumar.reddy@gmail.com>
2020-04-23 07:02:54 -07:00
Ismael Juma d6da0452b6
MINOR: Update to Gradle 6.3 (#7677)
* Introduce `gradlewAll` script to replace `*All` tasks since the approach
used by the latter doesn't work since Gradle 6.0 and it's unclear when,
if ever, it will work again ( see https://github.com/gradle/gradle/issues/11301).
* Update release script and README given the above.
* Update zinc to 1.3.5.
* Update gradle-versions-plugin to 0.28.0.

The major improvements in Gradle 6.0 to 6.3 are:
- Improved incremental compilation for Scala
- Support for Java 14 (although some Gradle plugins
like spotBugs may need to be updated or disabled,
will do that separately)
- Improved scalac reporting, warnings are clearly
marked as such, which is very helpful.

Tested `gradlewAll` manually for the commands listed in the README
and release script. For `uploadArchive`, I tested it with a local Maven
repository.

Reviewers: Manikumar Reddy <manikumar.reddy@gmail.com>
2020-04-19 19:24:21 -07:00
David Arthur 03f812aa4a
Add log message in release.py (#8461)
When building a release candidate with release.py, if it's not the first RC, we need to drop the previous RC's artifacts from the staging repository before closing the new ones. This adds a log message to remind the release manager of this
2020-04-16 09:00:12 -04:00
Manikumar Reddy 747ef08d47 MINOR: Remove unwanted regexReplace on tests/kafkatest/__init__.py
Author: Manikumar Reddy <manikumar.reddy@gmail.com>

Reviewers: Colin P. McCabe <cmccabe@apache.org>, Ismael Juma <ismael@juma.me.uk>

Closes #8072 from omkreddy/release-script
2020-02-21 20:17:52 +05:30
David Arthur 0780f0043d
Add retries to release.py script (#8021) 2020-01-30 14:29:14 -05:00
Matthias J. Sax 47b51260fd HOTFIX: Change header back to http instead of https to path license header test (#6347)
Reviewers: Jason Gustafson <jason@confluent.io>
2019-02-28 13:33:51 -08:00
Matthias J. Sax a7ce7e37f3
MINOR: fix release.py script (#6317)
Reviewer: Ewen Cheslack-Postava <ewen@confluent.io>
2019-02-28 11:55:29 -08:00
Colin P. Mccabe e942e294f0 MINOR: release.py: fix some compatibility problems.
Rather than using sed, use built-in Python regular expressions to strip
the SNAPSHOT expression from the pom.xml files.  Sed has different flags
on different platforms, such as Linux.  Using Python directly here is
more compatible, as well as being more efficient, and not requiring an
rm command afterwards.

When running release_notes.py, use the current Python interpreter.
This is needed to prevent attempting to run release_notes.py with
Python 3 on some systems.  release_notes.py will not (yet) work with
Python 3.

Author: Colin P. Mccabe <cmccabe@confluent.io>

Reviewers: Magnus Edenhill <magnus@edenhill.se>, David Arthur <mumrah@gmail.com>, Manikumar Reddy <manikumar.reddy@gmail.com>

Closes #6198 from cmccabe/release_py
2019-02-04 14:27:50 -08:00
Dong Lin 938e6aa22a MINOR: Improve maven artifactory url in release.py (#5931) 2018-11-20 12:17:02 +05:30
Ismael Juma b4722cc16f
KAFKA-7524: Recommend Scala 2.12 and use it for development (#5530)
Scala 2.12 has better support for newer Java versions and includes additional
compiler warnings that are helpful during development. In addition, Scala 2.11
hasn't been supported by the Scala community for a long time, the soon to be
released Spark 2.4.0 will finally support Scala 2.12 (this was the main reason
preventing many from upgrading to Scala 2.12) and Scala 2.13 is at the RC stage.
It's time to start recommending the Scala 2.12 build as we prepare support for
Scala 2.13 and start thinking about removing support for Scala 2.11.

In the meantime, Jenkins will continue to build all supported Scala versions (including
Scala 2.11) so the PR and trunk jobs will fail if people accidentally use methods
introduced in Scala 2.12.

Reviewers: Ewen Cheslack-Postava <me@ewencp.org>
2018-10-28 11:31:39 -07:00
Bibin Sebastian 83e98334a9 KAFKA-7131: Update release script to generate announcement email text
Author: Bibin Sebastian <bisebastian@DELC02QP51SG8WN.sea.corp.expecn.com>
Author: Ewen Cheslack-Postava <me@ewencp.org>

Reviewers: Matthias J. Sax <mjsax@apache.org>, Ewen Cheslack-Postava <ewen@confluent.io>

Closes #5572 from bibinss/release_mail
2018-10-20 20:43:22 -07:00
John Eismeier 83c3996974 MINOR: Fix some typos
Just a doc change

Author: John Eismeier <john.eismeier@gmail.com>

Reviewers: Ewen Cheslack-Postava <ewen@confluent.io>

Closes #4573 from jeis2497052/trunk
2018-10-20 19:40:53 -07:00
Rajini Sivaram 10a0b8a6ba
MINOR: Update build.gradle and release.py to upload streams-scala_2.12 (#5368)
Reviewers: Ismael Juma <ismael@juma.me.uk>, Guozhang Wang <wangguoz@gmail.com>
2018-07-19 11:33:34 +01:00
Matthias J. Sax 41abfcb642
MINOR: update release.py (#5374)
Reviewers: Ewen Cheslack-Postava <ewen@confluent.io>, Dong Lin <dolin@linkedin.com>
2018-07-17 13:12:13 -07:00
Ismael Juma e70a191d30
KAFKA-4423: Drop support for Java 7 (KIP-118) and update deps (#5046)
* Set --source, --target and --release to 1.8.
* Build Scala 2.12 by default.
* Remove some conditionals in the build file now that Java 8
is the minimum version.
* Bump the version of Jetty, Jersey and Checkstyle (the newer
versions require Java 8).
* Fixed issues uncovered by the new version if Checkstyle.
* A couple of minor updates to handle an incompatible source
change in the new version of Jetty.
* Add dependency to jersey-hk2 to fix failing tests caused
by Jersey upgrade.
* Update release script to use Java 8 and to take into account
that Scala 2.12 is now built by default.
* While we're at it, bump the version of Gradle, Gradle plugins,
ScalaLogging, JMH and apache directory api.
* Minor documentation updates including the readme and upgrade
notes. A number of Streams Java 7 examples can be removed
subsequently.
2018-05-21 23:17:42 -07:00
Ewen Cheslack-Postava f582a7515c MINOR: Extend release.py with a subcommand for staging docs into the kafka-site repo
Author: Ewen Cheslack-Postava <me@ewencp.org>

Reviewers: Ismael Juma <ismael@juma.me.uk>, Damian Guy <damian.guy@gmail.com>

Closes #3917 from ewencp/stage-docs
2018-02-28 10:28:55 -08:00
Ewen Cheslack-Postava 6541ab1993 MINOR: Update release script with new remote, better error handling, correct mvn deploy profile
Author: Ewen Cheslack-Postava <me@ewencp.org>

Reviewers: Damian Guy <damian.guy@gmail.com>, Ismael Juma <github@juma.me.uk>

Closes #4528 from ewencp/update-release-script
2018-02-06 09:38:35 -08:00
Guozhang Wang 54ed3435bf HOTFIX: Updates on release.py before 1.0.0
Author: Guozhang Wang <wangguoz@gmail.com>

Reviewers: Ismael Juma <ismael@juma.me.uk>, Ewen Cheslack-Postava <ewen@confluent.io>

Closes #4054 from guozhangwang/KMinor-pre-1.0-release
2017-10-11 14:20:41 -07:00
Damian Guy c587905954 MINOR: update release script for streams quickstart
Author: Damian Guy <damian.guy@gmail.com>

Reviewers: Ismael Juma <ismael@juma.me.uk>, Guozhang Wang <wangguoz@gmail.com>

Closes #3846 from dguy/minor-release-script
2017-09-20 17:57:07 +08:00
Ismael Juma 49b992dd8b MINOR: Use sha512 instead of sha2 suffix in release artifacts
As per Apache guidelines:

http://www.apache.org/dev/release-distribution#sigs-and-sums

Author: Ismael Juma <ismael@juma.me.uk>

Reviewers: Damian Guy <damian.guy@gmail.com>

Closes #3844 from ijuma/fix-sha512-naming
2017-09-13 12:42:05 +01:00
Ismael Juma b1871e5adf MINOR: Fix sftp_mkdir in release.py
Author: Ismael Juma <ismael@juma.me.uk>

Reviewers: Damian Guy <damian.guy@gmail.com>

Closes #3789 from ijuma/ftp-release-py-fixes
2017-09-05 10:27:36 +01:00
Ewen Cheslack-Postava 0eedd6d806 MINOR: Add a release script that helps generate release candidates.
Author: Ewen Cheslack-Postava <me@ewencp.org>

Reviewers: Gwen Shapira

Closes #2795 from ewencp/release-script and squashes the following commits:

f1d0590 [Ewen Cheslack-Postava] Don't expose promotion to the user since it is not implemented yet.
1a6947a [Ewen Cheslack-Postava] Handle cleanup if there's a failure during generation of release notes.
fa58401 [Ewen Cheslack-Postava] Fix hard-coded uses of trunk
639bcca [Ewen Cheslack-Postava] Try to cleanup after most failures.
a3a7245 [Ewen Cheslack-Postava] Fix SCRIPT_DIR to be an absolute path so git clones against the REPO work when it is also your cwd
de54c97 [Ewen Cheslack-Postava] Load/save preferences in a .release-settings.json file so you don't have to keep entering the same info repeatedly
b559a61 [Ewen Cheslack-Postava] Check that the user doesn't have any oustanding diffs before starting the rest of the script
ff0b330 [Ewen Cheslack-Postava] Store original starting branch to switch back to instead of using a default.
b793562 [Ewen Cheslack-Postava] Use 2.12 instead of specific Scala version so we use the default 2.12 version.
382b7f9 [Ewen Cheslack-Postava] MINOR: Add a release script that helps generate release candidates.
2017-05-10 13:09:25 -07:00