From d241c369592fc64d6eef40dd70010af2882ef3d4 Mon Sep 17 00:00:00 2001 From: "Taro L. Saito" Date: Tue, 11 May 2021 15:01:27 -0700 Subject: [PATCH 1/3] Add 0.8.23 release notes --- RELEASE_NOTES.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 564ac679..70dc7f22 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,5 +1,21 @@ # Release Notes +## 0.8.23 + +* Produce stable map values [#548](https://github.com/msgpack/msgpac-java/pull/#548) +* Fixes #544: Fix a bug in reading EXT32 of 2GB size [#545](https://github.com/msgpack/msgpac-java/pull/545) +* Add a warning note for the usage of MessageUnpacker.readPayloadAsReference [#546](https://github.com/msgpack/msgpac-java/pull/546) + +Intenral changes: +* Add a script for releasing a new version of msgpack-java at CI +* Publish a snapshot version for every main branch commit [#556](https://github.com/msgpack/msgpac-java/pull/556) +* Use dynamic versioning with Git tags v0.x.y format [#555](https://github.com/msgpack/msgpac-java/pull/555) +* Update ScalaTest and ScalaCheck versions [#554](https://github.com/msgpack/msgpac-java/pull/554) +* Remove findbugs [#553](https://github.com/msgpack/msgpac-java/pull/553) +* Update build settings to use latest version of sbt and plugins [#552](https://github.com/msgpack/msgpac-java/pull/552) +* Run GitHub Actions for develop and main branches [#551](https://github.com/msgpack/msgpac-java/pull/551) +* Remove Travis build [#550](https://github.com/msgpack/msgpac-java/pull/550) + ## 0.8.22 * Support extension type key in Map [#535](https://github.com/msgpack/msgpack-java/pull/535) * Remove addTargetClass() and addTargetTypeReference() from ExtensionTypeCustomDeserializers [#539](https://github.com/msgpack/msgpack-java/pull/539) From b390f7376c94f8013e8e1ee171a4f5e77ef45b57 Mon Sep 17 00:00:00 2001 From: "Taro L. Saito" Date: Tue, 11 May 2021 15:13:30 -0700 Subject: [PATCH 2/3] Update release steps --- .github/workflows/release.yml | 1 + README.md | 24 +++++++++++++++++------- build.sbt | 9 --------- project/plugins.sbt | 1 - 4 files changed, 18 insertions(+), 17 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 487c521a..ebb96569 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -2,6 +2,7 @@ name: Release to Sonatype on: push: + branches: [develop, main] tags: - v* workflow_dispatch: diff --git a/README.md b/README.md index 7b41f0c8..34a6cb91 100644 --- a/README.md +++ b/README.md @@ -85,17 +85,18 @@ Here is a list of sbt commands for daily development: > publishLocal # Install to local .ivy2 repository > publishM2 # Install to local .m2 Maven repository > publish # Publishing a snapshot version to the Sonatype repository +``` -> release # Run the release procedure (set a new version, run tests, upload artifacts, then deploy to Sonatype) +### Publish to Sonatype (Maven Central) -# [optional] When you need to perform the individual release steps manually, use the following commands: -> publishSigned # Publish GPG signed artifacts to the Sonatype repository -> sonatypeBundleRelease # Publish to the Maven Central (It will be synched within less than 4 hours) -``` +To publish a new version, you only need to add a new git tag and push it to GitHub. GitHub Action will deploy a new release version to Maven Central (Sonatype). -Once you run a release command, a new git tag v(version number) will be pushed to GitHub. GitHub Action will deploy a new release version to Maven Central (Sonatype). +```scala +$ git tag v0.x.y +$ git push origin v0.x.y +``` -For publishing to Maven central using a local machine, msgpack-java uses [sbt-sonatype](https://github.com/xerial/sbt-sonatype) plugin. Set Sonatype account information (user name and password) in the global sbt settings. To protect your password, never include this file in your project. +If you need to publish to Maven central using a local machine, you need to configure [sbt-sonatype](https://github.com/xerial/sbt-sonatype) plugin. Set Sonatype account information (user name and password) in the global sbt settings. To protect your password, never include this file in your project. ___$HOME/.sbt/(sbt-version)/sonatype.sbt___ @@ -106,6 +107,15 @@ credentials += Credentials("Sonatype Nexus Repository Manager", "(Sonatype password)") ``` +Then, run `publishedSigned` followed by `sonatypeBundleRelease`: +``` +# [optional] When you need to perform the individual release steps manually, use the following commands: +> publishSigned # Publish GPG signed artifacts to the Sonatype repository +> sonatypeBundleRelease # Publish to the Maven Central (It will be synched within less than 4 hours) +``` + +If some sporadic error happens (e.g., Sonatype timeout), rerun `sonatypeBundleRelease` again. + ### Project Structure ``` diff --git a/build.sbt b/build.sbt index 86abaf76..68f8f943 100644 --- a/build.sbt +++ b/build.sbt @@ -37,15 +37,6 @@ val buildSettings = Seq[Setting[_]]( opts } }, - // Release settings - releaseProcess := Seq[ReleaseStep]( - checkSnapshotDependencies, - inquireVersions, - runClean, - runTest, - tagRelease, - pushChanges - ), // Add sonatype repository settings publishTo := sonatypePublishToBundle.value, // Style check config: (sbt-jchekcstyle) diff --git a/project/plugins.sbt b/project/plugins.sbt index 043c1f73..fe129f57 100755 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -1,4 +1,3 @@ -addSbtPlugin("com.github.sbt" % "sbt-release" % "1.0.15") addSbtPlugin("org.xerial.sbt" % "sbt-sonatype" % "3.9.7") addSbtPlugin("com.github.sbt" % "sbt-pgp" % "2.1.2") // TODO: Fixes jacoco error: From 08c4964c528aac26eb0f421c7ed671f60ef41689 Mon Sep 17 00:00:00 2001 From: "Taro L. Saito" Date: Tue, 11 May 2021 15:16:14 -0700 Subject: [PATCH 3/3] Fix build.sbt --- README.md | 4 +++- build.sbt | 2 -- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 34a6cb91..2a6571ad 100644 --- a/README.md +++ b/README.md @@ -96,7 +96,7 @@ $ git tag v0.x.y $ git push origin v0.x.y ``` -If you need to publish to Maven central using a local machine, you need to configure [sbt-sonatype](https://github.com/xerial/sbt-sonatype) plugin. Set Sonatype account information (user name and password) in the global sbt settings. To protect your password, never include this file in your project. +If you need to publish to Maven central using a local machine, you need to configure [sbt-sonatype](https://github.com/xerial/sbt-sonatype) plugin. First set Sonatype account information (user name and password) in the global sbt settings. To protect your password, never include this file in your project. ___$HOME/.sbt/(sbt-version)/sonatype.sbt___ @@ -107,6 +107,8 @@ credentials += Credentials("Sonatype Nexus Repository Manager", "(Sonatype password)") ``` +You may also need to configure GPG. See the instruction in [sbt-pgp](https://github.com/sbt/sbt-pgp). + Then, run `publishedSigned` followed by `sonatypeBundleRelease`: ``` # [optional] When you need to perform the individual release steps manually, use the following commands: diff --git a/build.sbt b/build.sbt index 68f8f943..ba034fdb 100644 --- a/build.sbt +++ b/build.sbt @@ -1,5 +1,3 @@ -import ReleaseTransformations._ - Global / onChangedBuildSource := ReloadOnSourceChanges // For performance testing, ensure each test run one-by-one