#coding=UTF-8 from BuildArchetypes import archetypes, getDeploymentContext from BuildDemos import demos import argparse, subprocess, cgi parser = argparse.ArgumentParser(description="Build report generator") parser.add_argument("version", type=str, help="Vaadin version that was just built") parser.add_argument("deployUrl", type=str, help="Base url of the deployment server") parser.add_argument("buildResultUrl", type=str, help="URL for the build result page") parser.add_argument("stagingRepo", type=str, help="URL for the staging repository") parser.add_argument("pluginRepo", type=str, help="URL for the maven plugin staging repository") parser.add_argument("tbapiUrl", type=str, help="URL for the TestBench API build") parser.add_argument("frameworkRevision", type=str, default="[fill in framework repository revision]", nargs="?") parser.add_argument("screenshotRevision", type=str, default="[fill in screenshot repository revision]", nargs="?") parser.add_argument("archetypeRevision", type=str, default="[fill in maven-integration repository revision]", nargs="?") parser.add_argument("mavenPluginRevision", type=str, default="[fill in maven-plugin repository revision]", nargs="?") args = parser.parse_args() content = """
Checks that might need a second build |
Create milestone for next release |
Closed fixed tickets without milestone {version} |
Closed tickets with milestone {version} |
Pending-release tickets with milestone {version} |
Pending-release tickets without milestone |
API Diff |
Release Notes |
Empty @since: \n %s |
No empty @since |
Try demos
|
Try archetype demos
|
Staging repository |
Maven Plugin Staging repository |
Eclipse Ivy Settings:""".format(repoUrl=args.stagingRepo, pluginRepoUrl=args.pluginRepo) content += cgi.escape(""" |
Preparations before publishing |
Close Trac Milestone |
Verify pending release tickets still have milestone {version} |
Add version {version} to Trac |
Result page (See test results, pin and tag build and dependencies) |
Commands to tag all repositories (warning: do not run as a single script but set variables and check before any push commands - this has not been tested yet and the change IDs are missing) |
GERRIT_USER=[fill in your gerrit username] VERSION={version} FRAMEWORK_REVISION={frameworkRevision} SCREENSHOTS_REVISION={screenshotRevision} ARCHETYPES_REVISION={archetypeRevision} PLUGIN_REVISION={mavenPluginRevision} git clone ssh://$GERRIT_USER@dev.vaadin.com:29418/vaadin cd vaadin git tag -a -m"$VERSION" $VERSION $FRAMEWORK_REVISION git push --tags cd .. git clone ssh://$GERRIT_USER@dev.vaadin.com:29418/vaadin-screenshots cd vaadin-screenshots git tag -a -m"$VERSION" $VERSION $SCREENSHOTS_REVISION git push --tags cd .. git clone ssh://$GERRIT_USER@dev.vaadin.com:29418/maven-integration cd maven-integration git tag -a -m"$VERSION" $VERSION $ARCHETYPES_REVISION git push --tags cd .. git clone ssh://$GERRIT_USER@dev.vaadin.com:29418/maven-plugin cd maven-plugin git tag -a -m"$VERSION" $VERSION $PLUGIN_REVISION git push --tags cd .. |
Build and publish TestBench API for version {version} if proceeding |