1
0
Эх сурвалжийг харах

gitlab-ci: add a cuda10.2 builder

Ben Boeckel 5 жил өмнө
parent
commit
2e7cefec03

+ 31 - 0
.gitlab-ci.yml

@@ -80,6 +80,20 @@
         CTEST_NO_WARNINGS_ALLOWED: 1
         CMAKE_GENERATOR: "Unix Makefiles"
 
+.cuda10.2: &cuda
+    image: "kitware/cmake:ci-cuda10.2-x86_64-2020-06-11"
+
+    variables:
+        GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci"
+        CTEST_LABELS: "CUDA"
+
+.cuda10.2_nvidia: &cuda10_2_nvidia
+    extends: .cuda10.2
+
+    variables:
+        CMAKE_CONFIGURATION: cuda10.2_nvidia
+        CTEST_NO_WARNINGS_ALLOWED: 1
+
 .macos: &macos
     variables:
         GIT_CLONE_PATH: "$CI_BUILDS_DIR/cmake ci ext/$CI_CONCURRENT_ID"
@@ -169,6 +183,12 @@
         - linux
         - linux-3.17 # Needed to be able to load Fedora's Qt libraries.
 
+.linux_builder_tags_cuda: &linux_builder_tags_cuda
+    tags:
+        - cuda-rt
+        - docker
+        - linux
+
 .macos_builder_tags: &macos_builder_tags
     tags:
         - cmake # Since this is a bare runner, pin to a project.
@@ -462,6 +482,17 @@ test:fedora31-makefiles:
     needs:
         - build:centos6-release
 
+test:cuda10.2-nvidia:
+    <<:
+        - *cuda10_2_nvidia
+        - *cmake_test_unix_package
+        - *linux_builder_tags_cuda
+    rules: *rules_settings
+    dependencies:
+        - build:centos6-release
+    needs:
+        - build:centos6-release
+
 build:fedora31-ninja:
     <<:
         - *fedora31_ninja

+ 3 - 0
.gitlab/ci/configure_cuda10.2_nvidia.cmake

@@ -0,0 +1,3 @@
+set(CMake_TEST_CUDA "NVIDIA" CACHE STRING "")
+
+include("${CMAKE_CURRENT_LIST_DIR}/configure_external_test.cmake")

+ 5 - 0
.gitlab/ci/docker/cuda10.2/Dockerfile

@@ -0,0 +1,5 @@
+FROM nvidia/cuda:10.2-devel-ubuntu18.04
+MAINTAINER Ben Boeckel <[email protected]>
+
+COPY install_deps.sh /root/install_deps.sh
+RUN sh /root/install_deps.sh

+ 13 - 0
.gitlab/ci/docker/cuda10.2/install_deps.sh

@@ -0,0 +1,13 @@
+#!/bin/sh
+
+set -e
+
+apt-get update
+
+# Install development tools.
+apt-get install -y \
+    g++ \
+    curl \
+    git
+
+apt-get clean