From 81928eb61a7bffceb5beeefaad48ea53ad771649 Mon Sep 17 00:00:00 2001 From: Stian Thorgersen Date: Tue, 18 Aug 2015 12:56:43 +0200 Subject: [PATCH] Updated release process docs --- distribution/downloads/pom.xml | 258 +++++++++++++++++++++++++++++++++ distribution/pom.xml | 10 ++ misc/ReleaseProcess.md | 122 +++++++++------- pom.xml | 66 +++++++++ 4 files changed, 406 insertions(+), 50 deletions(-) create mode 100755 distribution/downloads/pom.xml diff --git a/distribution/downloads/pom.xml b/distribution/downloads/pom.xml new file mode 100755 index 0000000000..5062af97fe --- /dev/null +++ b/distribution/downloads/pom.xml @@ -0,0 +1,258 @@ + + 4.0.0 + + org.keycloak + distribution-pom + 1.5.0.Final-SNAPSHOT + + + keycloak-dist-downloads + pom + Keycloak Release Downloads + + + + + + + + + + org.apache.maven.plugins + maven-deploy-plugin + + true + + + + org.apache.maven.plugins + maven-dependency-plugin + + + server-downloads + install + + copy + + + + + org.keycloak + keycloak-server-dist + zip + keycloak-${project.version}.zip + + + org.keycloak + keycloak-server-dist + tar.gz + keycloak-${project.version}.tar.gz + + + + org.keycloak + keycloak-demo-dist + zip + keycloak-demo-${project.version}.zip + + + org.keycloak + keycloak-demo-dist + tar.gz + keycloak-demo-${project.version}.tar.gz + + + + org.keycloak + keycloak-server-overlay + zip + keycloak-overlay-${project.version}.zip + + + org.keycloak + keycloak-server-overlay + tar.gz + keycloak-overlay-${project.version}.tar.gz + + + + org.keycloak + keycloak-server-overlay-eap6 + zip + keycloak-overlay-eap6-${project.version}.zip + + + org.keycloak + keycloak-server-overlay-eap6 + tar.gz + keycloak-overlay-eap6-${project.version}.tar.gz + + + + org.keycloak + keycloak-proxy-dist + zip + keycloak-proxy-${project.version}.zip + + + + org.keycloak + keycloak-docs-dist + zip + keycloak-docs-${project.version}.zip + + + org.keycloak + keycloak-examples-dist + zip + keycloak-examples-${project.version}.zip + + + org.keycloak + keycloak-src-dist + zip + keycloak-src-${project.version}.zip + + + target/${project.version} + + + + + adapter-downloads + install + + copy + + + + + org.keycloak + keycloak-as7-adapter-dist + zip + + + org.keycloak + keycloak-as7-adapter-dist + tar.gz + + + + org.keycloak + keycloak-eap6-adapter-dist + zip + + + org.keycloak + keycloak-eap6-adapter-dist + tar.gz + + + + org.keycloak + keycloak-jetty81-adapter-dist + zip + + + org.keycloak + keycloak-jetty81-adapter-dist + tar.gz + + + + org.keycloak + keycloak-jetty91-adapter-dist + zip + + + org.keycloak + keycloak-jetty91-adapter-dist + tar.gz + + + + org.keycloak + keycloak-jetty92-adapter-dist + zip + + + org.keycloak + keycloak-jetty92-adapter-dist + tar.gz + + + + org.keycloak + keycloak-js-adapter-dist + zip + + + org.keycloak + keycloak-js-adapter-dist + tar.gz + + + + org.keycloak + keycloak-tomcat6-adapter-dist + zip + + + org.keycloak + keycloak-tomcat6-adapter-dist + tar.gz + + + + org.keycloak + keycloak-tomcat7-adapter-dist + zip + + + org.keycloak + keycloak-tomcat7-adapter-dist + tar.gz + + + + org.keycloak + keycloak-tomcat8-adapter-dist + zip + + + org.keycloak + keycloak-tomcat8-adapter-dist + tar.gz + + + + org.keycloak + keycloak-wf8-adapter-dist + zip + + + org.keycloak + keycloak-wf8-adapter-dist + tar.gz + + + + org.keycloak + keycloak-wf9-adapter-dist + zip + + + org.keycloak + keycloak-wf9-adapter-dist + tar.gz + + + target/${project.version}/adapters + + + + + + + diff --git a/distribution/pom.xml b/distribution/pom.xml index 46f3dc6dd6..95c0531ee8 100755 --- a/distribution/pom.xml +++ b/distribution/pom.xml @@ -25,4 +25,14 @@ src-dist feature-packs + + + + jboss-release + + downloads + + + + diff --git a/misc/ReleaseProcess.md b/misc/ReleaseProcess.md index d7dd7c1a61..9e5c5dbe9a 100644 --- a/misc/ReleaseProcess.md +++ b/misc/ReleaseProcess.md @@ -1,68 +1,90 @@ ## Test -* Make sure tests pass on Travis -* Make sure tests pass on Jenkins +* Make sure tests pass on Travis (https://travis-ci.org/keycloak/keycloak) +* Make sure tests pass on Jenkins (https://jenkins.mw.lab.eng.bos.redhat.com/hudson/view/Keycloak/job/keycloak_all/) * Go through the (manual testing)[https://docs.google.com/spreadsheets/d/17C_WEHNE03r5DxN71OXGJaytjA6_WjZKCXRcsnmNQD4] -## Create release -* Get from github -``` -$ git@github.com:keycloak/keycloak.git -``` +## Release -* Build everything to make sure its kosher. -``` -$ cd keycloak -$ mvn -Pjboss-release install -``` +*Releasing currently requires using JDK 7 due to a bug in JAX-RS Doclets* -* Upload to Nexus (from project root) -``` -$ mvn -Pjboss-release deploy -``` +### Clone from GitHub -* Login to Nexus and release the maven repository uploads in the staging area. + # git clone https://github.com/keycloak/keycloak.git + # cd keycloak -* Upload src and distro zips to sf.net/projects/keycloak. This includes appliance, war-dist, each adapter, and proxy distros. You need to create an adapters folder on sf.net and each uploaded adapter there. +### Update version -* Upload documentation to http://keycloak.github.io/ -``` -$ git clone https://github.com/keycloak/keycloak.github.io.git -$ cd keycloak.github.io.git/docs -$ rm -rf * -$ unzip distribution/docs-dist/target/keycloak-docs-1.0.0.Final.zip -$ git add --all -$ git commit -$ git push -``` -* tag release -``` -$ git tag -a -m "1.0.0.Final" 1.0.0.Final -$ git push --tags -``` + # mvn versions:set -DnewVersion=$VERSION -DgenerateBackupPoms=false -Pjboss-release -## Update Bower -``` -$ git clone https://github.com/keycloak/keycloak-js-bower -$ cp dist/keycloak-js-bower -$ cp dist/keycloak-js-bower -``` -Edit bower.json and set version (include -beta -rc, but not -final). Create tag. +### Build -## Update OpenShift Cartridge + # mvn install install -Pdistribution + # mvn install -Pjboss-release -DskipTests -See https://github.com/keycloak/openshift-keycloak-cartridge for details +### Tag -## Update Docker image + # git tag $VERSION + # git push --tags + +### Deploy to Nexus + + # mvn deploy -DskipTests -Pjboss-release + +Then login to Nexus and release the maven uploads in the staging area. Artifacts will eventually be synced to Maven Central, but this can take up to 24 hours. + +### Upload + +Upload all artifacts to downloads.jboss.org (see https://mojo.redhat.com/docs/DOC-81955 for more details): + + # rsync -rv --protocol=28 distribution/downloads/target/$VERSION keycloak@filemgmt.jboss.org:/downloads_htdocs/keycloak + +### Upload documentation + + # git clone https://github.com/keycloak/keycloak.github.io.git + # cd keycloak.github.io + # rm -rf docs + # unzip ../distribution/downloads/target/$VERSION/keycloak-docs-$VERSION.zip + # mv keycloak-docs-$VERSION docs + # git commit -m "Updated docs to $VERSION" + # git tag $VERSION + # git push --tags + + +## After Release + +### Update Bower + + # git clone https://github.com/keycloak/keycloak-js-bower + # cd keycloak-js-bower + # unzip ../distribution/downloads/target/$VERSION/adapters/keycloak-js-adapter-dist-$VERSION.zip + # mv keycloak-js-adapter-dist-$VERSION/*.js dist/keycloak-js-bower + # rmdir keycloak-js-adapter-dist-$VERSION + +Edit bower.json and set version (include -beta -rc, but not -final). Then commit create tag: + + # git commit -m "Updated to $VERSION" + # git tag $VERSION + # git push --tags + +### Update Website + +* Edit [Docs page](https://www.jboss.org/author/keycloak/docs.html) and update version +* Edit [Downloads page](https://www.jboss.org/author/keycloak/downloads) edit directory listing component and update version in title and project root + +### Announce release + +Write a blog post on blog.keycloak.org, blurb about what's new and include links to website for download and jira for changes. + +Copy blog post and send to keycloak-dev and keycloak-users mailing lists. + +Post link to blog post on Twitter (with Keycloak user). + +### Update OpenShift Cartridge Instructions TBD -## Maven central +### Update Docker image -Releases are automatically synced to Maven central, but this can take up to one day - -## Announce - -* Update Magnolia site to link keycloak docs and announcements. -* Write a blog and email about release including links to download, migration guide, docs, and blurb about what's new +Instructions TBD \ No newline at end of file diff --git a/pom.xml b/pom.xml index e5d04b336f..c9e3f76ff8 100755 --- a/pom.xml +++ b/pom.xml @@ -1051,12 +1051,24 @@ ${project.version} zip + + org.keycloak + keycloak-server-overlay-eap6 + ${project.version} + zip + org.keycloak keycloak-server-dist ${project.version} zip + + org.keycloak + keycloak-demo-dist + ${project.version} + zip + org.keycloak keycloak-util-embedded-ldap @@ -1068,6 +1080,18 @@ ${project.version} zip + + org.keycloak + keycloak-src-dist + ${project.version} + zip + + + org.keycloak + keycloak-proxy-dist + ${project.version} + zip + org.keycloak keycloak-examples-dist @@ -1080,6 +1104,48 @@ ${project.version} zip + + org.keycloak + keycloak-tomcat6-adapter-dist + ${project.version} + zip + + + org.keycloak + keycloak-tomcat7-adapter-dist + ${project.version} + zip + + + org.keycloak + keycloak-tomcat8-adapter-dist + ${project.version} + zip + + + org.keycloak + keycloak-jetty81-adapter-dist + ${project.version} + zip + + + org.keycloak + keycloak-jetty91-adapter-dist + ${project.version} + zip + + + org.keycloak + keycloak-jetty92-adapter-dist + ${project.version} + zip + + + org.keycloak + keycloak-js-adapter-dist + ${project.version} + zip + org.keycloak keycloak-as7-adapter-dist