You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

GenerateStagingReport.py 3.0KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. #coding=UTF-8
  2. from BuildArchetypes import archetypes, getDeploymentContext
  3. from BuildDemos import demos
  4. import argparse, cgi
  5. parser = argparse.ArgumentParser(description="Build report generator")
  6. parser.add_argument("version", type=str, help="Vaadin version that was just built")
  7. parser.add_argument("deployUrl", type=str, help="Base url of the deployment server")
  8. parser.add_argument("buildResultUrl", type=str, help="URL for the build result page")
  9. parser.add_argument("stagingRepo", type=str, help="URL for the staging repository")
  10. args = parser.parse_args()
  11. content = """<html>
  12. <head></head>
  13. <body>
  14. <table>
  15. """
  16. content += "<tr><td>Try demos<ul>"
  17. for demo in demos:
  18. content += "<li><a href='{url}/{demoName}-{version}'>{demoName}</a></li>\n".format(url=args.deployUrl, demoName=demo, version=args.version)
  19. content += "</ul></td></tr>\n<tr><td>Try archetype demos<ul>"
  20. for archetype in archetypes:
  21. content += "<li><a href='{url}/{context}'>{demo}</a></li>\n".format(url=args.deployUrl, demo=archetype, context=getDeploymentContext(archetype, args.version))
  22. content += """</ul></td></tr>
  23. <tr><td><a href="{repoUrl}">Staging repository</a></td></tr>
  24. <tr><td>Eclipse Ivy Settings:<br><pre>""".format(repoUrl=args.stagingRepo)
  25. content += cgi.escape(""" <ibiblio name="vaadin-staging" usepoms="true" m2compatible="true"
  26. root="{repoUrl}" />""".format(repoUrl=args.stagingRepo))
  27. content += """</pre>
  28. </td></tr>
  29. <tr><td><a href="https://dev.vaadin.com/milestone/Vaadin {version}">Trac Milestone</a></td></tr>
  30. <tr><td><a href="https://dev.vaadin.com/admin/ticket/versions">Add version {version} to Trac</td></tr>
  31. <tr><td><a href="{url}">Staging result page (See test results, pin and tag build and dependencies)</a></td></tr>
  32. <tr><td>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)</td></tr>
  33. <tr><td><pre>
  34. VERSION={version}
  35. GERRIT_USER=[fill in your gerrit username]
  36. FRAMEWORK_REVISION=[fill in framework revision]
  37. SCREENSHOTS_REVISION=[fill in screenshot repository revision]
  38. ARCHETYPES_REVISION=[fill in maven-integration repository revision]
  39. PLUGIN_REVISION=[fill in maven plug-in repository revision]
  40. git clone ssh://$GERRIT_USER@dev.vaadin.com:29418/vaadin
  41. cd vaadin
  42. git tag -a -m"$VERSION" $VERSION $FRAMEWORK_REVISION
  43. git push --tags
  44. cd ..
  45. git clone ssh://$GERRIT_USER@dev.vaadin.com:29418/vaadin-screenshots
  46. cd vaadin-screenshots
  47. git tag -a -m"$VERSION" $VERSION $SCREENSHOTS_REVISION
  48. git push --tags
  49. cd ..
  50. git clone ssh://$GERRIT_USER@dev.vaadin.com:29418/maven-integration
  51. cd maven-integration
  52. git tag -a -m"$VERSION" $VERSION $ARCHETYPES_REVISION
  53. git push --tags
  54. cd ..
  55. git clone ssh://$GERRIT_USER@dev.vaadin.com:29418/maven-plugin
  56. cd maven-plugin
  57. git tag -a -m"$VERSION" $VERSION $PLUGIN_REVISION
  58. git push --tags
  59. cd ..
  60. </pre></td></tr>
  61. </table>
  62. </body>
  63. </html>""".format(url=args.buildResultUrl, repoUrl=args.stagingRepo, version=args.version)
  64. f = open("result/report.html", 'w')
  65. f.write(content)