Release preparation - kieler/KLighD GitHub Wiki

Notes on how to prepare a release:

Sanity checks

Publish P2 update site

  • if all tests are fine, create and push tag named like release-YYYY-MM-x.y.z

  • checkout the branch gh-pages into a separate repository clone via git clone --single-branch --branch gh-pages [email protected]:kieler/KLighD.git <nameOfRepoClone>

  • create folder v... and copy p2 artifacts in there, see previous release artifacts for reference

  • add release folder to compositeContent.xml and compositeArtifacts.xml, increase value size of children, update timestamp e.g. by means of https://www.epochconverter.com/

  • stage, commit, and push changes, check https://github.com/kieler/KLighD/deployments for the successful deployment

Deploy m2 artifacts to Maven Central

(not yet automated) Prerequisites for this step (you will need to ask Niklas ([email protected]) or Sascha ([email protected]) on how to complete these if you are not one of them):

  • Install the KIELER GPG private key KIELER <[email protected]> on your machine, see here for the public version
  • Have access to publish to Sonatype via the de.cau.cs.kieler domain
  • modify your local file ~/.m2/settings.xml to contain these entries:
<settings>
  <servers>
    <server>
      <id>ossrh</id>
      <username>YOUR SONATYPE TOKEN USERMANE</username>
      <password>YOUR TOKEN PASSWORD</password>
    </server>
    <server>
      <id>gpg.passphrase</id>
      <passphrase>THE GPG KEY PASSPHRASE</passphrase>
    </server>
  </servers>
</settings>

Then, do this:

  • Locally on your machine on the release branch, modify these lines and comment out the local snapshot distribution repositories and comment in the OSSRH distribution repositories
  • do not push these changes
  • to release the artifacts to the staging repository, run this locally on your machine: mvn clean deploy -P release -DskipTests
  • (Optional) check that the released artifacts work (see above, make sure to delete the .m2 artifacts from your local repository first)
  • Log into the staging repository (Sonatype user/pw), check the artifacts and press on "release". For example, all .feature, .test, .targetplatform, and .repository artifacts and the plugins, features, and test folders do not need to be released.

Spread the word!

  • on https://github.com/kieler/KLighD/releases create a release via Draft a new release
    • provide name and add a link to the gh-pages-based online p2 repository and the new Maven artifacts, e.g. Sonatype and Apache
    • upload zipped p2 update site named as KLighD-vx.y.z.zip containing the same artifacts pushed to gh-pages, taken e.g. from GitHub Actions release branch build
    • add some release notes
  • after the successful release, on the master run mvn org.eclipse.tycho:tycho-versions-plugin:set-version -DnewVersion="x.y.z+1.qualifier" and push that to origin.
⚠️ **GitHub.com Fallback** ⚠️