diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index d16df1e390..0000000000 --- a/.travis.yml +++ /dev/null @@ -1,175 +0,0 @@ -language: bash -sudo: required -dist: xenial -cache: - directories: - - $HOME/cmake-3.8 - - $HOME/.ccache - - $HOME/curl_cache -addons: - apt: - packages: &global_deps - - ninja-build - - libopenal-dev - - libreadline6-dev - - libpng12-dev - - libjpeg62-dev - - liblua5.1-0-dev - - libjansson-dev - - libsdl2-dev - - libfreetype6-dev - - qt57base - coverity_scan: - project: - name: "scp-fs2open/fs2open.github.com" - notification_email: niffiwan.scp@gmail.com - build_command: "ci/travis/script.sh" - # must match TRAVIS_BRANCH check below - branch_pattern: coverity_scan -env: - global: - # The next declaration is the encrypted COVERITY_SCAN_TOKEN, created - # via the "travis encrypt" command using the project repo's public key - # also note that fork's don't get access to secure keys - # you have to test using a branch in the main repo - - secure: "C3wF967ZeliwwP1vC12EMIBOaC568n26Z/cPnwzn317ve59DWH3YSfPZVgvt08GzmaXITGGsJvPB+qxfGoKvQzYE4O1B73q81RpUe5pB3IhF+ThQ91VfQZIRJR5xEGJaLINUlHTTZGX5jxlkVO9wAcauVj/s3b8sQ3dvUZauPvk=" - # These declarations set INDIEGAMES_USER and INDIEGAMES_PASSWORD for uploading nightly builds to the indiegames server - - secure: "lUuRu8XIi8MKNf1ebOfyC4iVEpPyASojJIDWXRo2bNqEF4ILAljXdkVeXeN6H5yKCHD52cxCNTtyePIG/o3p3QEuGSVud9bDS3D7LaQicLETGGrsw3l07U49gF2OKHXGopg0MzBbZUU9QmhoFTAe8t6PV9NDuEayYCheqvTqjZg=" - - secure: "E/DHLYcPK/hBUqxBYYlUqp5sjgvIqY5A0qRHyQ4bmjsB+WB/Xx71bGCSiF7hk6lTxar1ZI1i5RAXXh9AIvNVaYAIdEOlCP+q3gvwCYuc5naZEKmkxlUCf0oEL4O9Fye93A/3VkFHuBdC1TGPYYf69m4W5r4367wWO9dPRIdWpJA=" - # These declarations set DATACORDER_USER and DATACORDER_PASSWORD - - secure: "dpBH/dDN3bmU/NFlh+2v9isNx9wX0ocoRy+W+kBXRH32sosUGp26REhMqgVRpBNP5oxPBU8ic5bEogxAYWCB+0xUygBbkxAwyMPgoA34s0OXdTCY/ofw14ni8qqV2Ffy7fQJbP/jkMURyiMHx3kBTxNv3YjxKJqLnOuOMlQLpT8=" - - secure: "tLMRBD1Ufp5iKNwlqPDVbbuczgusaXNoBJyAnPATpJq2YwlkW4j3PqP9rW5vd85+52xam2EOP20w9PoBR5J6FLdiXRu4Lf7yCEhSHFAgowVqQj8QcJpPlyXr90bM4emFGrGqpdxVwxyQ5AFhKwLuEZKsI14GYLN+UMEwpNCMing=" -deploy: - - provider: releases - api_key: - secure: "q619+eQTe7lv8UVphK4OIzU8Jw84KBbVkuprN2sWIubRcV3IbZr2+WahJoUMt+nyhiy3YjDYtstO2ZgkxupwnZgwGUBVIiD1c4SPuyy+HTjNMOtiVsEUHT2hf+xPAemWpTlK5HcwhMmHAOh6rt6dEj57QOg0gcmGiwD/tCbEriA=" - skip_cleanup: true - file_glob: true - file: "/tmp/builds/*" - on: - condition: '"$RELEASE_BUILD" == true' - tags: true - - - provider: script - script: bash ci/travis/ftp_deploy.sh - on: - condition: '"$NIGHTLY_BUILD" == true' - tags: true - - - provider: script - skip_cleanup: true - script: bash ci/travis/ftp_deploy.sh - on: - condition: $TEST_BUILD = true - all_branches: true - -matrix: - include: - # note that gcc Debug MUST be 1st for Coverity - - os: linux - env: CONFIGURATION="Debug" CC=gcc-5 CXX=g++-5 - addons: - apt: - sources: - - ubuntu-toolchain-r-test - - sourceline: 'ppa:beineri/opt-qt571-xenial' - packages: - - *global_deps - - g++-5 - - os: linux - env: CONFIGURATION="Debug" CC=gcc-9 CXX=g++-9 - addons: - apt: - sources: - - ubuntu-toolchain-r-test - - sourceline: 'ppa:beineri/opt-qt571-xenial' - packages: - - g++-9 - - *global_deps - - os: linux - env: CONFIGURATION="Debug" CC=clang-9 CXX=clang++-9 CMAKE_OPTIONS="-DCMAKE_EXPORT_COMPILE_COMMANDS=ON" - addons: - apt: - sources: - - ubuntu-toolchain-r-test - - sourceline: 'ppa:beineri/opt-qt571-xenial' - packages: - - *global_deps - - g++-9 - script: - - ./ci/travis/script.sh - - ./ci/travis/clang_tidy.sh - - os: osx - env: CONFIGURATION="Debug" - - - os: windows - env: CONFIGURATION="Debug" CMAKE_TOOLSET=v141 CMAKE_GENERATOR="Visual Studio 15 2017" - - os: windows - env: CONFIGURATION="Debug" CMAKE_TOOLSET="" CMAKE_GENERATOR="Ninja" - - - os: linux - env: CONFIGURATION="Release" CC=gcc-5 CXX=g++-5 - addons: - apt: - sources: - - ubuntu-toolchain-r-test - - sourceline: 'ppa:beineri/opt-qt571-xenial' - packages: - - *global_deps - - g++-5 - - os: linux - env: CONFIGURATION="Release" CC=gcc-9 CXX=g++-9 - addons: - apt: - sources: - - ubuntu-toolchain-r-test - - sourceline: 'ppa:beineri/opt-qt571-xenial' - packages: - - g++-9 - - *global_deps - - os: linux - env: CONFIGURATION="Release" CC=clang-9 CXX=clang++-9 CMAKE_OPTIONS="-DCMAKE_EXPORT_COMPILE_COMMANDS=ON" - addons: - apt: - sources: - - ubuntu-toolchain-r-test - - sourceline: 'ppa:beineri/opt-qt571-xenial' - packages: - - *global_deps - - g++-9 - script: - - ./ci/travis/script.sh - - ./ci/travis/clang_tidy.sh - - os: osx - env: CONFIGURATION="Release" - - - os: windows - env: CONFIGURATION="Release" CMAKE_TOOLSET=v141 CMAKE_GENERATOR="Visual Studio 15 2017" - - os: windows - env: CONFIGURATION="Release" CMAKE_TOOLSET="" CMAKE_GENERATOR="Ninja" - # There is a GCC compiler bug with MinGW that causes compilation failures on Windows at the moment - allow_failures: - - os: windows - env: CONFIGURATION="Debug" CMAKE_TOOLSET="" CMAKE_GENERATOR="Ninja" - - os: windows - env: CONFIGURATION="Release" CMAKE_TOOLSET="" CMAKE_GENERATOR="Ninja" - fast_finish: true - -before_install: - # ugly hack; if running a coverity scan abort all except the 1st build - # see note re gcc compiler above needing to be 1st - # also note that branch_pattern & the TRAVIS_BRANCH check must match - # unfortunately COVERITY_SCAN_BRANCH isn't defined until later in the - # build process - - if ([[ "${TRAVIS_JOB_NUMBER##*.}" != "1" ]] && [[ "${TRAVIS_BRANCH}" == "coverity_scan" ]]); then false ; fi - - source "./ci/travis/check_release.sh" - - "./ci/travis/before_install.sh" -install: - - if [ "$TRAVIS_OS_NAME" = "windows" ]; then export PATH="/c/Program Files/CMake/bin":$PATH; fi - - "./ci/travis/install.sh" - - export PATH=$HOME/cmake-3.6/bin:$PATH -before_script: - - if [ "$TRAVIS_OS_NAME" = "linux" ]; then QT_ENV_SCRIPT=$(find /opt -name 'qt*-env.sh'); source $QT_ENV_SCRIPT; fi - - "./ci/travis/before_script.sh" -script: - - if [ "$BUILD_DEPLOYMENT" = true ] ; then ./ci/travis/release.sh ; else ./ci/travis/script.sh ; fi diff --git a/Readme.md b/Readme.md index 525c19397f..5126987f2b 100644 --- a/Readme.md +++ b/Readme.md @@ -1,7 +1,5 @@ FreeSpace2 *S*ource *C*ode *P*roject == -[![Travis-CI Build Status](https://travis-ci.org/scp-fs2open/fs2open.github.com.svg?branch=master)](https://travis-ci.org/scp-fs2open/fs2open.github.com) -[![AppVeyor Build Status](https://ci.appveyor.com/api/projects/status/github/scp-fs2open/fs2open.github.com?branch=master&svg=true)](https://ci.appveyor.com/project/SirKnightly/fs2open-github-com/branch/master) [![Coverity](https://img.shields.io/coverity/scan/870.svg)](https://scan.coverity.com/projects/870) Building diff --git a/appveyor.yml b/appveyor.yml deleted file mode 100644 index e324412a2b..0000000000 --- a/appveyor.yml +++ /dev/null @@ -1,62 +0,0 @@ -version: 1.0.0.{build} -image: Visual Studio 2015 -configuration: - - Debug - - Release -clone_depth: 10 -environment: - matrix: - - BuildID: 0 - CMAKE_GENERATOR: Visual Studio 14 2015 - PlatformToolset: v140 - QT_DIR: C:\Qt\5.9\msvc2015 - - BuildID: 1 - CMAKE_GENERATOR: Visual Studio 14 2015 Win64 - PlatformToolset: v140 - QT_DIR: C:\Qt\5.9\msvc2015_64 -before_build: - - git submodule update --init --recursive -build_script: - - ps: . $Env:APPVEYOR_BUILD_FOLDER/ci/appveyor/build.ps1 -test_script: - - ps: . $Env:APPVEYOR_BUILD_FOLDER/ci/appveyor/test.ps1 - -deploy: - - provider: GitHub - auth_token: - secure: h55Scpy+3vmo1Yb7WlSIGA4d9DRnsbzUYc2LYsQdByQHZHbqrqjBpicH0D2FFLEO - on: - ReleaseBuild: true # deploy on release push only - - - provider: FTP - protocol: sftp - host: scp.indiegames.us - username: - secure: SFivQZfatqWHXK1ijYK3GQ== - password: - secure: q6Zk/412o1ri+NEya1dl1Q== - folder: public_html/builds/nightly/$(VersionName) - on: - NightlyBuild: true # deploy on nightly push only - - - provider: FTP - protocol: sftp - host: porphyrion.feralhosting.com - username: - secure: 36+bVD8eJgI0BVbi7TZ4zQ== - password: - secure: CrzmDVca8AGG08iWPA1gOD4Ge06+wJ3rcBagBGclwYQ= - folder: www/datacorder.porphyrion.feralhosting.com/public_html/builds/nightly/$(VersionName) - on: - NightlyBuild: true # deploy on nightly push only - - - provider: FTP - protocol: sftp - host: porphyrion.feralhosting.com - username: - secure: 36+bVD8eJgI0BVbi7TZ4zQ== - password: - secure: CrzmDVca8AGG08iWPA1gOD4Ge06+wJ3rcBagBGclwYQ= - folder: www/datacorder.porphyrion.feralhosting.com/public_html/builds/test/$(VersionName) - on: - TestBuild: true # deploy on test build push only diff --git a/ci/appveyor/build.ps1 b/ci/appveyor/build.ps1 deleted file mode 100644 index e0b88b9df6..0000000000 --- a/ci/appveyor/build.ps1 +++ /dev/null @@ -1,164 +0,0 @@ - -class BuildConfig { - [string]$Generator - [string]$PackageType - [string]$Toolset - [string]$SimdType - [string]$QtDir - [Bool]$SourcePackage -} - -$NightlyConfigurations = @( -# [BuildConfig]@{ -# Generator="Visual Studio 14 2015 Win64"; -# PackageType="Win64"; -# Toolset="v140"; -# SimdType="SSE2"; -# QtDir="C:\Qt\5.9\msvc2015_64"; -# SourcePackage=$false; -# }, -# [BuildConfig]@{ -# Generator="Visual Studio 14 2015"; -# PackageType="Win32"; -# Toolset="v140"; -# SimdType="SSE2"; -# QtDir="C:\Qt\5.9\msvc2015"; -# SourcePackage=$false; -# } -) -$ReleaseConfigurations = @( -# [BuildConfig]@{ -# Generator="Visual Studio 14 2015"; -# PackageType="Win32"; -# Toolset="v140"; -# SimdType="SSE2"; -# QtDir="C:\Qt\5.9\msvc2015"; -# SourcePackage=$true; -# } -# [BuildConfig]@{ -# Generator="Visual Studio 14 2015"; -# PackageType="Win32-AVX"; -# Toolset="v140"; -# SimdType="AVX"; -# QtDir="C:\Qt\5.9\msvc2015"; -# SourcePackage=$false; -# } -# [BuildConfig]@{ -# Generator="Visual Studio 14 2015 Win64"; -# PackageType="Win64"; -# Toolset="v140"; -# SimdType="SSE2"; -# QtDir="C:\Qt\5.9\msvc2015_64"; -# SourcePackage=$false; -# } -# [BuildConfig]@{ -# Generator="Visual Studio 14 2015 Win64"; -# PackageType="Win64-AVX"; -# Toolset="v140"; -# SimdType="AVX"; -# QtDir="C:\Qt\5.9\msvc2015_64"; -# SourcePackage=$false; -# } -) - -$BuildConfigurations = $null - -# Default values -$ReleaseBuild = $false -$NightlyBuild = $false -$TestBuild = $false - -# Set to true to test either the release or the nightly part of this script -$ReleaseTest = $false -$NightlyTest = $false -$TestBuildTest = $false - -if ($ReleaseTest -Or ([System.Convert]::ToBoolean($env:APPVEYOR_REPO_TAG) -And ("$env:APPVEYOR_REPO_TAG_NAME" -match "^release_(.*)"))) { - # Tag matches - $ReleaseBuild = $true - $PackageName = "fs2_open_$($matches[1])" - $BuildConfigurations = $ReleaseConfigurations -} - -if ($NightlyTest -Or ([System.Convert]::ToBoolean($env:APPVEYOR_REPO_TAG) -And ("$env:APPVEYOR_REPO_TAG_NAME" -match "^nightly_(.*)"))) { - # Tag matches - $NightlyBuild = $true - $PackageName = "nightly_$($matches[1])" - Set-AppveyorBuildVariable 'VersionName' "$($matches[1])" - $BuildConfigurations = $NightlyConfigurations -} - -if ($TestBuildTest -Or ([System.Convert]::ToInt32($env:APPVEYOR_PULL_REQUEST_NUMBER) -le 0 -And ("$env:APPVEYOR_REPO_BRANCH" -match "^test\/(.*)"))) { - # Tag matches - $TestBuild = $true - $PackageName = "test_$($matches[1])" - Set-AppveyorBuildVariable 'VersionName' "$($matches[1])" - $BuildConfigurations = $NightlyConfigurations - - # Override the revision string so that the builds are named correctly - [System.IO.File]::WriteAllLines("$env:APPVEYOR_BUILD_FOLDER/version_override.cmake", "set(FSO_VERSION_REVISION_STR $env:VersionName)") -} - -# Multiply by 2 so that we can add 0 or 1 for debug or release Configs -$buildID = [convert]::ToInt32($env:BuildID) * 2 -if ($Env:Configuration -eq "Release") { - $buildID = $buildID + 1 -} - -$DeployBuild = $false -if ($ReleaseBuild -Or $NightlyBuild -Or $TestBuild) { - $DeployBuild = $true -} - -Set-AppveyorBuildVariable 'ReleaseBuild' "$ReleaseBuild" -Set-AppveyorBuildVariable 'NightlyBuild' "$NightlyBuild" -Set-AppveyorBuildVariable 'TestBuild' "$TestBuild" - -New-Item build -type directory -Set-Location -Path build - -if ($DeployBuild) { - # Release build - if ($buildID -ge $BuildConfigurations.Length) { - # Not needed - exit 0 - } - - $buildConfig = $BuildConfigurations[$buildID] - - if ($buildConfig.SourcePackage -eq $True) { - 7z a -xr'!.git' "$($PackageName)-source-Win.zip" "$env:APPVEYOR_BUILD_FOLDER" - Push-AppveyorArtifact "$($PackageName)-source-Win.zip" - } - - cmake -DCMAKE_INSTALL_PREFIX="$env:APPVEYOR_BUILD_FOLDER/../install" -DFSO_USE_SPEECH="ON" ` - -DFSO_USE_VOICEREC="ON" -DMSVC_SIMD_INSTRUCTIONS="$($buildConfig.SimdType)" ` - -DQT5_INSTALL_ROOT="$($buildConfig.QtDir)" -DFSO_BUILD_QTFRED=OFF ` - -DFSO_INSTALL_DEBUG_FILES="ON" ` - -G "$($buildConfig.Generator)" -T "$($buildConfig.Toolset)" .. - - $Configs = @("Release", "FastDebug") - foreach ($config in $Configs) { - cmake --build . --config "$config" --target INSTALL -- /verbosity:minimal - if (! ($?)) { - Add-AppveyorMessage "A release build failed!" - exit 1 - } - } - - 7z a -xr'!*.pdb' "$($PackageName)-builds-$($buildConfig.PackageType).zip" "$env:APPVEYOR_BUILD_FOLDER/../install/*" - Push-AppveyorArtifact "$($PackageName)-builds-$($buildConfig.PackageType).zip" - - 7z a "$($PackageName)-debug-$($buildConfig.PackageType).7z" "$env:APPVEYOR_BUILD_FOLDER/../install/*.pdb" - Push-AppveyorArtifact "$($PackageName)-debug-$($buildConfig.PackageType).7z" -} else { - cmake -DFSO_USE_SPEECH="ON" -DFSO_FATAL_WARNINGS="ON" -DFSO_USE_VOICEREC="ON" -DFSO_BUILD_TESTS="ON" -DMSVC_SIMD_INSTRUCTIONS=SSE2 ` - -DFSO_BUILD_QTFRED=OFF -DQT5_INSTALL_ROOT="$env:QT_DIR" -DFSO_BUILD_FRED2="ON" ` - -G "$Env:CMAKE_GENERATOR" -T "$Env:PlatformToolset" .. - - cmake --build . --config "$Env:CONFIGURATION" -- /verbosity:minimal - - if (! ($?)) { - exit 1 - } -} diff --git a/ci/appveyor/test.ps1 b/ci/appveyor/test.ps1 deleted file mode 100644 index 8b06b0978e..0000000000 --- a/ci/appveyor/test.ps1 +++ /dev/null @@ -1,13 +0,0 @@ - -if ([System.Convert]::ToBoolean($env:ReleaseBuild) -Or [System.Convert]::ToBoolean($env:NightlyBuild) -Or [System.Convert]::ToBoolean($env:TestBuild)) { - # Skip tests for deployment - exit 0 -} else { - write "Running unit tests..." - # Run unit tests - &"$pwd\bin\$Env:CONFIGURATION\unittests.exe" --gtest_shuffle 2>&1 - - if (! ($?)) { - exit 1 - } -} diff --git a/ci/travis/before_deploy.sh b/ci/travis/before_deploy.sh deleted file mode 100755 index 969b4bcc03..0000000000 --- a/ci/travis/before_deploy.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/env sh - -set -ex - -if [ "$NIGHTLY_BUILD" = true ]; then - echo "Generating bintray config..." - sed -e "s/\$VERSION_NAME/$VERSION_NAME/" ci/bintray.template.json > ci/bintray.json -fi \ No newline at end of file diff --git a/ci/travis/before_install.sh b/ci/travis/before_install.sh deleted file mode 100755 index 61abd246cc..0000000000 --- a/ci/travis/before_install.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/usr/bin/env sh - -set -ex - -if [ "$TRAVIS_OS_NAME" = "linux" ]; then - export DEBIAN_FRONTEND=noninteractive - - sudo add-apt-repository -y "ppa:msulikowski/valgrind" # For fixing a bug with valgrind 3.11 which does not recognize the rdrand instruction - - wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key add - - sudo add-apt-repository -y 'deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-9 main' - - sudo apt-get -yq update -elif [ "$TRAVIS_OS_NAME" = "osx" ]; then - # Nothing to do here - : -elif [ "$TRAVIS_OS_NAME" = "windows" ]; then - # Nothing to do here - : -fi diff --git a/ci/travis/before_script.sh b/ci/travis/before_script.sh deleted file mode 100755 index a508b67fcc..0000000000 --- a/ci/travis/before_script.sh +++ /dev/null @@ -1,50 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -if [ "$TRAVIS_OS_NAME" = "linux" ]; then - mkdir -p /tmp/builds - if [ "$RELEASE_BUILD" = true ]; then - # Package the source code in release builds - PARENT_DIR="$(basename "$PWD")" - (cd .. && tar -czvf /tmp/builds/$PACKAGE_NAME-source-Unix.tar.gz --exclude-vcs "$PARENT_DIR") - fi -fi - -mkdir -p build -cd build - -if [ "$TRAVIS_OS_NAME" = "linux" ]; then - CXXFLAGS="-m64 -mtune=generic -mfpmath=sse -msse -msse2 -pipe -Wno-unknown-pragmas" - CFLAGS="-m64 -mtune=generic -mfpmath=sse -msse -msse2 -pipe -Wno-unknown-pragmas" - - export CXXFLAGS - export CFLAGS - CMAKE="cmake -G Ninja -DFSO_FATAL_WARNINGS=ON $CMAKE_OPTIONS" - if [ "$BUILD_DEPLOYMENT" = true ]; then - for config in $BUILD_CONFIGS - do - mkdir -p $config - cd $config - eval $CMAKE -DFSO_INSTALL_DEBUG_FILES=ON -DCMAKE_BUILD_TYPE=$config -DCMAKE_INSTALL_PREFIX="/tmp/release/$config" \ - -DFSO_BUILD_APPIMAGE=ON -DFSO_BUILD_INCLUDED_LIBS=ON -DFFMPEG_USE_PRECOMPILED=ON -DFSO_BUILD_QTFRED=OFF ../.. - cd .. - done - else - eval $CMAKE -DCMAKE_BUILD_TYPE=$CONFIGURATION -DFSO_BUILD_TESTS=ON -DFSO_BUILD_INCLUDED_LIBS=ON -DFSO_BUILD_QTFRED=OFF .. - fi -elif [ "$TRAVIS_OS_NAME" = "osx" ]; then - if [ "$BUILD_DEPLOYMENT" = true ]; then - cmake -G "Xcode" -DFSO_FATAL_WARNINGS=ON -DFSO_INSTALL_DEBUG_FILES=ON -DCMAKE_INSTALL_PREFIX="/tmp/release" .. - else - cmake -G "Xcode" $CMAKE_OPTIONS .. - fi -elif [ "$TRAVIS_OS_NAME" = "windows" ]; then - if [ "$CMAKE_GENERATOR" = "Ninja" ]; then - cmake -DFSO_USE_SPEECH="OFF" -DFSO_FATAL_WARNINGS="ON" -DFSO_USE_VOICEREC="OFF" -DFSO_BUILD_TESTS="ON" \ - -DFSO_BUILD_FRED2="OFF" -G "$CMAKE_GENERATOR" .. - else - cmake -DFSO_USE_SPEECH="ON" -DFSO_FATAL_WARNINGS="ON" -DFSO_USE_VOICEREC="OFF" -DFSO_BUILD_TESTS="ON" \ - -DMSVC_SIMD_INSTRUCTIONS=SSE2 -DFSO_BUILD_FRED2="ON" -G "$CMAKE_GENERATOR" -T "$CMAKE_TOOLSET" .. - fi -fi diff --git a/ci/travis/check_release.sh b/ci/travis/check_release.sh deleted file mode 100755 index e22871ed3a..0000000000 --- a/ci/travis/check_release.sh +++ /dev/null @@ -1,74 +0,0 @@ -#!/usr/bin/env sh - -RELEASE_BUILD=false -NIGHTLY_BUILD=false -TEST_BUILD=false - -BUILD_DEPLOYMENT=false -BUILD_CONFIGS="Release FastDebug" -VERSION_NAME="" -PACKAGE_NAME="" - -RELEASE_PATTERN="^release_(.*)$" -NIGHTLY_PATTERN="^nightly_(.*)$" -TEST_BUILD_PATTERN="^test\/(.*)$" - -# These are for testing -NIGHTLY_TEST=false -RELEASE_TEST=false -TEST_BUILD_TEST=false - -if [ "$RELEASE_TEST" = true ] || [[ "$TRAVIS_TAG" =~ $RELEASE_PATTERN ]]; then - echo "This is a release tag!"; - RELEASE_BUILD=true; - PACKAGE_NAME="fs2_open_${BASH_REMATCH[1]}"; -fi -if [ "$NIGHTLY_TEST" = true ] || [[ "$TRAVIS_TAG" =~ $NIGHTLY_PATTERN ]]; then - echo "This is a nightly tag!"; - NIGHTLY_BUILD=true; - VERSION_NAME="${BASH_REMATCH[1]}"; - PACKAGE_NAME="nightly_${BASH_REMATCH[1]}"; -fi -if [ "$TEST_BUILD_TEST" = true ] || [[ "$TRAVIS_PULL_REQUEST" == "false" && "$TRAVIS_BRANCH" =~ $TEST_BUILD_PATTERN ]]; then - echo "This is a test build branch!"; - TEST_BUILD=true; - if [ "$TEST_BUILD_TEST" = true ]; then - VERSION_NAME="test"; - PACKAGE_NAME="test_test"; - else - VERSION_NAME="${BASH_REMATCH[1]}"; - PACKAGE_NAME="test_${BASH_REMATCH[1]}"; - fi - - # Override the revision string so that the builds are named correctly - echo "set(FSO_VERSION_REVISION_STR $VERSION_NAME)" > "$TRAVIS_BUILD_DIR/version_override.cmake" -fi - -if ([ "$RELEASE_BUILD" = true ] || [ "$NIGHTLY_BUILD" = true ] || [ "$TEST_BUILD" = true ]); then - BUILD_DEPLOYMENT=true; -fi - -if [ "$BUILD_DEPLOYMENT" = true ]; then - if ([ "$TRAVIS_OS_NAME" = "linux" ] && (! [[ "$CC" =~ ^gcc-5.*$ ]])); then - echo "Skipping non-release compiler"; - exit 0; - fi - - if ([[ "$CONFIGURATION" == "Debug" ]]); then - echo "Skipping non-release configuration"; - exit 0; - fi - - if [ "$TRAVIS_OS_NAME" = "windows" ]; then - echo "Skipping non-release platform" - exit 0 - fi -fi - -export RELEASE_BUILD -export NIGHTLY_BUILD -export TEST_BUILD -export BUILD_DEPLOYMENT -export BUILD_CONFIGS -export VERSION_NAME -export PACKAGE_NAME diff --git a/ci/travis/ftp_deploy.sh b/ci/travis/ftp_deploy.sh deleted file mode 100644 index 5ac1c5909b..0000000000 --- a/ci/travis/ftp_deploy.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/usr/bin/env bash - -set -e -set -u - -if [[ ! "$(curl -V)" == *"sftp"* ]]; then - # Before - echo "Before:" - curl -V - - if [ "$TRAVIS_OS_NAME" = "linux" ]; then - - if [ -f ~/curl_cache/curl*.deb ]; then - cd ~/curl_cache - sudo dpkg -i libcurl3*.deb - sudo dpkg -i curl*.deb - else - # Since the Travis CI people are not capable of enabling SSH/SCP support for their libcurl we need to build that manually... - # These commands are based on the tutorial from here: http://zeroset.mnim.org/2013/03/14/sftp-support-for-curl-in-ubuntu-12-10-quantal-quetzal-and-later/ - mkdir /tmp/curl - cd /tmp/curl - sudo apt-get update - sudo apt-get install build-essential debhelper libssh2-1-dev libgnutls-dev libidn11-dev libkrb5-dev libldap2-dev libnss3-dev librtmp-dev libtool openssh-server quilt - apt-get source curl - sudo apt-get build-dep curl - - cd curl-* - export DEB_BUILD_OPTIONS="nocheck" - sudo dpkg-buildpackage -uc -us -j"$(grep -c ^processor /proc/cpuinfo)" - - cd .. - dpkg -l | grep curl - ls -al - - if [ ! -d ~/curl_cache ]; then - mkdir ~/curl_cache - fi - - cp libcurl3*.deb curl*.deb ~/curl_cache - - sudo dpkg -i libcurl3*.deb - sudo dpkg -i curl*.deb - fi - elif [ "$TRAVIS_OS_NAME" = "osx" ]; then - brew install libssh2 - - if [ -d ~/curl_cache/curl ]; then - cd ~/curl_cache/curl - sudo make install - else - mkdir /tmp/curl - cd /tmp/curl - - curl -LO "https://curl.haxx.se/download/curl-7.64.0.tar.bz2" - tar -xjf curl-7.64.0.tar.bz2 - - cd curl-7.64.0 - ./configure --disable-debug --disable-dependency-tracking --disable-silent-rules --with-libssh2 --with-darwinssl --without-ca-bundle --without-ca-path - make -j"$(sysctl hw.logicalcpu | cut -d " " -f 2)" - - if [ ! -d ~/curl_cache ]; then - mkdir ~/curl_cache - fi - - cp -a . ~/curl_cache/curl - sudo make install - fi - export PATH=/usr/local/bin:$PATH - fi - - # After - echo "After:" - curl -V -fi - -cd /tmp/builds - -for file in *; do - if [ "$TEST_BUILD" = true ]; then - # Upload to datacorder - curl -k "sftp://porphyrion.feralhosting.com/www/datacorder.porphyrion.feralhosting.com/public_html/builds/test/$VERSION_NAME/" --user "$DATACORDER_USER:$DATACORDER_PASSWORD" -T "$file" --ftp-create-dirs - else - # Upload to indiegames - curl -k "sftp://scp.indiegames.us/~/public_html/builds/nightly/$VERSION_NAME/" --user "$INDIEGAMES_USER:$INDIEGAMES_PASSWORD" -T "$file" --ftp-create-dirs - - # Upload to datacorder - curl -k "sftp://porphyrion.feralhosting.com/~/www/datacorder.porphyrion.feralhosting.com/public_html/builds/nightly/$VERSION_NAME/" --user "$DATACORDER_USER:$DATACORDER_PASSWORD" -T "$file" --ftp-create-dirs - fi -done diff --git a/ci/travis/install.sh b/ci/travis/install.sh deleted file mode 100755 index a31d464208..0000000000 --- a/ci/travis/install.sh +++ /dev/null @@ -1,47 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -FILENAME= -if [ "$TRAVIS_OS_NAME" = "linux" ]; then - export DEBIAN_FRONTEND=noninteractive - - if [ ! -d "$HOME/cmake-3.8/bin" ]; then - # If the cache does not currently contain CMake then download and install it - mkdir -p $HOME/cmake-3.8/ - - wget -O /tmp/cmake.tar.gz --no-check-certificate https://cmake.org/files/v3.8/cmake-3.8.2-Linux-x86_64.tar.gz - tar -xzf /tmp/cmake.tar.gz -C $HOME/cmake-3.8/ --strip-components=1 - fi - export PATH=$HOME/cmake-3.8/bin:$PATH - - cd $HOME - - if [ "${BUILD_DEPLOYMENT}" = true ]; then - wget -O appimagetool -c "https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage" # (64-bit) - chmod a+x ./appimagetool - - wget -O linuxdeployqt -c "https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage" # (64-bit) - chmod a+x ./linuxdeployqt - fi - - sudo apt-get -yq install valgrind - - if [[ "$CC" = "clang-9" ]]; then - sudo apt-get -yq install clang-9 clang-tidy-9 - fi - - if [[ "$CC" = "clang-4.0" ]]; then - # Fix a header bug present in ubuntu... - sudo ln -s /usr/include/libcxxabi/__cxxabi_config.h /usr/include/c++/v1/__cxxabi_config.h - fi -elif [ "$TRAVIS_OS_NAME" = "osx" ]; then - gem install xcpretty - - brew update - brew outdated cmake || brew upgrade cmake -elif [ "$TRAVIS_OS_NAME" = "windows" ]; then - choco install mingw ninja -fi - -cmake --version diff --git a/ci/travis/release.sh b/ci/travis/release.sh deleted file mode 100755 index 94ac136911..0000000000 --- a/ci/travis/release.sh +++ /dev/null @@ -1,68 +0,0 @@ -#!/usr/bin/env sh - -set -ex -mkdir -p /tmp/builds - -if [ "$TRAVIS_OS_NAME" = "linux" ]; then - cd build - for config in $BUILD_CONFIGS - do - cd "$config" - - # Compile all targets - ninja all - - # Install Freespace2 targets - cmake -DCMAKE_INSTALL_PREFIX=/tmp/release/$config/fso -DCOMPONENT=Unspecified -P cmake_install.cmake - cmake -DCMAKE_INSTALL_PREFIX=/tmp/release/$config/fso -DCOMPONENT=Freespace2 -P cmake_install.cmake - - # We need to be a bit creative for determining the AppImage name since we don't want to hard-code the name - FILENAME="$(find /tmp/release/$config/fso/bin -name 'fs2_open_*' -type f -printf "%f\n").AppImage" - $HOME/appimagetool -n /tmp/release/$config/fso "/tmp/release/$config/fso/$FILENAME" - -: <<'END' - # Install qtFRED targets - cmake -DCMAKE_INSTALL_PREFIX=/tmp/release/$config/qtfred/usr -DCOMPONENT=Unspecified -P cmake_install.cmake - cmake -DCMAKE_INSTALL_PREFIX=/tmp/release/$config/qtfred/usr -DCOMPONENT=qtFRED -P cmake_install.cmake - - PREV="$(pwd)" - cd /tmp/release/$config/qtfred - - unset QTDIR; unset QT_PLUGIN_PATH; unset LD_LIBRARY_PATH - $HOME/linuxdeployqt usr/qtfred.desktop -bundle-non-qt-libs - # Move our AppRun script to the right location - mv usr/AppRun AppRun - - echo "Embed newer libstdc++ for distros that don't come with it (ubuntu 14.04)"; - mkdir -p usr/optional/; mkdir -p usr/optional/libstdc++/; - cp /usr/lib/x86_64-linux-gnu/libstdc++.so.6 ./usr/optional/libstdc++/; - - $HOME/appimagetool -n . "$(find /tmp/release/$config/qtfred/usr/bin -name 'qtfred_*' -type f -printf "%f\n").AppImage" - - cd "$PREV" -END - - cd .. - done - - cp `find /tmp/release -name '*.AppImage' -print` /tmp/release - (cd /tmp/release && tar -cvzf /tmp/builds/$PACKAGE_NAME-builds-Linux.tar.gz *.AppImage) -elif [ "$TRAVIS_OS_NAME" = "osx" ]; then - cd build - - for config in $BUILD_CONFIGS - do - cmake --build . --config "$config" --target install | tee build.log \ - | xcpretty - XCODE_RET=${PIPESTATUS[0]} - if [ "$XCODE_RET" -ne "0" ]; then - tar -cvzf build.log.tar.gz build.log - curl --upload-file build.log.tar.gz "https://transfer.sh/build.log.tar.gz" - exit $XCODE_RET - fi - done - - ls -al /tmp/release - - (cd /tmp/release && tar -cvzf /tmp/builds/$PACKAGE_NAME-builds-MacOSX.tar.gz *) -fi diff --git a/ci/travis/script.sh b/ci/travis/script.sh deleted file mode 100755 index 7f89aa40f3..0000000000 --- a/ci/travis/script.sh +++ /dev/null @@ -1,30 +0,0 @@ -#!/usr/bin/env sh - -set -e - -cd build - -if [ "$TRAVIS_OS_NAME" = "linux" ]; then - ninja -k 20 all - - if [ "$CONFIGURATION" = "Debug" ]; then - valgrind --leak-check=full --error-exitcode=1 --gen-suppressions=all \ - --suppressions="$TRAVIS_BUILD_DIR/ci/travis/valgrind.supp" ./bin/unittests --gtest_shuffle - else - ./bin/unittests --gtest_shuffle - fi -elif [ "$TRAVIS_OS_NAME" = "osx" ]; then - cmake --build . --config "$CONFIGURATION" | tee build.log | xcpretty - XCODE_RET=${PIPESTATUS[0]} - if [ "$XCODE_RET" -ne "0" ]; then - tar -cvzf build.log.tar.gz build.log - curl --upload-file build.log.tar.gz "https://keep.sh" - exit $XCODE_RET - fi -elif [ "$TRAVIS_OS_NAME" = "windows" ]; then - if [ "$CMAKE_GENERATOR" = "Ninja" ]; then - cmake --build . --config "$CONFIGURATION" - else - cmake --build . --config "$CONFIGURATION" -- /verbosity:minimal - fi -fi