Promoting a release

After the voting process has ended and the vote passed, following steps need to be taken to promote and create all release artifacts.

Renaming and moving the source code

The first step is to move the source code from the staging to the release folder in SVN, as the release candidate has been approved it will be renamed to the official release artifact.

Checkout or update your svn repository pointing to the staging area

# Checkout
svn co https://dist.apache.org/repos/dist/dev/hop hop_release

# Update
svn update

Checkout the release area

svn co https://dist.apache.org/repos/dist/release/hop/ hop_public_release

svn move the files from the staging area to the release area

cd hop_public_release
svn mkdir X.XX
cd X.XX
svn mv ~/svn/hop_release/apache-hop-X.XX-rcX/* .
svn commit -m 'Move release files for Apache hop 1.2.0-rc1'

Creating Dockerhub Artifacts

To create the docker images you can use the build used to create the client, go to the folder with the code and do following steps

first take a copy of the source code release and build the software (could be that you still have the build from the creating a release steps)

unzip ./assemblies/client/target/hop-client-*.zip -d ./assemblies/client/target/
unzip ./assemblies/web/target/hop.war -d ./assemblies/web/target/webapp
unzip ./assemblies/plugins/target/hop-assemblies-*.zip -d ./assemblies/plugins/target/
unzip -j ./assemblies/lib-jdbc/target/hop-assemblies-*.zip -d ./assemblies/lib-jdbc/target/jdbc-drivers

# Create image (make sure to add correct version)
docker buildx build --platform linux/amd64,linux/arm64 . -f docker/Dockerfile -t docker.io/apache/hop:X.XX -t docker.io/apache/hop:latest --push

# Create and push Hop Web
docker buildx build --platform linux/amd64,linux/arm64 . -f docker/Dockerfile.web -t docker.io/apache/hop-web:X.XX -t docker.io/apache/hop-web:latest --push

# Create and push Dataflow template
# Create hop-fatjar.jar
./assemblies/client/target/hop/hop-conf.sh --generate-fat-jar=../hop-fatjar.jar
# Create image
docker buildx build --platform linux/amd64,linux/arm64 . -f docker/Dockerfile.dataflowTemplate -t docker.io/apache/hop-dataflow-template:X.XX -t docker.io/apache/hop-dataflow-template:latest --push
docker buildx build --platform linux/amd64,linux/arm64 . -f docker/Dockerfile.web-fatjar -t docker.io/apache/hop-web:X.XX-beam -t docker.io/apache/hop-web:latest-beam --push

Update the website

edit following file and add a new release

hop-website/content/download/index.adoc

Update following file to add the release branch to the documentation

hop-website/site.yaml

Update following file to redirect the release to the latest version on the website

hop-website/.htaccess

push all changes to the master branch