@@ -103,9 +103,6 @@ If there is a ballista release, update versions in ballista Cargo.tomls, run
103
103
./dev/update_ballista_versions.py 0.5.0
104
104
```
105
105
106
- If there is a datafusion python binding release, update versions in
107
- ` ./python/Cargo.toml ` .
108
-
109
106
Lastly commit the version change:
110
107
111
108
```
@@ -114,11 +111,15 @@ git commit -a -m 'Update version'
114
111
115
112
### Update CHANGELOG.md
116
113
117
- Manully edit the base version tag argument in
118
- ` dev/release/update_change_log-{ballista,datafusion,python }.sh ` . Commits
114
+ Manually edit the base version tag argument in
115
+ ` dev/release/update_change_log-{ballista,datafusion}.sh ` . Commits
119
116
between the base verstion tag and the latest upstream master will be used to
120
117
populate the changelog content.
121
118
119
+ You will need a GitHub Personal Access Token for the following steps. Follow
120
+ [ these instructions] ( https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token )
121
+ to generate one if you do not already have one.
122
+
122
123
``` bash
123
124
# create the changelog
124
125
CHANGELOG_GITHUB_TOKEN=< TOKEN> ./dev/release/update_change_log-all.sh
@@ -137,12 +138,12 @@ the changelog and update the PR accordingly.
137
138
138
139
## Prepare release candidate artifacts
139
140
140
- After the PR gets merged, you are ready to create releaes artifacts based off the
141
+ After the PR gets merged, you are ready to create release artifacts based off the
141
142
merged commit.
142
143
143
144
(Note you need to be a committer to run these scripts as they upload to the apache svn distribution servers)
144
145
145
- ### Pick an Release Candidate (RC) number
146
+ ### Pick a Release Candidate (RC) number
146
147
147
148
Pick numbers in sequential order, with ` 0 ` for ` rc0 ` , ` 1 ` for ` rc1 ` , etc.
148
149
@@ -151,7 +152,7 @@ Pick numbers in sequential order, with `0` for `rc0`, `1` for `rc1`, etc.
151
152
While the official release artifacts are signed tarballs and zip files, we also
152
153
tag the commit it was created for convenience and code archaeology.
153
154
154
- Using a string such as ` 5.1.0 ` as the ` <version> ` , create and push the tag thusly :
155
+ Using a string such as ` 5.1.0 ` as the ` <version> ` , create and push the tag by running these commands :
155
156
156
157
``` shell
157
158
git fetch apache
@@ -160,9 +161,6 @@ git tag <version>-<rc> apache/master
160
161
git push apache < version>
161
162
```
162
163
163
- This should trigger the ` Python Release Build ` Github Action workflow for the
164
- pushed tag. You can monitor the pipline run status at https://github.com/apache/arrow-datafusion/actions/workflows/python_build.yml .
165
-
166
164
### Create, sign, and upload artifacts
167
165
168
166
Run ` create-tarball.sh ` with the ` <version> ` tag and ` <rc> ` and you found in previous steps:
@@ -240,7 +238,7 @@ the `release-tarball.sh` script:
240
238
./dev/release/release-tarball.sh 5.1.0 0
241
239
```
242
240
243
- Congratulations! The release is now offical !
241
+ Congratulations! The release is now official !
244
242
245
243
### Create release git tags
246
244
@@ -274,6 +272,14 @@ create an account and login to crates.io before asking to be added as an owner
274
272
of the following crates:
275
273
276
274
- [ datafusion] ( https://crates.io/crates/datafusion )
275
+ - [ datafusion-cli] ( https://crates.io/crates/datafusion-cli )
276
+ - [ datafusion-common] ( https://crates.io/crates/datafusion-common )
277
+ - [ datafusion-data-access] ( https://crates.io/crates/datafusion-data-access )
278
+ - [ datafusion-expr] ( https://crates.io/crates/datafusion-expr )
279
+ - [ datafusion-jit] ( https://crates.io/crates/datafusion-jit )
280
+ - [ datafusion-physical-expr] ( https://crates.io/crates/datafusion-physical-expr )
281
+ - [ datafusion-proto] ( https://crates.io/crates/datafusion-proto )
282
+ - [ datafusion-row] ( https://crates.io/crates/datafusion-row )
277
283
- [ ballista] ( https://crates.io/crates/ballista )
278
284
- [ ballista-core] ( https://crates.io/crates/ballista-core )
279
285
- [ ballista-executor] ( https://crates.io/crates/ballista-executor )
@@ -282,15 +288,32 @@ of the following crates:
282
288
Download and unpack the official release tarball
283
289
284
290
Verify that the Cargo.toml in the tarball contains the correct version
285
- (e.g. ` version = "5.1.0" ` ) and then publish the crate with the
286
- following commands
291
+ (e.g. ` version = "5.1.0" ` ) and then publish the crates with the
292
+ following commands. Crates need to be published in the correct order as shown in this diagram.
293
+
294
+ ![ ] ( crate-deps.svg )
295
+
296
+ _ To update this diagram, manually edit the dependencies in [ crate-deps.dot] ( crate-deps.dot ) and then run:_
297
+
298
+ ``` bash
299
+ dot -Tsvg dev/release/crate-deps.dot > dev/release/crate-deps.svg
300
+ ```
287
301
288
302
``` shell
289
- (cd datafusion-common && cargo publish)
290
- (cd datafusion-expr && cargo publish)
303
+ (cd data-access && cargo publish)
304
+ (cd datafusion/common && cargo publish)
305
+ (cd datafusion/expr && cargo publish)
306
+ (cd datafusion/physical-expr && cargo publish)
307
+ (cd datafusion/jit && cargo publish)
308
+ (cd datafusion/row && cargo publish)
291
309
(cd datafusion && cargo publish)
310
+ (cd datafusion/proto && cargo publish)
311
+ (cd datafusion-cli && cargo publish)
292
312
```
293
313
314
+ Note that ` datafusion-cli ` will depend on the previously published version of Ballista (which depends on the
315
+ previously published version of DataFusion) until https://github.com/apache/arrow-datafusion/issues/2433 is resolved.
316
+
294
317
If there is a ballista release, run
295
318
296
319
``` shell
@@ -300,7 +323,6 @@ If there is a ballista release, run
300
323
(cd ballista/rust/client && cargo publish)
301
324
```
302
325
303
-
304
326
### Publish datafusion-cli on Homebrew and crates.io
305
327
306
328
For Homebrew, Send a simple PR to update tag and commit hash for the datafusion
0 commit comments