27
27
4 . Publish (detailed later)
28
28
5 . Bump version for new development (detailed later)
29
29
30
- ### Bump version for new release
30
+ ### Prepare release environment
31
31
32
- Run ` dev/release/bump_version.sh ` on a working copy of your fork not
33
- ` [email protected] :apache/arrow-java` :
32
+ This step is needed only when you act as a release manager first time.
34
33
35
- ``` console
36
- $
git clone [email protected] :${YOUR_GITHUB_ACCOUNT} /arrow-java.git arrow-java.${YOUR_GITHUB_ACCOUNT}
37
- $ cd arrow-java.${YOUR_GITHUB_ACCOUNT}
38
- $ GH_TOKEN=${YOUR_GITHUB_TOKEN} dev/release/bump_version.sh ${NEW_VERSION}
39
- ```
34
+ We use the following variables in multiple steps:
40
35
41
- Here is an example to bump version to 19.0.0:
36
+ * ` GH_TOKEN ` : GitHub personal access token to automate GitHub related
37
+ operations
38
+ * ` GPG_KEY_ID ` : PGP key ID that is used for signing official artifacts
39
+ by GnuPG
42
40
43
- ```
44
- $ GH_TOKEN=${YOUR_GITHUB_TOKEN} dev/release/bump_version.sh 19.0.0
45
- ```
41
+ We use ` dev/release/.env ` to share these variables in multiple
42
+ steps. You can use ` dev/release/.env.example ` as a template:
46
43
47
- It creates a feature branch and adds a commit that bumps version. This
48
- opens a pull request from the feature branch by ` gh pr create ` . So you
49
- need ` gh ` command and GitHub personal access token.
44
+ ``` console
45
+ $ cp dev/release/.env{.example,}
46
+ $ chmod go-r dev/release/.env
47
+ $ editor dev/release/.env
48
+ ```
50
49
51
- See also:
50
+ See
52
51
https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens
52
+ how to prepare GitHub personal access token for ` GH_TOKEN ` .
53
53
54
- We need to merge the pull request before we cut a RC. If we try cut a
55
- RC without merging the pull request, the script to cut a RC is failed.
54
+ Note that you also need to install ` gh ` command because our scripts
55
+ use ` gh ` command to use GitHub API. See
56
+ https://github.com/cli/cli#installation how to install ` gh `
57
+ command.
56
58
57
- ### Prepare RC and vote
58
-
59
- You can use ` dev/release/release_rc.sh ` .
60
-
61
- Requirements to run ` release_rc.sh ` :
62
-
63
- * You must be an Apache Arrow committer or PMC member
64
- * You must prepare your PGP key for signing
65
- * You must configure Maven
66
-
67
- If you don't have a PGP key,
68
- https://infra.apache.org/release-signing.html#generate may be helpful.
59
+ If you don't have a PGP key for ` GPG_KEY_ID ` , see
60
+ https://infra.apache.org/release-signing.html#genegrate how to
61
+ generate your PGP key.
69
62
70
63
Your PGP key must be registered to the followings:
71
64
@@ -85,6 +78,40 @@ $ head KEYS
85
78
$ svn ci KEYS
86
79
```
87
80
81
+ ### Bump version for new release
82
+
83
+ Run ` dev/release/bump_version.sh ` on a working copy of your fork not
84
+ ` [email protected] :apache/arrow-java` :
85
+
86
+ ``` console
87
+ $
git clone [email protected] :${YOUR_GITHUB_ACCOUNT} /arrow-java.git arrow-java.${YOUR_GITHUB_ACCOUNT}
88
+ $ cd arrow-java.${YOUR_GITHUB_ACCOUNT}
89
+ $ dev/release/bump_version.sh ${NEW_VERSION}
90
+ ```
91
+
92
+ Here is an example to bump version to 19.0.0:
93
+
94
+ ```
95
+ $ dev/release/bump_version.sh 19.0.0
96
+ ```
97
+
98
+ It creates a feature branch and adds a commit that bumps version. This
99
+ opens a pull request from the feature branch.
100
+
101
+ We need to merge the pull request before we cut a RC. If we try
102
+ cutting a RC without merging the pull request, the script to cut a RC
103
+ is failed.
104
+
105
+ ### Prepare RC and vote
106
+
107
+ You can use ` dev/release/release_rc.sh ` .
108
+
109
+ Requirements to run ` release_rc.sh ` :
110
+
111
+ * You must be an Apache Arrow committer or PMC member
112
+ * You must prepare your PGP key for signing
113
+ * You must configure Maven
114
+
88
115
Configure Maven to publish artifacts to Apache repositories. You will
89
116
need to setup a master password at ` ~/.m2/settings-security.xml ` and
90
117
` ~/.m2/settings.xml ` as specified on [ the Apache
@@ -102,15 +129,15 @@ Run `dev/release/release_rc.sh` on a working copy of
102
129
``` console
103
130
$
git clone [email protected] :apache/arrow-java.git
104
131
$ cd arrow-java
105
- $ GH_TOKEN= ${YOUR_GITHUB_TOKEN} dev/release/release_rc.sh ${RC}
132
+ $ dev/release/release_rc.sh ${RC}
106
133
(Send a vote email to [email protected] .
107
134
You can use a draft shown by release_rc.sh for the email.)
108
135
```
109
136
110
137
Here is an example to release RC1:
111
138
112
139
``` console
113
- $ GH_TOKEN= ${YOUR_GITHUB_TOKEN} dev/release/release_rc.sh 1
140
+ $ dev/release/release_rc.sh 1
114
141
```
115
142
116
143
The argument of ` release_rc.sh ` is the RC number. If RC1 has a
@@ -128,13 +155,13 @@ Run `dev/release/release.sh` on a working copy of
128
155
archive to apache.org:
129
156
130
157
``` console
131
- $ GH_TOKEN= ${YOUR_GITHUB_TOKEN} dev/release/release.sh ${VERSION} ${RC}
158
+ $ dev/release/release.sh ${VERSION} ${RC}
132
159
```
133
160
134
161
Here is an example to release 19.0.0 RC1:
135
162
136
163
``` console
137
- $ GH_TOKEN= ${YOUR_GITHUB_TOKEN} dev/release/release.sh 19.0.0 1
164
+ $ dev/release/release.sh 19.0.0 1
138
165
```
139
166
140
167
Add the release to ASF's report database via [ Apache Committee Report
@@ -160,13 +187,13 @@ Run `dev/release/bump_version.sh` on a working copy of your fork not
160
187
``` console
161
188
$
git clone [email protected] :${YOUR_GITHUB_ACCOUNT} /arrow-java.git arrow-java.${YOUR_GITHUB_ACCOUNT}
162
189
$ cd arrow-java.${YOUR_GITHUB_ACCOUNT}
163
- $ GH_TOKEN= ${YOUR_GITHUB_TOKEN} dev/release/bump_version.sh ${NEW_VERSION} -SNAPSHOT
190
+ $ dev/release/bump_version.sh ${NEW_VERSION} -SNAPSHOT
164
191
```
165
192
166
193
Here is an example to bump version to 19.0.1-SNAPSHOT:
167
194
168
195
```
169
- $ GH_TOKEN=${YOUR_GITHUB_TOKEN} dev/release/bump_version.sh 19.0.0-SNAPSHOT
196
+ $ dev/release/bump_version.sh 19.0.0-SNAPSHOT
170
197
```
171
198
172
199
It creates a feature branch and adds a commit that bumps version. This
0 commit comments