You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@toree.apache.org by lr...@apache.org on 2026/09/13 04:38:13 UTC
(incubator-toree) 02/02: Align release tooling with ASF distribution policy
This is an automated email from the ASF dual-hosted git repository.
lresende pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-toree.git
commit 29420b0f2ea0f96244f6c8df2ab67ba2694e1cea
Author: Luciano Resende <lr...@apple.com>
AuthorDate: Thu Sep 10 11:12:06 2026 +0200
Align release tooling with ASF distribution policy
The ASF deprecated MD5 for release distribution, so sign-file no longer
generates .md5, verify-release no longer requires it, and the sign
targets drop it from their outputs and prerequisites. The find in
verify-release still excludes *.md5 so that a stale file left by an
earlier build cannot be mistaken for a release artifact.
release-build.sh now stages the binary and source artifacts under
apache-toree rather than toree, matching their new names. The toree-pip
directory keeps its name because it stages the package that is
published to PyPI as toree.
Commenting out test_statements_stdout left test_scala_stdout iterating
an attribute that no longer existed, so the test raised AttributeError
instead of being skipped. Restore the data and skip the method, with
the reason recorded alongside it.
---
Makefile | 14 +++++++-------
RELEASE_NOTES.md | 5 +++++
etc/tools/release-build.sh | 8 ++++----
etc/tools/sign-file | 1 -
etc/tools/verify-release | 19 -------------------
test_toree.py | 11 +++++++----
6 files changed, 23 insertions(+), 35 deletions(-)
diff --git a/Makefile b/Makefile
index 71feac2c..de6c604d 100644
--- a/Makefile
+++ b/Makefile
@@ -260,13 +260,13 @@ dist/apache-toree-pip/apache-toree-$(BASE_VERSION).tar.gz: dist/toree
pip-release: dist/toree-pip/toree-$(BASE_VERSION).tar.gz dist/apache-toree-pip/apache-toree-$(BASE_VERSION).tar.gz
-dist/toree-pip/toree-$(BASE_VERSION).tar.gz.md5 dist/toree-pip/toree-$(BASE_VERSION).tar.gz.asc dist/toree-pip/toree-$(BASE_VERSION).tar.gz.sha512: dist/toree-pip/toree-$(BASE_VERSION).tar.gz
+dist/toree-pip/toree-$(BASE_VERSION).tar.gz.asc dist/toree-pip/toree-$(BASE_VERSION).tar.gz.sha512: dist/toree-pip/toree-$(BASE_VERSION).tar.gz
@GPG_PASSWORD='$(GPG_PASSWORD)' GPG=$(GPG) etc/tools/./sign-file dist/toree-pip/toree-$(BASE_VERSION).tar.gz
-dist/apache-toree-pip/apache-toree-$(BASE_VERSION).tar.gz.md5 dist/apache-toree-pip/apache-toree-$(BASE_VERSION).tar.gz.asc dist/apache-toree-pip/apache-toree-$(BASE_VERSION).tar.gz.sha512: dist/apache-toree-pip/apache-toree-$(BASE_VERSION).tar.gz
+dist/apache-toree-pip/apache-toree-$(BASE_VERSION).tar.gz.asc dist/apache-toree-pip/apache-toree-$(BASE_VERSION).tar.gz.sha512: dist/apache-toree-pip/apache-toree-$(BASE_VERSION).tar.gz
@GPG_PASSWORD='$(GPG_PASSWORD)' GPG=$(GPG) etc/tools/./sign-file dist/apache-toree-pip/apache-toree-$(BASE_VERSION).tar.gz
-sign-pip: dist/toree-pip/toree-$(BASE_VERSION).tar.gz.md5 dist/toree-pip/toree-$(BASE_VERSION).tar.gz.asc dist/toree-pip/toree-$(BASE_VERSION).tar.gz.sha512 dist/apache-toree-pip/apache-toree-$(BASE_VERSION).tar.gz.md5 dist/apache-toree-pip/apache-toree-$(BASE_VERSION).tar.gz.asc dist/apache-toree-pip/apache-toree-$(BASE_VERSION).tar.gz.sha512
+sign-pip: dist/toree-pip/toree-$(BASE_VERSION).tar.gz.asc dist/toree-pip/toree-$(BASE_VERSION).tar.gz.sha512 dist/apache-toree-pip/apache-toree-$(BASE_VERSION).tar.gz.asc dist/apache-toree-pip/apache-toree-$(BASE_VERSION).tar.gz.sha512
publish-pip: PYPI_REPO?=https://pypi.python.org/pypi
publish-pip: PYPI_USER?=
@@ -299,10 +299,10 @@ dist/apache-toree-bin/apache-toree-$(VERSION)-bin.tar.gz: dist/toree
bin-release: dist/apache-toree-bin/apache-toree-$(VERSION)-bin.tar.gz
-dist/apache-toree-bin/apache-toree-$(VERSION)-bin.tar.gz.md5 dist/apache-toree-bin/apache-toree-$(VERSION)-bin.tar.gz.asc dist/apache-toree-bin/apache-toree-$(VERSION)-bin.tar.gz.sha512: dist/apache-toree-bin/apache-toree-$(VERSION)-bin.tar.gz
+dist/apache-toree-bin/apache-toree-$(VERSION)-bin.tar.gz.asc dist/apache-toree-bin/apache-toree-$(VERSION)-bin.tar.gz.sha512: dist/apache-toree-bin/apache-toree-$(VERSION)-bin.tar.gz
@GPG_PASSWORD='$(GPG_PASSWORD)' GPG=$(GPG) etc/tools/./sign-file dist/apache-toree-bin/apache-toree-$(VERSION)-bin.tar.gz
-sign-bin: dist/apache-toree-bin/apache-toree-$(VERSION)-bin.tar.gz.md5 dist/apache-toree-bin/apache-toree-$(VERSION)-bin.tar.gz.asc dist/apache-toree-bin/apache-toree-$(VERSION)-bin.tar.gz.sha512
+sign-bin: dist/apache-toree-bin/apache-toree-$(VERSION)-bin.tar.gz.asc dist/apache-toree-bin/apache-toree-$(VERSION)-bin.tar.gz.sha512
publish-bin:
@@ -315,10 +315,10 @@ dist/apache-toree-src/apache-toree-$(VERSION)-src.tar.gz:
src-release: dist/apache-toree-src/apache-toree-$(VERSION)-src.tar.gz
-dist/apache-toree-src/apache-toree-$(VERSION)-src.tar.gz.md5 dist/apache-toree-src/apache-toree-$(VERSION)-src.tar.gz.asc dist/apache-toree-src/apache-toree-$(VERSION)-src.tar.gz.sha512: dist/apache-toree-src/apache-toree-$(VERSION)-src.tar.gz
+dist/apache-toree-src/apache-toree-$(VERSION)-src.tar.gz.asc dist/apache-toree-src/apache-toree-$(VERSION)-src.tar.gz.sha512: dist/apache-toree-src/apache-toree-$(VERSION)-src.tar.gz
@GPG_PASSWORD='$(GPG_PASSWORD)' GPG=$(GPG) etc/tools/./sign-file dist/apache-toree-src/apache-toree-$(VERSION)-src.tar.gz
-sign-src: dist/apache-toree-src/apache-toree-$(VERSION)-src.tar.gz.md5 dist/apache-toree-src/apache-toree-$(VERSION)-src.tar.gz.asc dist/apache-toree-src/apache-toree-$(VERSION)-src.tar.gz.sha512
+sign-src: dist/apache-toree-src/apache-toree-$(VERSION)-src.tar.gz.asc dist/apache-toree-src/apache-toree-$(VERSION)-src.tar.gz.sha512
publish-src:
diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md
index 5791ee71..f45e5cb6 100644
--- a/RELEASE_NOTES.md
+++ b/RELEASE_NOTES.md
@@ -46,6 +46,11 @@
- Distribution directories: `dist/toree-bin` and `dist/toree-src` â
`dist/apache-toree-bin` and `dist/apache-toree-src`
- pip packages remain as `toree` and `apache-toree` (no change)
+ - Staging layout on dist.apache.org: the `toree` directory holding the binary
+ and source artifacts is now `apache-toree`
+* Release artifacts no longer ship `.md5` checksums, which the ASF has
+ deprecated for release distribution. `.asc` signatures and `.sha512`
+ checksums are unchanged.
## 0.5.0-incubating (2022.04)
diff --git a/etc/tools/release-build.sh b/etc/tools/release-build.sh
index 468ae233..4be5459e 100755
--- a/etc/tools/release-build.sh
+++ b/etc/tools/release-build.sh
@@ -272,18 +272,18 @@ if [[ "$RELEASE_PREPARE" == "true" ]]; then
cd "$BASE_DIR/target"
svn co $RELEASE_STAGING_LOCATION svn-toree
- mkdir -p svn-toree/$RELEASE_STAGING_FOLDER/toree
+ mkdir -p svn-toree/$RELEASE_STAGING_FOLDER/apache-toree
mkdir -p svn-toree/$RELEASE_STAGING_FOLDER/toree-pip
mkdir -p svn-toree/$RELEASE_STAGING_FOLDER/apache-toree-pip
- cp toree/dist/apache-toree-bin/*.tar.gz svn-toree/$RELEASE_STAGING_FOLDER/toree
- cp toree/dist/apache-toree-src/*.tar.gz svn-toree/$RELEASE_STAGING_FOLDER/toree
+ cp toree/dist/apache-toree-bin/*.tar.gz svn-toree/$RELEASE_STAGING_FOLDER/apache-toree
+ cp toree/dist/apache-toree-src/*.tar.gz svn-toree/$RELEASE_STAGING_FOLDER/apache-toree
cp toree/dist/toree-pip/*.tar.gz svn-toree/$RELEASE_STAGING_FOLDER/toree-pip
cp -r toree/dist/toree-pip/toree.egg-info svn-toree/$RELEASE_STAGING_FOLDER/toree-pip/
cp toree/dist/apache-toree-pip/*.tar.gz svn-toree/$RELEASE_STAGING_FOLDER/apache-toree-pip
cp -r toree/dist/apache-toree-pip/*toree.egg-info svn-toree/$RELEASE_STAGING_FOLDER/apache-toree-pip/
- cd "$BASE_DIR/target/svn-toree/$RELEASE_STAGING_FOLDER/toree"
+ cd "$BASE_DIR/target/svn-toree/$RELEASE_STAGING_FOLDER/apache-toree"
rm -f *.asc
for i in *.tar.gz; do gpg --output $i.asc --detach-sig --armor $i; done
rm -f *.sha*
diff --git a/etc/tools/sign-file b/etc/tools/sign-file
index a64f1e89..fb854a56 100755
--- a/etc/tools/sign-file
+++ b/etc/tools/sign-file
@@ -34,7 +34,6 @@ file_to_sign="${FWDIR}/$1"
if [[ -f "${file_to_sign}" ]]; then
echo "Generating signature and sums for ${file_to_sign}"
echo ${GPG_PASSWORD} | ${GPG} --passphrase-fd 0 --armor --output "${file_to_sign}.asc" --detach-sig "${file_to_sign}"
- echo ${GPG_PASSWORD} | ${GPG} --passphrase-fd 0 --print-md MD5 "${file_to_sign}" > "${file_to_sign}.md5"
echo ${GPG_PASSWORD} | ${GPG} --passphrase-fd 0 --print-md SHA512 "${file_to_sign}" > "${file_to_sign}.sha512"
exit 0
else
diff --git a/etc/tools/verify-release b/etc/tools/verify-release
index 12c4b25f..bf06e3f1 100755
--- a/etc/tools/verify-release
+++ b/etc/tools/verify-release
@@ -88,25 +88,6 @@ do
failure=true
fi
- # Verify the MD5 checksum is present
- if [[ -f "${file_to_verify}.md5" ]]; then
- hash_result=`gpg --print-md MD5 "${file_to_verify}"`
- hash_to_verify=`cat "${file_to_verify}.md5"`
-
- # Verify the MD5 checksum is correct
- if [[ "${hash_result}" != "${hash_to_verify}" ]]; then
- echo "ERROR: MD5 checksum of ${file_to_verify} does not match!"
- results="${results}\n\tx `basename ${file_to_verify}.md5`"
- failure=true
- else
- results="${results}\n\tâ `basename ${file_to_verify}.md5`"
- fi
- else
- echo "ERROR: MD5 checksum for ${file_to_verify} does not exist!"
- results="${results}\n\tx `basename ${file_to_verify}.md5`"
- failure=true
- fi
-
done
done
diff --git a/test_toree.py b/test_toree.py
index 5d024762..4a54488a 100644
--- a/test_toree.py
+++ b/test_toree.py
@@ -71,10 +71,10 @@ class ToreeScalaKernelTests(jupyter_kernel_test.KernelTests):
"* 6",
]
-# test_statements_stdout = [
-# {'code': '%AddJar http://home.apache.org/~lresende/toree/TestJar.jar'},
-# {'code': 'import com.ibm.testjar.TestClass\nprintln(new TestClass().sayHello("Person"))', 'result': 'Hello, Person\n'}
-# ]
+ test_statements_stdout = [
+ {'code': '%AddJar http://home.apache.org/~lresende/toree/TestJar.jar'},
+ {'code': 'import com.ibm.testjar.TestClass\nprintln(new TestClass().sayHello("Person"))', 'result': 'Hello, Person\n'}
+ ]
completion_samples = [
# completion for some scala code
@@ -89,6 +89,9 @@ class ToreeScalaKernelTests(jupyter_kernel_test.KernelTests):
},
]
+ @unittest.skip("AddJar fixture http://home.apache.org/~lresende/toree/TestJar.jar "
+ "returns 404; re-enable once the jar is served from a location the "
+ "project controls")
def test_scala_stdout(self):
'''Asserts test_statements execute correctly meaning the last message is the expected result'''
for sample in self.test_statements_stdout: