summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.travis.yml78
-rw-r--r--Jenkinsfile30
-rwxr-xr-xtravisbuild.sh10
3 files changed, 35 insertions, 83 deletions
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index 6c2dfc2e2..000000000
--- a/.travis.yml
+++ /dev/null
@@ -1,78 +0,0 @@
-language: cpp
-cache:
- ccache: true
- directories:
- # Store ctest cost data
- - Testing
-
-# Use Linux by default
-os: linux
-dist: bionic
-
-# Install newer SeeMake on Linux
-addons:
- snaps:
- - name: cmake
- confinement: classic
- channel: latest
-
-jobs:
- include:
- # ARM workers are the slowest. Having these first in the build matrix makes travis faster overall.
- - name: "Clang 10.0 - Debug"
- arch: arm64
- compiler: clang
- dist: focal # For Clang 10, bionic is Clang 6 for some reason.
- before_install: &use-cmake
- - export PATH=/snap/bin/:${PATH}
- env: *Debug
-
- - name: "AppleClang - Debug"
- os: osx
- osx_image: xcode11.3
- before_install:
- - HOMEBREW_NO_AUTO_UPDATE=1 brew install ccache
- env: &Debug
- - TRAVIS_CUBERITE_BUILD_TYPE=Debug
-
- - name: "Clang 7.0 - Release"
- compiler: clang
- before_install: *use-cmake
- env: *Release
-
- - name: "Clang 7.0 - Debug"
- compiler: clang
- before_install: *use-cmake
- env: *Debug
-
- - name: "GCC 7.5 - Release, CMake 3.13, No Unity"
- compiler: gcc
- before_install:
- - wget --output-document=${HOME}/CMake http://cmake.org/files/v3.13/cmake-3.13.0-Linux-x86_64.tar.gz
- - tar --extract --one-top-level=${HOME}/SeeMake --strip-components 1 --file ${HOME}/CMake
- - export PATH=${HOME}/SeeMake/bin/:${PATH}
- env:
- - TRAVIS_CUBERITE_BUILD_TYPE=Release
- - TRAVIS_CUBERITE_UNITY_BUILDS=No
-
- - name: "GCC 7.5 - Debug"
- compiler: gcc
- before_install: *use-cmake
- env: *Debug
-
-# Do not let CMake find ccache wrappers
-# we use CMAKE_CXX_COMPILER_LAUNCHER for ccache support
-before_script:
- - export PATH=$(echo "$PATH" | sed -e 's/:\/usr\/lib\/ccache//')
-
-# Run the build and tests
-script: ./travisbuild.sh
-
-notifications:
- email:
- on_success: change
- on_failure: always
-
-branches:
- only:
- - master
diff --git a/Jenkinsfile b/Jenkinsfile
index a4abbd076..5e3097833 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -27,9 +27,35 @@ pipeline {
}
}
stage("Build") {
- steps {
- sh 'echo "TODO: Replace Travis here."'
+ parallel {
+ stage("gcc") {
+ environment {
+ TRAVIS_CUBERITE_BUILD_TYPE = 'Release'
+ TRAVIS_JOB_NUMBER = "{$env.BUILD_ID}"
+ CC = "gcc"
+ CXX = "g++"
+ }
+ steps {
+ sh 'bash ./travisbuild.sh'
+ }
+ }
+ stage("clang") {
+ environment {
+ TRAVIS_CUBERITE_BUILD_TYPE = 'Debug'
+ TRAVIS_JOB_NUMBER = "{$env.BUILD_ID}"
+ CC = "clang"
+ CXX = "clang++"
+ }
+ steps {
+ sh 'bash ./travisbuild.sh'
+ }
+ }
}
}
}
+ post {
+ always {
+ cleanWs()
+ }
+ }
}
diff --git a/travisbuild.sh b/travisbuild.sh
index 9b93e35e8..712f4e2c4 100755
--- a/travisbuild.sh
+++ b/travisbuild.sh
@@ -1,4 +1,4 @@
- #!/usr/bin/env bash
+#!/usr/bin/env bash
set -e
@@ -20,9 +20,13 @@ if [ `which ccache` ]; then
ccache --zero-stats
fi
+workdir="$CC"_"$TRAVIS_CUBERITE_BUILD_TYPE"
+mkdir "$workdir"
+cd "$workdir"
+
# Work around a Clang + ccache issue with failing builds by disabling
# precompiled headers. Turn off LTO for faster build speeds
-cmake . -DCMAKE_BUILD_TYPE=${TRAVIS_CUBERITE_BUILD_TYPE} \
+cmake .. -DCMAKE_BUILD_TYPE=${TRAVIS_CUBERITE_BUILD_TYPE} \
-DBUILD_TOOLS=Yes \
-DPRECOMPILE_HEADERS=No \
-DSELF_TEST=Yes \
@@ -31,7 +35,7 @@ cmake . -DCMAKE_BUILD_TYPE=${TRAVIS_CUBERITE_BUILD_TYPE} \
${CACHE_ARGS};
echo "Building..."
-cmake --build . --parallel 2;
+cmake --build . --parallel 3;
if [ `which ccache` ]; then
echo "Built with ccache, outputting cache stats..."