Skip to content

Commit c6bdc9f

Browse files
authored
chore: Update Python release process now that DataFusion is TLP (#674)
1 parent 7fd0c96 commit c6bdc9f

7 files changed

+50
-205
lines changed

dev/release/README.md

Lines changed: 12 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ We maintain a `CHANGELOG.md` so our users know what has been changed between rel
6363
The changelog is generated using a Python script:
6464

6565
```bash
66-
$ GITHUB_TOKEN=<TOKEN> ./dev/release/generate-changelog.py apache/arrow-datafusion-python 24.0.0 HEAD > dev/changelog/25.0.0.md
66+
$ GITHUB_TOKEN=<TOKEN> ./dev/release/generate-changelog.py apache/datafusion-python 24.0.0 HEAD > dev/changelog/25.0.0.md
6767
```
6868

6969
This script creates a changelog from GitHub PRs based on the labels associated with them as well as looking for
@@ -83,9 +83,9 @@ This process is not fully automated, so there are some additional manual steps:
8383
- Add the following content (copy from the previous version's changelog and update as appropriate:
8484

8585
```
86-
## [24.0.0](https://github.com/apache/arrow-datafusion-python/tree/24.0.0) (2023-05-06)
86+
## [24.0.0](https://github.com/apache/datafusion-python/tree/24.0.0) (2023-05-06)
8787
88-
[Full Changelog](https://github.com/apache/arrow-datafusion-python/compare/23.0.0...24.0.0)
88+
[Full Changelog](https://github.com/apache/datafusion-python/compare/23.0.0...24.0.0)
8989
```
9090

9191
### Preparing a Release Candidate
@@ -103,42 +103,7 @@ git push apache 0.8.0-rc1
103103
./dev/release/create-tarball.sh 0.8.0 1
104104
```
105105

106-
This will also create the email template to send to the mailing list. Here is an example:
107-
108-
```
109-
110-
Subject: [VOTE][RUST][DataFusion] Release DataFusion Python Bindings 0.7.0 RC2
111-
Hi,
112-
113-
I would like to propose a release of Apache Arrow DataFusion Python Bindings,
114-
version 0.7.0.
115-
116-
This release candidate is based on commit: bd1b78b6d444b7ab172c6aec23fa58c842a592d7 [1]
117-
The proposed release tarball and signatures are hosted at [2].
118-
The changelog is located at [3].
119-
The Python wheels are located at [4].
120-
121-
Please download, verify checksums and signatures, run the unit tests, and vote
122-
on the release. The vote will be open for at least 72 hours.
123-
124-
Only votes from PMC members are binding, but all members of the community are
125-
encouraged to test the release and vote with "(non-binding)".
126-
127-
The standard verification procedure is documented at https://github.com/apache/arrow-datafusion-python/blob/main/dev/release/README.md#verifying-release-candidates.
128-
129-
[ ] +1 Release this as Apache Arrow DataFusion Python 0.7.0
130-
[ ] +0
131-
[ ] -1 Do not release this as Apache Arrow DataFusion Python 0.7.0 because...
132-
133-
Here is my vote:
134-
135-
+1
136-
137-
[1]: https://github.com/apache/arrow-datafusion-python/tree/bd1b78b6d444b7ab172c6aec23fa58c842a592d7
138-
[2]: https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-datafusion-python-0.7.0-rc2
139-
[3]: https://github.com/apache/arrow-datafusion-python/blob/bd1b78b6d444b7ab172c6aec23fa58c842a592d7/CHANGELOG.md
140-
[4]: https://test.pypi.org/project/datafusion/0.7.0/
141-
```
106+
This will also create the email template to send to the mailing list.
142107

143108
Create a draft email using this content, but do not send until after completing the next step.
144109

@@ -151,7 +116,7 @@ This section assumes some familiarity with publishing Python packages to PyPi. F
151116

152117
Pushing an `rc` tag to the release branch will cause a GitHub Workflow to run that will build the Python wheels.
153118

154-
Go to https://github.com/apache/arrow-datafusion-python/actions and look for an action named "Python Release Build"
119+
Go to https://github.com/apache/datafusion-python/actions and look for an action named "Python Release Build"
155120
that has run against the pushed tag.
156121

157122
Click on the action and scroll down to the bottom of the page titled "Artifacts". Download `dist.zip`. It should
@@ -266,10 +231,10 @@ git push apache 0.8.0
266231

267232
### Add the release to Apache Reporter
268233

269-
Add the release to https://reporter.apache.org/addrelease.html?arrow with a version name prefixed with `RS-DATAFUSION-PYTHON`,
270-
for example `RS-DATAFUSION-PYTHON-31.0.0`.
234+
Add the release to https://reporter.apache.org/addrelease.html?datafusion with a version name prefixed with `DATAFUSION-PYTHON`,
235+
for example `DATAFUSION-PYTHON-31.0.0`.
271236

272-
The release information is used to generate a template for a board report (see example
237+
The release information is used to generate a template for a board report (see example from Apache Arrow
273238
[here](https://github.com/apache/arrow/pull/14357)).
274239

275240
### Delete old RCs and Releases
@@ -284,13 +249,13 @@ Release candidates should be deleted once the release is published.
284249
Get a list of DataFusion release candidates:
285250

286251
```bash
287-
svn ls https://dist.apache.org/repos/dist/dev/arrow | grep datafusion-python
252+
svn ls https://dist.apache.org/repos/dist/dev/datafusion | grep datafusion-python
288253
```
289254

290255
Delete a release candidate:
291256

292257
```bash
293-
svn delete -m "delete old DataFusion RC" https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-datafusion-python-7.1.0-rc1/
258+
svn delete -m "delete old DataFusion RC" https://dist.apache.org/repos/dist/dev/datafusion/apache-datafusion-python-7.1.0-rc1/
294259
```
295260

296261
#### Deleting old releases from `release` svn
@@ -300,11 +265,11 @@ Only the latest release should be available. Delete old releases after publishin
300265
Get a list of DataFusion releases:
301266

302267
```bash
303-
svn ls https://dist.apache.org/repos/dist/release/arrow | grep datafusion-python
268+
svn ls https://dist.apache.org/repos/dist/release/datafusion | grep datafusion-python
304269
```
305270

306271
Delete a release:
307272

308273
```bash
309-
svn delete -m "delete old DataFusion release" https://dist.apache.org/repos/dist/release/arrow/arrow-datafusion-python-7.0.0
274+
svn delete -m "delete old DataFusion release" https://dist.apache.org/repos/dist/release/datafusion/datafusion-python-7.0.0
310275
```

dev/release/create-tarball.sh

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@
2121
# Adapted from https://github.com/apache/arrow-rs/tree/master/dev/release/create-tarball.sh
2222

2323
# This script creates a signed tarball in
24-
# dev/dist/apache-arrow-datafusion-python-<version>-<sha>.tar.gz and uploads it to
24+
# dev/dist/apache-datafusion-python-<version>-<sha>.tar.gz and uploads it to
2525
# the "dev" area of the dist.apache.arrow repository and prepares an
26-
# email for sending to the dev@arrow.apache.org list for a formal
26+
# email for sending to the dev@datafusion.apache.org list for a formal
2727
# vote.
2828
#
2929
# See release/README.md for full release instructions
@@ -65,25 +65,25 @@ tag="${version}-rc${rc}"
6565
echo "Attempting to create ${tarball} from tag ${tag}"
6666
release_hash=$(cd "${SOURCE_TOP_DIR}" && git rev-list --max-count=1 ${tag})
6767

68-
release=apache-arrow-datafusion-python-${version}
68+
release=apache-datafusion-python-${version}
6969
distdir=${SOURCE_TOP_DIR}/dev/dist/${release}-rc${rc}
7070
tarname=${release}.tar.gz
7171
tarball=${distdir}/${tarname}
72-
url="https://dist.apache.org/repos/dist/dev/arrow/${release}-rc${rc}"
72+
url="https://dist.apache.org/repos/dist/dev/datafusion/${release}-rc${rc}"
7373

7474
if [ -z "$release_hash" ]; then
7575
echo "Cannot continue: unknown git tag: ${tag}"
7676
fi
7777

78-
echo "Draft email for dev@arrow.apache.org mailing list"
78+
echo "Draft email for dev@datafusion.apache.org mailing list"
7979
echo ""
8080
echo "---------------------------------------------------------"
8181
cat <<MAIL
82-
To: dev@arrow.apache.org
83-
Subject: [VOTE][RUST][DataFusion] Release DataFusion Python Bindings ${version} RC${rc}
82+
To: dev@datafusion.apache.org
83+
Subject: [VOTE] Release DataFusion Python Bindings ${version} RC${rc}
8484
Hi,
8585
86-
I would like to propose a release of Apache Arrow DataFusion Python Bindings,
86+
I would like to propose a release of the Apache DataFusion Python Bindings,
8787
version ${version}.
8888
8989
This release candidate is based on commit: ${release_hash} [1]
@@ -97,19 +97,19 @@ on the release. The vote will be open for at least 72 hours.
9797
Only votes from PMC members are binding, but all members of the community are
9898
encouraged to test the release and vote with "(non-binding)".
9999
100-
The standard verification procedure is documented at https://github.com/apache/arrow-datafusion-python/blob/main/dev/release/README.md#verifying-release-candidates.
100+
The standard verification procedure is documented at https://github.com/apache/datafusion-python/blob/main/dev/release/README.md#verifying-release-candidates.
101101
102-
[ ] +1 Release this as Apache Arrow DataFusion Python ${version}
102+
[ ] +1 Release this as Apache DataFusion Python ${version}
103103
[ ] +0
104-
[ ] -1 Do not release this as Apache Arrow DataFusion Python ${version} because...
104+
[ ] -1 Do not release this as Apache DataFusion Python ${version} because...
105105
106106
Here is my vote:
107107
108108
+1
109109
110-
[1]: https://github.com/apache/arrow-datafusion-python/tree/${release_hash}
110+
[1]: https://github.com/apache/datafusion-python/tree/${release_hash}
111111
[2]: ${url}
112-
[3]: https://github.com/apache/arrow-datafusion-python/blob/${release_hash}/CHANGELOG.md
112+
[3]: https://github.com/apache/datafusion-python/blob/${release_hash}/CHANGELOG.md
113113
[4]: https://test.pypi.org/project/datafusion/${version}/
114114
MAIL
115115
echo "---------------------------------------------------------"
@@ -127,12 +127,12 @@ echo "Signing tarball and creating checksums"
127127
gpg --armor --output ${tarball}.asc --detach-sig ${tarball}
128128
# create signing with relative path of tarball
129129
# so that they can be verified with a command such as
130-
# shasum --check apache-arrow-datafusion-python-4.1.0-rc2.tar.gz.sha512
130+
# shasum --check apache-datafusion-python-4.1.0-rc2.tar.gz.sha512
131131
(cd ${distdir} && shasum -a 256 ${tarname}) > ${tarball}.sha256
132132
(cd ${distdir} && shasum -a 512 ${tarname}) > ${tarball}.sha512
133133

134134

135-
echo "Uploading to apache dist/dev to ${url}"
136-
svn co --depth=empty https://dist.apache.org/repos/dist/dev/arrow ${SOURCE_TOP_DIR}/dev/dist
135+
echo "Uploading to datafusion dist/dev to ${url}"
136+
svn co --depth=empty https://dist.apache.org/repos/dist/dev/datafusion ${SOURCE_TOP_DIR}/dev/dist
137137
svn add ${distdir}
138-
svn ci -m "Apache Arrow DataFusion Python ${version} ${rc}" ${distdir}
138+
svn ci -m "Apache DataFusion Python ${version} ${rc}" ${distdir}

dev/release/generate-changelog.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ def cli(args=None):
102102

103103
parser = argparse.ArgumentParser()
104104
parser.add_argument(
105-
"project", help="The project name e.g. apache/arrow-datafusion-python"
105+
"project", help="The project name e.g. apache/datafusion-python"
106106
)
107107
parser.add_argument("tag1", help="The previous release tag")
108108
parser.add_argument("tag2", help="The current release tag")

dev/release/release-tarball.sh

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ fi
4343
version=$1
4444
rc=$2
4545

46-
tmp_dir=tmp-apache-arrow-datafusion-python-dist
46+
tmp_dir=tmp-apache-datafusion-python-dist
4747

4848
echo "Recreate temporary directory: ${tmp_dir}"
4949
rm -rf ${tmp_dir}
@@ -52,23 +52,23 @@ mkdir -p ${tmp_dir}
5252
echo "Clone dev dist repository"
5353
svn \
5454
co \
55-
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-datafusion-python-${version}-rc${rc} \
55+
https://dist.apache.org/repos/dist/dev/datafusion/apache-datafusion-python-${version}-rc${rc} \
5656
${tmp_dir}/dev
5757

5858
echo "Clone release dist repository"
59-
svn co https://dist.apache.org/repos/dist/release/arrow ${tmp_dir}/release
59+
svn co https://dist.apache.org/repos/dist/release/datafusion ${tmp_dir}/release
6060

6161
echo "Copy ${version}-rc${rc} to release working copy"
62-
release_version=arrow-datafusion-python-${version}
62+
release_version=datafusion-python-${version}
6363
mkdir -p ${tmp_dir}/release/${release_version}
6464
cp -r ${tmp_dir}/dev/* ${tmp_dir}/release/${release_version}/
6565
svn add ${tmp_dir}/release/${release_version}
6666

6767
echo "Commit release"
68-
svn ci -m "Apache Arrow DataFusion Python ${version}" ${tmp_dir}/release
68+
svn ci -m "Apache DataFusion Python ${version}" ${tmp_dir}/release
6969

7070
echo "Clean up"
7171
rm -rf ${tmp_dir}
7272

7373
echo "Success! The release is available here:"
74-
echo " https://dist.apache.org/repos/dist/release/arrow/${release_version}"
74+
echo " https://dist.apache.org/repos/dist/release/datafusion/${release_version}"

dev/release/update_change_log-datafusion-python.sh

Lines changed: 0 additions & 33 deletions
This file was deleted.

dev/release/update_change_log.sh

Lines changed: 0 additions & 87 deletions
This file was deleted.

0 commit comments

Comments
 (0)