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}

Reply via email to