Skip to content

Latest commit

 

History

History
65 lines (44 loc) · 2.68 KB

RELEASING.md

File metadata and controls

65 lines (44 loc) · 2.68 KB

Releasing

  1. Checkout a new branch. Update CHANGELOG.md.

  2. Set versions:

    export RELEASE_VERSION=A.B.C
    export NEXT_VERSION=A.B.D-SNAPSHOT
    
  3. Update documentation and Gradle properties with RELEASE_VERSION

    sed -i "" \
      "s/VERSION_NAME=.*/VERSION_NAME=$RELEASE_VERSION/g" \
      gradle.properties
    sed -i "" \
      "s/\"com.squareup.misk:\([^\:]*\):[^\"]*\"/\"com.squareup.misk:\1:$RELEASE_VERSION\"/g" \
      `find . -maxdepth 2 -name "README.md"`
    
  4. Tag the release and push to GitHub. Submit and merge PR.

    git commit -am "Prepare for release $RELEASE_VERSION."
    git tag -a misk-$RELEASE_VERSION -m "Version $RELEASE_VERSION"
    git push && git push --tags
    
  5. Trigger the Publish a release action manually. Wait until it completes, then visit Sonatype Nexus to promote (close then release in Staging Repositories) the artifact. Or drop it if there is a problem!

    Sonatype Release

  6. In a new branch, prepare for the next release and push to GitHub. Submit and merge PR.

    sed -i "" \
      "s/VERSION_NAME=.*/VERSION_NAME=$NEXT_VERSION/g" \
      gradle.properties
    git commit -am "Prepare next development version."
    git push
    
  7. Draft a new release of A.B.C to trigger the "Publish the mkdocs to gh-pages" action.

Snapshots

For a non-semvar snapshot release, use the following simpler steps.

  1. Trigger the Publish a release action manually.

  2. Wait until it completes, then visit Sonatype Nexus to promote (close then release in Staging Repositories) the artifact. Or drop it if there is a problem!

    Sonatype Release

  3. Update your usages to the new snapshot version, it will have a format like 0.25.0-20221109.1931-857c333. Get your snapshot version in the Set gradle publish version section of the Publish a release action logs.

Troubleshooting

If the github action fails, drop the artifacts from Sonatype and re run the job. You might need to delete the plugin off the JetBrains plugin portal first if the ubuntu job which publishes it already succeeded.

For full Sonatype instructions, see their docs.