Browse Source

gitlab-ci: add jobs to make Linux release packages for aarch64

Hi Key 5 years ago
parent
commit
fe1bd15ad7
4 changed files with 53 additions and 7 deletions
  1. 23 0
      .gitlab-ci.yml
  2. 1 0
      .gitlab/artifacts.yml
  3. 14 7
      .gitlab/ci/sccache.sh
  4. 15 0
      .gitlab/os-linux.yml

+ 23 - 0
.gitlab-ci.yml

@@ -186,6 +186,29 @@ upload:linux-x86_64-package:
     variables:
         RSYNC_DESTINATION: dev
 
+build:linux-aarch64-package:
+    extends:
+        - .linux_package_aarch64
+        - .cmake_build_linux_package
+        - .cmake_release_artifacts
+        - .linux_builder_tags_aarch64
+        - .run_only_for_package
+    dependencies:
+        - prep:doc-package
+    needs:
+        - prep:doc-package
+
+upload:linux-aarch64-package:
+    extends:
+        - .rsync_upload
+        - .run_only_for_package
+    dependencies:
+        - build:linux-aarch64-package
+    needs:
+        - build:linux-aarch64-package
+    variables:
+        RSYNC_DESTINATION: dev
+
 # macOS builds
 
 build:macos-ninja:

+ 1 - 0
.gitlab/artifacts.yml

@@ -74,6 +74,7 @@
         paths:
             # Any packages made.
             - build/cmake-*-Linux-x86_64.*
+            - build/cmake-*-Linux-aarch64.*
             - build/cmake-*-macos-universal.*
             # Any source packages made.
             - build/cmake-*.tar.gz

+ 14 - 7
.gitlab/ci/sccache.sh

@@ -2,21 +2,30 @@
 
 set -e
 
-case "$( uname -s )" in
-    Linux)
+readonly kernel="$(uname -s)-$(uname -m)"
+case $kernel in
+    Linux-x86_64)
         version="0.2.13"
         shatool="sha256sum"
         sha256sum="28a5499e340865b08b632306b435913beb590fbd7b49a3f887a623b459fabdeb"
         platform="x86_64-unknown-linux-musl"
         ;;
-    Darwin)
+    Linux-aarch64)
+        version="g6628e1f"
+        shatool="sha256sum"
+        sha256sum="bb88adbb5a29c166ecaa78d0593493b609a7f84d91d1228502a908f319b513f0"
+        platform="aarch64-unknown-linux-musl"
+        url="https://github.com/hwinit/sccache/releases/download/$version"
+        ;;
+    Darwin-x86_64)
         version="gfe63078"
         shatool="shasum -a 256"
         sha256sum="60a0302b1d7227f7ef56abd82266353f570d27c6e850c56c6448bf62def38888"
         platform="x86_64-apple-darwin"
+        url="https://paraview.org/files/dependencies"
         ;;
     *)
-        echo "Unrecognized platform $( uname -s )"
+        echo "Unrecognized platform $kernel"
         exit 1
         ;;
 esac
@@ -28,9 +37,7 @@ readonly platform
 readonly filename="sccache-$version-$platform"
 readonly tarball="$filename.tar.gz"
 
-if [ "$( uname -s )" = "Darwin" ]; then
-    url="https://paraview.org/files/dependencies"
-else
+if [ -z "$url" ]; then
     url="https://github.com/mozilla/sccache/releases/download/$version"
 fi
 readonly url

+ 15 - 0
.gitlab/os-linux.yml

@@ -25,6 +25,14 @@
         LAUNCHER: "scl enable devtoolset-6 rh-python36 --"
         CMAKE_ARCH: x86_64
 
+.linux_package_aarch64:
+    image: "kitware/cmake:build-linux-aarch64-deps-2020-12-21@sha256:0bd7dfe4e45593b04e39cd21e44011034610cfd376900558c5ef959bb1af15af"
+
+    variables:
+        GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci"
+        LAUNCHER: "scl enable devtoolset-7 --"
+        CMAKE_ARCH: aarch64
+
 ### Debian
 
 .debian10:
@@ -155,6 +163,13 @@
         - docker
         - linux
 
+.linux_builder_tags_aarch64:
+    tags:
+        - cmake
+        - build
+        - docker
+        - linux-aarch64
+
 ## Linux-specific scripts
 
 .before_script_linux: &before_script_linux