[PATCH] D70353: test-release.sh: Update to fetch source from GitHub

Hans Wennborg via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Nov 18 00:12:23 PST 2019


hans edited reviewers, added: hans; removed: hansw.
hans added a comment.

Thanks for digging into this!



================
Comment at: llvm/utils/release/test-release.sh:293
 function export_sources() {
-    check_valid_urls
-
-    for proj in $projects ; do
-        case $proj in
-        llvm)
-            projsrc=$proj.src
-            ;;
-        cfe)
-            projsrc=llvm.src/tools/clang
-            ;;
-        lld|lldb|polly)
-            projsrc=llvm.src/tools/$proj
-            ;;
-        clang-tools-extra)
-            projsrc=llvm.src/tools/clang/tools/extra
-            ;;
-        compiler-rt|libcxx|libcxxabi|libunwind|openmp)
-            projsrc=llvm.src/projects/$proj
-            ;;
-        test-suite)
-            projsrc=$proj.src
-            ;;
-        *)
-            echo "error: unknown project $proj"
-            exit 1
-            ;;
-        esac
+  tag="llvmorg-$Release"
+  if [ "$RC" != "final" ]; then
----------------
I guess this won't work with -svn-path, which I like to use to test a branch before tagging it.

It would be great if we could rename that to -git-ref or something and have it work the same way.


================
Comment at: llvm/utils/release/test-release.sh:299
+  SrcDir=$BuildDir/llvm-project
+  TarballName="llvm-project.tar.gz"
+  mkdir -p $SrcDir
----------------
Could we just pipe it to tar directly? Then there would be no need to come up with a name for the file or to keep it around.


================
Comment at: llvm/utils/release/test-release.sh:302
+  echo "# Using git tag: $tag"
+  curl -L -O https://github.com/llvm/llvm-project/archive/$tag/$TarballName
+  tar -C $SrcDir --strip-components=1 -xzf $TarballName
----------------
Maybe add a comment here for those not familiar with the GitHub API?


================
Comment at: llvm/utils/release/test-release.sh:351
         -DCMAKE_BUILD_TYPE=$BuildType -DLLVM_ENABLE_ASSERTIONS=$Assertions \
-        $ExtraConfigureFlags $BuildDir/llvm.src \
+        -DLLVM_ENABLE_PROJECTS="$project_list" \
+        $ExtraConfigureFlags $BuildDir/llvm-project/llvm \
----------------
Maybe add to the change description that this changes the build to use the monorpo layout. (It makes sense now that we're getting the source from GitHub, but I think it's worth calling it out explicitly.)
Also this is the post I'm most curious about. Hopefully it doesn't cause problems :-)


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D70353/new/

https://reviews.llvm.org/D70353





More information about the llvm-commits mailing list