@@ -35,11 +35,20 @@ Before starting the release process, make sure to ask for write access to:
35
35
1 . The Gz library intended to be released and
36
36
2 . ` gazebo-release ` repository.
37
37
38
- There are some credentials needed to interact with the release
39
- process :
38
+ To interact with Jenkins an API token needs to be created and stored in the
39
+ user system :
40
40
41
- * Release token: magic sequence of characters needed while running ` release.py `
42
- to interact with ` build.osrfoundation.org ` . This should be given to Gz developers that run releases by the Infra team.
41
+ 1 . Creating a Jenkins API token: opening https://build.osrfoundation.org/me/configure
42
+ the section of "API Token" shows the "Add new Token" button (alternatively a github
43
+ token could also be used but the Jenkins API helps to restrict the global scope
44
+ of the credential).
45
+
46
+ 2 . The token needs to be stored in ` ~/.buildfarm/jenkins.ini ` in the form:
47
+ ```
48
+ [https://build.osrfoundation.org]
49
+ username = <your-github-user>
50
+ password = <token created in step 1>
51
+ ```
43
52
44
53
## For Each Release
45
54
@@ -172,6 +181,17 @@ upload some Git tags ("release tags") to the source code repository.
172
181
You will also need the token described in the [credentials
173
182
section](#2-access-and-credentials).
174
183
184
+ There are a few external dependencies for running release.py. They can be
185
+ esily installed using virtual enviroments and pip:
186
+
187
+ ```
188
+ # you can change .releasepy_venv by any directory of your preference
189
+ python3 -m venv ~ /.releasepy_venv
190
+ . ~ /.releasepy_venv/bin/activate
191
+ cd <release-tools-dir >
192
+ pip install .
193
+ ```
194
+
175
195
**dry-run simulation mode**
176
196
177
197
The `release.py` tool supports a `--dry-run` flag that allows users to
@@ -186,7 +206,7 @@ The script needs to be run from the repository with the source code (i.e., the r
186
206
# Example of dry-run for gz-cmake3 bumped to 3.0.1
187
207
cd gz-cmake3
188
208
git checkout gz-cmake3
189
- ~ /release-tools/release.py gz-cmake3 3.0.1 dry-run-fake-token --dry-run
209
+ ~/release-tools/release.py gz-cmake3 3.0.1 --dry-run
190
210
```
191
211
192
212
** release.py for stable releases**
@@ -196,11 +216,10 @@ git checkout gz-cmake3
196
216
cd ign/gz-fooX
197
217
git checkout ign/gz-fooX
198
218
199
- # Example gz-cmake3 bumped to 3.0.1 with jenkins_token credential
219
+ # Example gz-cmake3 bumped to 3.0.1
200
220
cd gz-cmake3
201
221
git checkout gz-cmake3
202
- # please replace <jenkins_token> with real release token (check crendentials section)
203
- ~ /release-tools/release.py gz-cmake3 3.0.1 < jenkins_token>
222
+ ~ /release-tools/release.py gz-cmake3 3.0.1
204
223
```
205
224
206
225
** release.py for prereleases or nightlies**
@@ -210,11 +229,10 @@ to be set. The `--upload-to-repo` argument is mandatory when running
210
229
` release.py ` , and should be set to ` prerelease ` or ` nightly ` .
211
230
212
231
``` bash
213
- # Example gz-cmake3 bumped to prerelease 3.0.0~pre1 with jenkins_token credential
232
+ # Example gz-cmake3 bumped to prerelease 3.0.0~pre1
214
233
cd gz-cmake3
215
234
git checkout gz-cmake3
216
- # please replace <jenkins_token> with real release token (check crendentials section)
217
- ~ /release-tools/release.py gz-cmake3 3.0.0~pre1 < jenkins_token> --upload-to-repo prerelease
235
+ ~ /release-tools/release.py gz-cmake3 3.0.0~pre1 --upload-to-repo prerelease
218
236
```
219
237
220
238
Nightly invocation is generally coded in the server. The version will be
@@ -223,10 +241,8 @@ code will be uploaded, but taken directly in the binary build from the
223
241
branch pointed by ` --nightly-src-branch ` .
224
242
225
243
``` bash
226
- # Example gz-cmake3 nightly from main branch with jenkins_token credential
227
- # please replace <jenkins_token> with real release token (check crendentials section)
228
- ~ /release-tools/release.py gz-cmake3 3.0.0~pre1 < jenkins_token> --upload-to-repo nightly --nightly-src-branch main
229
-
244
+ # Example gz-cmake3 nightly from main branch
245
+ ~ /release-tools/release.py gz-cmake3 3.0.0~pre1 --upload-to-repo nightly --nightly-src-branch main
230
246
```
231
247
232
248
** Binary version schema for prereleases and nightlies**
@@ -247,9 +263,8 @@ or the information should appear in the parameters of the Jenkins -debbuilder bu
247
263
the first version of the sofware.
248
264
249
265
``` bash
250
- # Example gz-cmake3 bumped from 3.0.1-1 to 3.0.1-2 with jenkins_token credential
251
- # please replace <jenkins_token> with real release token (check crendentials section)
252
- ~ /release-tools/release.py gz-cmake3 3.0.1 < jenkins_token> --source-tarball-uri https://osrf-distributions.s3.amazonaws.com/gz-cmake/releases/gz-cmake-3.0.1.tar.bz2 --only-bump-revision-linux -release-version 2
266
+ # Example gz-cmake3 bumped from 3.0.1-1 to 3.0.1-2
267
+ ~ /release-tools/release.py gz-cmake3 3.0.1 --source-tarball-uri https://osrf-distributions.s3.amazonaws.com/gz-cmake/releases/gz-cmake-3.0.1.tar.bz2 --only-bump-revision-linux -release-version 2
253
268
```
254
269
255
270
## Checking the Building Process
0 commit comments