First of all, thanks for taking the time to validate an Apache StreamPipes (incubating) release!
The following steps should help you in performing the necessary steps to validate a release. Any comments or improvements to this guide are highly appreciated!
...
- incubator-streampipes is the core of Apache StreamPipes
- This also contains all the extensions (> 20 adapters and > 100 pipeline elements) & the installer (containing files for docker, a CLI, and helm charts for Kubernetes)
Using the validation script
(sorry, the validation script is not yet available and will hopefully be ready after the first ASF release)
Manual validation
Validation
Prerequisites
For fully testing a release candidate, you should have the following installed on your system:
- JDK (tested with required: JDK 817+)
- Maven (tested with 3.6)
- NodeJS + NPM (tested with v12v16+/ v6v8+)
- Docker + Docker-Compose
...
The artifacts are available at at https://dist.apache.org/repos/dist/dev/incubatorstreampipes/streampipes
Typically, this includes one zip files along with checksum, signature, README, RELEASE_VALIDATION and RELEASE_NOTES.
You can either download the release artifacts one by one, or use the convenient single line command below:TODO: Update download link
Code Block | ||||
---|---|---|---|---|
| ||||
# download all release artifacts (core, extensions, installer) wget --recursive --no-host-directories -e robots=off --cut-dirs=5 --no-parent --reject "index.html*" https://dist.apache.org/repos/dist/dev/incubator/streampipes/ |
Step 2: Validate
...
streampipes
First, open the core folder (core/{version}/{rc}) (e.g., 0.70.0/rc1).
Check signatures and checksums
Verify the signature
If the output says "public key not found", follow the instructions in this guide: Validate a release for the first time
Code Block | ||||
---|---|---|---|---|
| ||||
gpg --verify apache-streampipes-{current-full-version}-incubating-source-release.zip.asc apache-streampipes-{current-full-version}-incubating-source-release.zip # example gpg --verify apache-streampipes-0.6892.0-incubating-source-release.zip.asc apache-streampipes-0.6892.0-incubating-source-release.zip |
Verify the checksum
Code Block | ||
---|---|---|
| ||
sha512sum -c apache-streampipes-{current-full-version}-incubating-source-release.zip.sha512 # example: sha512sum -c apache-streampipes-0.6892.0-incubating-source-release.zip.sha512 # alternative (if you get an error such as no properly formatted SHA512 checksum lines found) # print the checksum cat apache-streampipes-0.6892.0-incubating-source-release.zip.sha512 # print the checksum of the zip file sha512sum apache-streampipes-0.6892.0-incubating-source-release.zip # compare both checksums |
...
Code Block | ||
---|---|---|
| ||
unzip apache-streampipes-{current-full-version}-incubating-source-release.zip cd apache-streampipes-{current-full-version}-incubating/ # example: unzip apache-streampipes-0.6892.0-incubating-source-release.zip cd apache-streampipes-0.6892.0-incubating/ |
Verify legal information and required files
...
Code Block | ||
---|---|---|
| ||
# cdin download-dir/apache-streampipes-#.##.#-incubating/ directory mvn clean package |
This build should be successful.
...
Code Block | ||
---|---|---|
| ||
# cd ui npm install # If you are running NPM > v7, do npm install --legacy-peer-deps npm run build |
Start test system
...
Go back to the main directory of the core release artifact (where the docker-compose.yml file is located) and do the following:TODO: Check if location is still the same
Code Block | ||
---|---|---|
| ||
# in most cases, this step is optional - seems to only occur in rare cases on Windows systems
# Set the correct EOL encoding for the UI entrypoint file (docker-entrypoint.sh) file to LF:
awk 'BEGIN{RS="^$";ORS="";getline;gsub("\r","");print>ARGV[1]}' ui/docker-entrypoint.sh
# Alternative: Open the file ui/docker-entrypoint.sh, change the eol encoding to "LF" (e.g., in Notepad++ by clicking on "Windows CRLF" in the bottom status bar). |
...
Code Block | ||
---|---|---|
| ||
# from root directory
docker-compose up --build -d
# Use docker-compose up to run it in foreground
# Docker images will be locally built |
...