Want to deploy your JVM, Node.js and Go apps effortlessly to AWS? Try our service Boxfuse

Releasing Flyway (Committers only)

Prequesites

  1. GPG installed, available on the PATH and a key generated
    (see the Sonatype OSS Maven Repository Usage Guide)
  2. A checkout of Flyway HEAD
  3. Maven settings.xml contains
    • credentials for Sonatype OSS Repo Hosting
    • credentials for Google App Engine
    • the GPG passphrase key:
<settings>
    <servers>
        <server>
            <id>sonatype-nexus-snapshots</id>
            <username>myuser</username>
            <password>XXX</password>
        </server>
        <server>
            <id>sonatype-nexus-staging</id>
            <username>myuser</username>
            <password>XXX</password>
        </server>
        <server>
            <id>flyway-sample-appengine</id>
            <username>myemail@address.com</username>
            <password>XXX</password>
        </server>
    </servers>
    <profiles>
        <profile>
            <id>flyway-release</id>
            <activation>
                <property>
                    <name>releaseVersion</name>
                </property>
            </activation>
            <properties>
                <gpg.passphrase>XXX</gpg.passphrase>
            </properties>
        </profile>
    </profiles>
</settings>

Required Steps

  1. Checkout the latest version of flyway/flyway-release
  2. Invoke release.cmd <<version>>
  3. Once the release completes, the artifacts must be promoted to Maven Central by logging in to https://oss.sonatype.org/
  4. We select Staging Repositories on the left and tick the checkbox in front of the open org.flywaydb repository
  5. We then close it (without message) and release it (without message)
  6. The site must be now be updated by putting the new version number in _config.yml of flywaydb.org
  7. We also update the Release Notes by changing the Unreleased Version in the new version with the date of today
  8. The newly released version should also be removed from the Roadmap
  9. Remove the old javadoc from the site by deleting everything under /documentation/api/javadoc
  10. Copy the new javadoc from flyway-release/flyway/flyway-core/target/apidocs to /documentation/api/javadoc
  11. Copy the new sbt plugin from flyway-release/flyway/flyway-sbt/target/scala-2.10/sbt-0.13 to /repo/org/flywaydb/flyway-sbt_2.10_0.13/<<version>>
  12. Any remaining documentation changes to reflect changes in the code, must now be made to the site
  13. Write a release announcement for the blog
  14. Attach the release highlights to the GitHub tag
  15. Close the GitHub milestone
  16. Great, we're done ! We can now announce it on Twitter!
  17. Update the StackOverflow tag for any new functionality
  18. Update Wikipedia with the correct version