Skip to content

Commit 33419be

Browse files
authored
chore: update release process and docs (#2195)
1 parent c4e3403 commit 33419be

File tree

2 files changed

+49
-15
lines changed

2 files changed

+49
-15
lines changed

docs/internal/releasing.md

+46-15
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ more complex.
66
## 0 - Decide when to release
77

88
All releases should have a milestone. A release is ready to go when all issues/PRs in the milestone
9-
are either closed or have the `fix-implemented` lablel.
9+
are either closed or have the `fix-implemented` label.
1010

1111
FirebaseUI does not have strict guidance on release frequency. Minor and patch releases can go out
1212
as soon as they are ready. Major releases with breaking changes should happen as infrequently as
@@ -28,7 +28,6 @@ Next, make the following changes on the release branch:
2828
* Update `Config.kt` and `gradle.properties` to remove the `SNAPSHOT` from the version name and set the release version.
2929
* Update `README.md` and `auth/README.md` to point to the latest version of the library
3030
and to have the correct descriptions of transitive dependencies.
31-
* Empty `CHANGELOG.md`
3231

3332
Commit the changes with a generic message:
3433

@@ -48,8 +47,8 @@ When ready, merge the pull request.
4847

4948
### Credentials
5049

51-
The library is published to Maven Central by the firebase-sonatype account, Googlers can find the
52-
password for this account in [Valentine](http://valentine/)
50+
The library is published to Maven Central by the `firebase-sonatype` account, Googlers can find the
51+
password for this account in [Valentine](http://go/valentine/)
5352

5453
### GPG Key
5554

@@ -77,36 +76,68 @@ Finally upload your key to the keyserver:
7776
gpg --keyserver hkp://keys.openpgp.org --send-keys <YOUR KEY ID>
7877
```
7978

79+
You might receive an email from `[email protected]` to verify your email.
80+
Click the link in the email to complete the verification before proceeding.
81+
82+
<details>
83+
84+
<summary>gpg: keyserver send failed: Server indicated a failure</summary>
85+
86+
If you run into the `gpg: keyserver send failed: Server indicated a failure` error when trying to
87+
upload the key from a macOS machine, you can try the solution proposed [here](https://github.com/asdf-vm/asdf-nodejs/issues/192#issuecomment-797448073):
88+
89+
```shell
90+
echo "standard-resolver" > ~/.gnupg/dirmngr.conf
91+
```
92+
93+
and then:
94+
95+
```shell
96+
sudo pkill dirmngr
97+
```
98+
99+
</details>
100+
80101
### Local Properties
81102

82-
Open your `$HOME/.gradle/gradle.properties` file at and fill in the values:
103+
1. Navigate to https://oss.sonatype.org/ and **Log In** using the credentials from [Valentine](http://go/valentine).
104+
1. Follow [these instructions](https://central.sonatype.org/publish/generate-token/) to **Access User Token**.
105+
You should see an XML that looks like this:
106+
```xml
107+
<server>
108+
<id>${server}</id>
109+
<username>tokenuser</username>
110+
<password>tokenkey-dlghnfgh8+4LfXmg5Hsd8jd</password>
111+
</server>
112+
```
113+
1. Open your `$HOME/.gradle/gradle.properties` file and fill in the values:
83114

84115
```
85116
signing.keyId=<KEY ID>
86117
signing.password=<PASSWORD YOU CHOSE>
87118
signing.secretKeyRingFile=<FULL PATH TO YOUR GPG FILE>
88-
mavenCentralRepositoryUsername=firebase-sonatype
89-
mavenCentralRepositoryUsername=<PASSWORD FROM VALENTINE>
119+
mavenCentralUsername=<USERNAME FROM THE XML ABOVE (eg. tokenuser)>
120+
mavenCentralPassword=<PASSWORD FROM THE XML ABOVE (eg. tokenkey-dlghnfgh8+4LfXmg5Hsd8jd)>
90121
```
91122
92-
## 2b - Publish and Release
123+
## 2b - Publish and release
93124
94-
### Publish
125+
_Publish_ and _release_ [used to be done](https://github.com/firebase/FirebaseUI-Android/blob/9.0.0/docs/internal/releasing.md#2b---publish-and-release)
126+
in two separate manual steps, but starting in [v0.22.0](https://vanniktech.github.io/gradle-maven-publish-plugin/changelog/#0220-2022-09-09)
127+
of the `com.vanniktech:gradle-maven-publish-plugin`, the `publishAllPublicationsToMavenRepository`
128+
now handles the _publish_ step automatically and you only need to perform the _release_ manually.
95129
96-
Once you are sure the release branch is healthy, run the following command:
130+
Once you are sure the release branch is healthy, run the following commands:
97131
98132
```shell
99133
./gradlew clean :library:prepareArtifacts
100134
./gradlew --no-daemon --no-parallel publishAllPublicationsToMavenRepository
101135
```
102136

103-
### Release
104-
105137
Follow [the instructions here](https://central.sonatype.org/pages/releasing-the-deployment.html):
106138

107-
1. Navigate to https://oss.sonatype.org/ and **Log In**
139+
1. Navigate to https://oss.sonatype.org/ and **Log In**, if you haven't already.
108140
1. On the left side click **Staging Repositories** and look for the `com.firebaseui` repo.
109-
1. Click **Close** ... wait a few minutes (you can check status with **Refresh**)
110141
1. Click **Release**
111142

112143
## 3 - Update issues, milestones, and release notes
@@ -117,7 +148,7 @@ First, go to the milestone for the released version and for each open issue:
117148
* Comment to let anyone watching know that the fix/feature has been released.
118149

119150
Next, create a git tag for the latest version. In GitHub, create release notes based on the
120-
template from the previous version and assign the release ntoes to the tag.
151+
template from the previous version and assign the release notes to the tag.
121152

122153
## 4 - Prepare next development branch
123154

gradle.properties

+3
Original file line numberDiff line numberDiff line change
@@ -28,3 +28,6 @@ POM_LICENCE_NAME=The Apache Software License, Version 2.0
2828
POM_LICENCE_URL=http://www.apache.org/licenses/LICENSE-2.0.txt
2929
POM_DEVELOPER_NAME=FirebaseUI Contributors
3030
POM_DEVELOPER_URL=https://github.com/firebase/FirebaseUI-Android/graphs/contributors
31+
# See https://vanniktech.github.io/gradle-maven-publish-plugin/changelog/#0200-2022-06-02
32+
SONATYPE_HOST=DEFAULT
33+
RELEASE_SIGNING_ENABLED=true

0 commit comments

Comments
 (0)