# Run from the Ignite Extension project root mvn clean install -DskipTests -Pcheckstyle
# Run from the Ignite Extension project root mvn clean install -f modules/spring-boot-ext -Pcheckstyle -DskipTests
or
# Run from the Ignite Extension project root mvn clean install -pl :ignite-aws-ext -am -Pcheckstyle -DskipTests
You can refer to the Release Publishing Guide and Publishing Maven Releases to Maven Central Repository of the Apache Software Foundation release process for better understanding the whole process.
Create and push an extension release branch with the following branch name format: release/[extension-project-name]-[extension-version]
.
git remote set-url origin https://github.com/apache/ignite-extensions.git git checkout master git checkout -b release/ignite-aws-ext-1.0.0 git push origin release/ignite-aws-ext-1.0.0
Update Extension parent reference version and the extension module version using the scripts/update-versions.sh
.
# Usage: scripts/update-versions.sh [<ignite-parent-version>] <module-path> <module-release-version> scripts/update-versions.sh [2.13.0] modules/asw-ext/ 1.0.0
Run the Extension Prepare Release Candidate GitHub Action using the release branch as job source this job will also create a rc-tag which points to the last commit in the release branch.
From the execution job result download the zip
artifact containing all the stuff required for signing and deploying release artifacts.
Run the vote_[mvn][pgp]_jar_deploy.sh
to sign and deploy extensions jar's to Maven Central.
Run the vote_[pgp]_sign_dist.sh
to sign the extension binary and source zip-archives.
Run the vote_[svn]_upload_dist.sh
to upload signed zip-archives.
Run the Extension Check Release Candidate GitHub Action to verify the papered release candidate.
Configure the act
command line utility. When you run act
it reads projects GitHub Actions from .github/workflows/
and determines the set of actions that need to be run on Docker image.
Use the following installation guide to install the act
command: https://github.com/nektos/act/blob/master/README.md#installation
act --job check --eventpath event.json -s GITHUB_TOKEN=[your_fork_github_token]
The event.json
:
{ "action": "workflow_dispatch", "inputs": { "extension-name": "ignite-zookeeper-ip-finder-ext", "release-version": "1.0.0" } }
The act
command executes the workflow in a docker container. Some docker images may not have the mvn
command pre-installed. Thus, you have to install it in the docker container manually as an action step. Use the step below to install Maven into container:
- name: Download Maven run: | curl -sL https://www-eu.apache.org/dist/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.zip -o maven.zip apt-get update apt-get -y install unzip unzip -d /usr/share maven.zip rm maven.zip ln -s /usr/share/apache-maven-3.6.3/bin/mvn /usr/bin/mvn echo "M2_HOME=/usr/share/apache-maven-3.6.3" | tee -a /etc/environment