-
Notifications
You must be signed in to change notification settings - Fork 31
Validating release candidates
Zixuan Liu edited this page Dec 9, 2024
·
4 revisions
Before you start to validate the source tarball, make sure you have installed these software:
- OpenJDK 17
- Maven 3.9.9 (most recent stable Maven 3.9.x version)
Download the source tarball and extract it. The extracted files are in a directory called apache-pulsar-adapters-<release>-src
:
VERSION=3.0.0
CANDIDATE=2
wget https://dist.apache.org/repos/dist/dev/pulsar/pulsar-adapters-$VERSION-candidate-$CANDIDATE/apache-pulsar-adapters-$VERSION-src.tar.gz
wget https://dist.apache.org/repos/dist/dev/pulsar/pulsar-adapters-$VERSION-candidate-$CANDIDATE/apache-pulsar-adapters-$VERSION-src.tar.gz.asc
wget https://dist.apache.org/repos/dist/dev/pulsar/pulsar-adapters-$VERSION-candidate-$CANDIDATE/apache-pulsar-adapters-$VERSION-src.tar.gz.sha512sum
tar -zxvf apache-pulsar-adapters-$VERSION-src.tar.gz
Verify the GPG signature:
# Import the Pulsar KEYS
gpg --import <(curl https://dist.apache.org/repos/dist/release/pulsar/KEYS)
# Verify the source tarball
gpg --verify apache-pulsar-adapters-$VERSION-src.tar.gz
Verify the SHA512 sum:
sha512sum --check apache-pulsar-adapters-$VERSION-src.tar.gz.sha512sum
Build:
cd apache-pulsar-adapters-$VERSION-src
mvn clean install -DskipTests
Run unit test:
mvn -B -ntp -pl '!org.apache.pulsar.tests:pulsar-kafka-compat-client-test,!org.apache.pulsar.tests:pulsar-spark-test' clean verify
Run integration test:
git clone --depth 50 --single-branch --branch v3.0.7 https://github.com/apache/pulsar
cd pulsar
mvn -B -ntp -f tests/pom.xml -pl org.apache.pulsar.tests:tests-parent,org.apache.pulsar.tests:integration install
docker pull apachepulsar/pulsar-all:3.0.7
docker pull apachepulsar/pulsar:3.0.7
docker tag apachepulsar/pulsar-all:3.0.7 apachepulsar/pulsar-all:latest
docker tag apachepulsar/pulsar:3.0.7 apachepulsar/pulsar:latest
mvn -B -ntp -f tests/docker-images/pom.xml install -pl org.apache.pulsar.tests:latest-version-image -am -Pdocker,-main -DskipTests
# Go back to the adapters directory.
cd ..
mvn -B -ntp -pl org.apache.pulsar.tests:pulsar-kafka-compat-client-test,org.apache.pulsar.tests:pulsar-spark-test -am -DintegrationTests -DskipTests -DredirectTestOutputToFile=false clean verify
Create an empty project:
mvn archetype:generate -DgroupId=org.apache.pulsar -DartifactId=pulsar-adapters-candidate -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
Replace pom.xml
:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.apache.pulsar</groupId>
<artifactId>pulsar-adapters-candidate</artifactId>
<version>1.0.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<pulsar-adaterps.version>3.0.0</pulsar-adaterps.version>
</properties>
<repositories>
<repository>
<id>apache-adapters-candidate</id>
<!-- Maven staging repo -->
<url>https://repository.apache.org/content/repositories/orgapachepulsar-1320</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.pulsar</groupId>
<artifactId>pulsar-storm</artifactId>
<version>${pulsar-adaterps.version}</version>
</dependency>
<dependency>
<groupId>org.apache.pulsar</groupId>
<artifactId>pulsar-spark</artifactId>
<version>${pulsar-adaterps.version}</version>
</dependency>
<dependency>
<groupId>org.apache.pulsar</groupId>
<artifactId>pulsar-log4j2-appender</artifactId>
<version>${pulsar-adaterps.version}</version>
</dependency>
<dependency>
<groupId>org.apache.pulsar</groupId>
<artifactId>pulsar-client-kafka</artifactId>
<version>${pulsar-adaterps.version}</version>
</dependency>
</dependencies>
</project>
Verify the Maven can download the package from Maven staging repo:
mvn clean install -DskipTests