Skip to content

Commit 36aa614

Browse files
authored
Move & update the release checklist (#337)
Move & update the release checklist
2 parents 8c0b404 + 4bef919 commit 36aa614

File tree

2 files changed

+48
-44
lines changed

2 files changed

+48
-44
lines changed

CONTRIBUTING.md

Lines changed: 0 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -110,47 +110,3 @@ Example:
110110
Details 3
111111

112112
Fix #2731, Fix #2732, Re #2733
113-
114-
## Releasing
115-
116-
### Prerequisites
117-
118-
Make sure that you have:
119-
120-
* push rights to this project,
121-
122-
* credentials to deploy artifacts on both ``oss.sonatype.org`` and ``bintray.com/typesafe/sbt-plugins``. This usually means that in your local ``~/.sbt`` folder you have a ``.sbt`` file (e.g., ``user.sbt``, ``credentials.sbt``) that contains something like the following:
123-
```bash
124-
credentials += Credentials("Sonatype Nexus Repository Manager", "oss.sonatype.org", <username>, <password>)
125-
126-
credentials += Credentials("Bintray API Realm", "api.bintray.com", <username>, <password>)
127-
```
128-
129-
(Make sure you're not using an ancient version of sbt-pgp in `~/.sbt/1.0/plugins`.)
130-
131-
### Steps
132-
133-
Create a new issue with the following checklist and get going.
134-
135-
- [ ] Check that a milestone exists for the release you are about to perform. If it doesn't create one.
136-
- [ ] Create a milestone for the next version
137-
- [ ] Travis passes against latest Scala versions (past example: https://github.com/lightbend/mima/pull/164)
138-
- [ ] All tickets fixed in the current development cycle are associated to the current milestone.
139-
- [ ] Bump the version in the `README.md` and `git commit`.
140-
- [ ] Run `clean`. (particularly if you've recently bumped `scalaVersion` - see [#191](https://github.com/lightbend/mima/issues/191))
141-
- [ ] Create an annotated, signed git tag (`git tag -a -s`) and push it. The name of the tag should follow the format of previous tags (not 'v' prefix). `reload` and verify that `show version` in sbt picks up the version number from the tag.
142-
- [ ] Run `^publishSigned`. You should start seeing "published mima-.. to https://oss.sonatype.org/service/local/staging/deploy/maven2/.."
143-
- [ ] Login on [Sonatype](https://oss.sonatype.org/) and close the staging repository
144-
- [ ] Test by adding `resolvers += "Sonatype OSS Staging" at "https://oss.sonatype.org/content/repositories/staging"` and `resolvers += Resolver.url("vr", url("https://dl.bintray.com/typesafe/sbt-plugins"))(Resolver.ivyStylePatterns)` to a project
145-
- [ ] Login on [Sonatype](https://oss.sonatype.org/) and follow [this guide](https://docs.sonatype.org/display/Repository/Sonatype+OSS+Maven+Repository+Usage+Guide#SonatypeOSSMavenRepositoryUsageGuide-8a.ReleaseIt) to release the staged MiMa artifacts.
146-
- [ ] Login to [Bintray](https://bintray.com/typesafe/sbt-plugins/sbt-mima-plugin/view) and publish sbt plugin artifacts. (or use `sbtplugin/bintrayRelease`)
147-
- [ ] Close milestone
148-
- [ ] Add draft release notes to tag
149-
- [ ] Wait for artifacts to show up on Maven Central
150-
- [ ] sbt plugin jar and dependent jars resolvable by sbt
151-
- [ ] virtual directory appears: https://repo1.maven.org/maven2/com/typesafe/mima-core_2.12/0.3.0/
152-
- [ ] Hit "Publish Release" on GitHub
153-
- [ ] Announce the release in the [Announce category of Scala Users](https://users.scala-lang.org/c/announce)
154-
(e.g https://users.scala-lang.org/t/announcing-mima-migration-manager-0-3-0/2782)
155-
156-
You are done!

RELEASING.md

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# Releasing
2+
3+
Step 🚢: Create a [new issue][issues/new] with the following checklist to the track the release!
4+
5+
See the [prerequisites](#prerequisites) if this is your first release.
6+
7+
* [ ] [Check Travis CI][travis-ci] passes against the latest Scala versions.
8+
* [ ] [Create a new milestone][milestones/new] for the release you are about to perform, if one [doesn't exist][milestones/list].
9+
* [ ] [Create a new milestone][milestones/new] for the release after this one.
10+
* [ ] [Draft a new release][releases/new] for the release, by [comparing changes][compare/view].
11+
* [ ] Bump the version in the `README.md` and `git commit -m 'Release 0.x.y`
12+
* [ ] Run `clean` in sbt, particularly if you've recently bumped `scalaVersion`.
13+
* [ ] Run `git tag -a -s 0.x.y -m 'Version 0.x.y` and `git push --follow-tags`. The name of the tag should NOT have a 'v' prefix. Run `reload` and `show version` in sbt to verify the version.
14+
* [ ] Run `^publishSigned` in sbt. You should start seeing "published mima-.. to https://oss.sonatype.org/service/local/staging/deploy/maven2/.."
15+
* [ ] [Find and close][sonatype/staging-repos] your stating repository. (See Sonatype's [Releasing the Deployment][sonatype/guide] guide.)
16+
* [ ] Test the release by adding `resolvers ++= Seq("Sonatype OSS Staging" at "https://oss.sonatype.org/content/repositories/staging", Resolver.bintrayRepo("typesafe", "sbt-plugins"))` to a project
17+
* [ ] [Find and release][sonatype/staging-repos] your stating repository.
18+
* [ ] Run `sbtplugin/bintrayRelease` in sbt (or use the [Web UI](https://bintray.com/typesafe/sbt-plugins/sbt-mima-plugin/view) to publish the sbt plugin artifacts.
19+
* [ ] [Close][milestones/list] the milestone
20+
* [ ] Wait for the artifacts to show up on Maven Central, either by:
21+
* successfully resolving the sbt plugin jar and dependent jars with sbt
22+
* successfully resolving the virtual directory: <https://repo1.maven.org/maven2/com/typesafe/mima-core_2.12/0.5.0/> (note the trailing slash)
23+
* [ ] [Hit "Publish Release"][releases/list] on GitHub.
24+
25+
You are done!
26+
27+
[compare/view]: https://github.com/lightbend/mima/compare/0.4.0...master
28+
[issues/new]: https://github.com/lightbend/mima/issues/new
29+
[milestones/list]: https://github.com/lightbend/mima/milestones?direction=asc
30+
[milestones/new]: https://github.com/lightbend/mima/milestones/new
31+
[releases/list]: https://github.com/lightbend/mima/releases
32+
[releases/new]: https://github.com/lightbend/mima/releases/new
33+
34+
[sonatype/guide]: https://central.sonatype.org/pages/releasing-the-deployment.html
35+
[sonatype/staging-repos]: https://oss.sonatype.org/#stagingRepositories
36+
[travis-ci]: https://travis-ci.org/lightbend/mima
37+
38+
## Prerequisites
39+
40+
* repo push rights
41+
* publishing crendentials for Sonatype and Bintray, typically in `~/.sbt/1.0/credentials.sbt`:
42+
43+
```scala
44+
credentials += Credentials("Sonatype Nexus Repository Manager", "oss.sonatype.org", <username>, <password>)
45+
credentials += Credentials("Bintray API Realm", "api.bintray.com", <username>, <password>)
46+
```
47+
48+
(Make sure you're not using an ancient version of sbt-pgp in `~/.sbt/1.0/plugins`.)

0 commit comments

Comments
 (0)