You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@opendal.apache.org by xu...@apache.org on 2023/10/08 05:25:39 UTC
[incubator-opendal] 01/01: docs: Add verify script
This is an automated email from the ASF dual-hosted git repository.
xuanwo pushed a commit to branch release-verify
in repository https://gitbox.apache.org/repos/asf/incubator-opendal.git
commit 6250fd08d738cfcab0d84eff4fc29164bd48ca80
Author: Xuanwo <gi...@xuanwo.io>
AuthorDate: Sun Oct 8 13:25:21 2023 +0800
docs: Add verify script
Signed-off-by: Xuanwo <gi...@xuanwo.io>
---
scripts/README.md | 6 ++++
scripts/verify.py | 63 +++++++++++++++++++++++++++++++++
website/community/committers/release.md | 8 +++++
3 files changed, 77 insertions(+)
diff --git a/scripts/README.md b/scripts/README.md
index 07c71dcff..57c9c2df7 100644
--- a/scripts/README.md
+++ b/scripts/README.md
@@ -53,3 +53,9 @@ Please decide how far you trust this user to correctly verify other users' keys
Your decision? 5 #choose 5
Do you really want to set this key to ultimate trust? (y/N) y #choose y
```
+
+## Verify
+
+```shell
+./scripts/verify.py
+```
diff --git a/scripts/verify.py b/scripts/verify.py
new file mode 100755
index 000000000..72dc84521
--- /dev/null
+++ b/scripts/verify.py
@@ -0,0 +1,63 @@
+#!/usr/bin/env python3
+
+import subprocess
+import sys
+import os
+
+BASE_DIR = os.getcwd()
+
+
+def check_rust():
+ try:
+ subprocess.run(['cargo', '--version'], check=True)
+ return True
+ except FileNotFoundError:
+ return False
+ except Exception as e:
+ raise Exception("Check rust met unexpected error", e)
+
+
+def check_java():
+ try:
+ subprocess.run(['java', '--version'], check=True)
+ return True
+ except FileNotFoundError:
+ return False
+ except Exception as e:
+ raise Exception("Check java met unexpected error", e)
+
+
+def build_core():
+ print("Start building opendal core")
+
+ subprocess.run(['cargo', 'build'], check=True)
+
+
+def build_java_binding():
+ print("Start building opendal java binding")
+
+ # change to java binding directory
+ os.chdir('bindings/java')
+
+ subprocess.run(['./mvnw', 'clean', 'install', '-DskipTests=true'], check=True)
+
+ # change back to base directory
+ os.chdir(BASE_DIR)
+
+
+def main():
+ if not check_rust():
+ print("Cargo is not found, please check if rust development has been setup correctly")
+ print("Visit https://www.rust-lang.org/tools/install for more information")
+ sys.exit(1)
+
+ build_core()
+
+ if check_java():
+ build_java_binding()
+ else:
+ print("Java is not found, skipped building java binding")
+
+
+if __name__ == "__main__":
+ main()
diff --git a/website/community/committers/release.md b/website/community/committers/release.md
index 04aa57564..05d613677 100644
--- a/website/community/committers/release.md
+++ b/website/community/committers/release.md
@@ -304,6 +304,10 @@ https://github.com/apache/incubator-opendal/tree/main/scripts
To compile from source, please refer to:
https://github.com/apache/incubator-opendal/blob/main/CONTRIBUTING.md
+Here is python script in release to help you verify the release candidate:
+
+./scripts/verify.py
+
Thanks
${name}
@@ -415,6 +419,10 @@ https://github.com/apache/incubator-opendal/tree/main/scripts
To compile from source, please refer to:
https://github.com/apache/incubator-opendal/blob/main/CONTRIBUTING.md
+Here is python script in release to help you verify the release candidate:
+
+./scripts/verify.py
+
Thanks
${name}