From e30a74ddb61f41609f3a0e24ef4754a1ff48d51a Mon Sep 17 00:00:00 2001 From: Star Yuan Date: Wed, 17 Jan 2024 22:18:14 +0800 Subject: [PATCH 1/5] [COMMUNITY] Add new key for release signing --- KEYS | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/KEYS b/KEYS index 3cee902acd32..32e451097045 100644 --- a/KEYS +++ b/KEYS @@ -642,3 +642,62 @@ WTgrESErlqNLN5ZTTW/1jBELJCfJKxgHUip+Yo6qNZoWwNLP1BaIcoA3miSG3DXf wS/UuN04NxDy7V6mPXE= =MTba -----END PGP PUBLIC KEY BLOCK----- +pub rsa4096 2024-01-15 [SC] + A4D9228E55761E665BF01CBB5CE869CB7DEC048C +uid [ultimate] Star Yuan (CODE SIGNING KEY) +sig 3 5CE869CB7DEC048C 2024-01-15 Star Yuan (CODE SIGNING KEY) +sub rsa4096 2024-01-15 [E] +sig 5CE869CB7DEC048C 2024-01-15 Star Yuan (CODE SIGNING KEY) + +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +HeZaRpYvkV8UNmnE +=BtHq +-----END PGP PUBLIC KEY BLOCK----- From fb4a0035c8c48bca36df99a39e065bd4aaae2f95 Mon Sep 17 00:00:00 2001 From: ysh329 Date: Tue, 30 Apr 2024 09:00:33 +0800 Subject: [PATCH 2/5] Create test_release_package.sh --- tests/scripts/release/test_release_package.sh | 90 +++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 tests/scripts/release/test_release_package.sh diff --git a/tests/scripts/release/test_release_package.sh b/tests/scripts/release/test_release_package.sh new file mode 100644 index 000000000000..6576c4794ae0 --- /dev/null +++ b/tests/scripts/release/test_release_package.sh @@ -0,0 +1,90 @@ +set -ex + +###################################################### +# This script is used test release (cancdidate) +# packages uploading to apache.org, github.com +# before release vote starts or release. +# +# The release (candidate) package contains files +# below: +# 1. apache-tvm-src-${version_rc}.tar.gz.asc +# 2. apache-tvm-src-${version_rc}.tar.gz.sha512 +# 3. apache-tvm-src-${version_rc}.tar.gz +###################################################### + + +###################################################### +# Write current test version and rc number here +###################################################### +# NOTE about "rc": +# 1. Required for test candidate, such as "rc0" +# 2. Not required for release, leave blank "" +###################################################### +version="v0.16.0" +rc="rc0" + + +###################################################### +# Test start +###################################################### +version_rc="${version}" +apache_prefix="${version}" +if [ "$rc" != "" ]; then + apache_prefix="${version_rc}-${rc}" + version_rc="${version_rc}.${rc}" +fi +mkdir test_tvm_${version_rc} +cd test_tvm_${version_rc} + +echo "[1/9] Downloading from apache.org ..." +mkdir apache +cd apache +wget -c https://dist.apache.org/repos/dist/dev/tvm/tvm-${apache_prefix}/apache-tvm-src-${version_rc}.tar.gz.sha512 +wget -c https://dist.apache.org/repos/dist/dev/tvm/tvm-${apache_prefix}/apache-tvm-src-${version_rc}.tar.gz.asc +wget -c https://dist.apache.org/repos/dist/dev/tvm/tvm-${apache_prefix}/apache-tvm-src-${version_rc}.tar.gz +md5sum ./* > ./md5sum.txt +cd - + +echo "[2/9] Downloading from github.com ..." +mkdir github +cd github +wget -c https://github.com/apache/tvm/releases/download/${version_rc}/apache-tvm-src-${version_rc}.tar.gz.sha512 +wget -c https://github.com/apache/tvm/releases/download/${version_rc}/apache-tvm-src-${version_rc}.tar.gz.asc +wget -c https://github.com/apache/tvm/releases/download/${version_rc}/apache-tvm-src-${version_rc}.tar.gz +md5sum ./* > ./md5sum.txt +cd - + +echo "[3/9] Check difference between github.com and apache.org ..." +diff github/md5sum.txt ./apache/md5sum.txt + +echo "[4/9] Checking asc ..." +cd github +gpg --verify ./apache-tvm-src-${version_rc}.tar.gz.asc ./apache-tvm-src-${version_rc}.tar.gz + +echo "[5/9] Checking sha512 ..." +sha512sum -c ./apache-tvm-src-${version_rc}.tar.gz.sha512 + +echo "[6/9] Unzip ..." +tar -zxf apache-tvm-src-${version_rc}.tar.gz + +echo "[7/9] Checking whether binary in source code ..." +output=`find apache-tvm-src-${version_rc} -type f -exec file {} + | grep -w "ELF\|shared object"` +if [[ -n "$output" ]]; then + echo "Error: ELF or shared object files found:" + echo "$output" + exit 1 +fi + +echo "[8/9] Compile and Python Import on Linux ..." +cd apache-tvm-src-${version_rc} +mkdir build +cd build +cp ../cmake/config.cmake . +cmake .. +make -j4 +cd .. + +echo "[9/9] Import TVM and print path ..." +export TVM_HOME=$(pwd) +export PYTHONPATH=$TVM_HOME/python:${PYTHONPATH} +python3 -c "import tvm; print(tvm.__path__)" From fd594ee224571e5781840fa2c6005e60d224a9c6 Mon Sep 17 00:00:00 2001 From: ysh329 Date: Tue, 30 Apr 2024 09:05:46 +0800 Subject: [PATCH 3/5] Update test_release_package.sh --- tests/scripts/release/test_release_package.sh | 41 ++++++++++++------- 1 file changed, 26 insertions(+), 15 deletions(-) diff --git a/tests/scripts/release/test_release_package.sh b/tests/scripts/release/test_release_package.sh index 6576c4794ae0..186ed9dda3e1 100644 --- a/tests/scripts/release/test_release_package.sh +++ b/tests/scripts/release/test_release_package.sh @@ -1,17 +1,21 @@ -set -ex - -###################################################### -# This script is used test release (cancdidate) -# packages uploading to apache.org, github.com -# before release vote starts or release. +#!/usr/bin/env bash +# 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 # -# The release (candidate) package contains files -# below: -# 1. apache-tvm-src-${version_rc}.tar.gz.asc -# 2. apache-tvm-src-${version_rc}.tar.gz.sha512 -# 3. apache-tvm-src-${version_rc}.tar.gz -###################################################### - +# 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. +set -exu ###################################################### # Write current test version and rc number here @@ -23,9 +27,16 @@ set -ex version="v0.16.0" rc="rc0" - ###################################################### -# Test start +# This script is used test release (cancdidate) +# packages uploading to apache.org, github.com +# before release vote starts or release. +# +# The release (candidate) package contains files +# below: +# 1. apache-tvm-src-${version_rc}.tar.gz.asc +# 2. apache-tvm-src-${version_rc}.tar.gz.sha512 +# 3. apache-tvm-src-${version_rc}.tar.gz ###################################################### version_rc="${version}" apache_prefix="${version}" From 5ab5f4d1645d432857f929598328b57b5c987533 Mon Sep 17 00:00:00 2001 From: ysh329 Date: Tue, 30 Apr 2024 09:12:18 +0800 Subject: [PATCH 4/5] Update README.md --- tests/scripts/release/README.md | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/tests/scripts/release/README.md b/tests/scripts/release/README.md index ad823c70b34d..472b6826c25a 100644 --- a/tests/scripts/release/README.md +++ b/tests/scripts/release/README.md @@ -15,7 +15,9 @@ -These scripts can be helpful when creating release notes. +These scripts can be helpful when creating release notes and testing release packages. + +# Create release note ```bash # example: create a csv file of all PRs since the v0.8 and v0.9.0 releases @@ -52,3 +54,11 @@ python list_rfcs.py --since-commit --rfcs-repo ./tvm-rfcs > rfc.md ``` Finally, combine `rfc.md` and `out.md` along with some prose to create the final release notes. + +# Test release packages + +After uploading release (candidate) packages to apache.org or github release page, you can validate packages step-by-step from downloading, verification and compiling use script below, but don't forget edit the `version` and `rc` number in script. + +```bash +test_release_package.sh +``` From d03991511df974a092e1bb0f3f59b6ba6be072a5 Mon Sep 17 00:00:00 2001 From: ysh329 Date: Tue, 30 Apr 2024 09:12:32 +0800 Subject: [PATCH 5/5] Update README.md --- tests/scripts/release/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/scripts/release/README.md b/tests/scripts/release/README.md index 472b6826c25a..de00d937c835 100644 --- a/tests/scripts/release/README.md +++ b/tests/scripts/release/README.md @@ -17,7 +17,7 @@ These scripts can be helpful when creating release notes and testing release packages. -# Create release note +# Create release notes ```bash # example: create a csv file of all PRs since the v0.8 and v0.9.0 releases