This is an automated email from the ASF dual-hosted git repository.
xuanwo pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-opendal.git
The following commit(s) were added to refs/heads/main by this push:
new 999600d82 docs: Add verify script (#3239)
999600d82 is described below
commit 999600d8228be82a4f6cb3cd8a576cb5410a6fc3
Author: Xuanwo <[email protected]>
AuthorDate: Sun Oct 8 15:21:33 2023 +0800
docs: Add verify script (#3239)
---
scripts/README.md | 6 +++
scripts/verify.py | 91 +++++++++++++++++++++++++++++++++
website/community/committers/release.md | 8 +++
3 files changed, 105 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..a43ece1c4
--- /dev/null
+++ b/scripts/verify.py
@@ -0,0 +1,91 @@
+#!/usr/bin/env python3
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+
+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", "--release"], 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",
+ "-Dcargo-build.profile=release",
+ ],
+ 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}