Compare commits

...
Author SHA1 Message Date
Build script a0ffe78a9a Automated build commit 2016-06-26 15:51:12 +02:00
asarium b0d33d2c40 Adjust file name for releases 2016-06-24 12:52:07 +02:00
asarium a633ab9d26 Formatting... 2016-06-20 17:20:50 +02:00
asarium bc9ccbbcde Fix package name variable 2016-06-18 18:29:55 +02:00
asarium 1fafc93186 Disable test configurations 2016-06-18 18:29:55 +02:00
asarium eb71f6bf81 Add different package names for BinTray 2016-06-18 18:29:55 +02:00
asarium 255ec3c779 Use other version 2016-06-18 18:29:55 +02:00
asarium f94ddf7a77 Disable always building nightly builds for Travis CI 2016-06-18 18:29:55 +02:00
asarium b5480fc314 Fix provider 2016-06-18 18:29:55 +02:00
asarium 16823d850f Fix PowerShell command 2016-06-18 18:29:55 +02:00
asarium 3f6ce50e73 Enable nightly building always 2016-06-18 18:29:55 +02:00
asarium 2576fd2c01 Fix if syntax 2016-06-18 18:29:55 +02:00
asarium 3418def2e0 Begin adding appveyor nightly support 2016-06-18 18:29:55 +02:00
asarium 2a19dfa21a Disable dry-run 2016-06-18 18:29:55 +02:00
asarium 6d3bc3d006 Don't set -ex for script run with source 2016-06-18 18:29:55 +02:00
asarium bccf37689d Use set -ex everywhere
Also fix testing setup
2016-06-18 18:29:55 +02:00
asarium 97e74b39f9 Enable building again 2016-06-18 18:29:55 +02:00
asarium 61f538fc96 Add version name setting 2016-06-18 18:29:55 +02:00
asarium c74a0c9e97 Change file regex to include all files 2016-06-18 18:29:55 +02:00
asarium edec7aa354 Improve rename script 2016-06-18 18:29:55 +02:00
asarium 9ad97ea56f Fix non-existing directory 2016-06-18 18:29:55 +02:00
asarium 0543dcccb1 Don't run before_script when deploying 2016-06-18 18:29:55 +02:00
asarium 991299095c Finish release builds early for testing 2016-06-18 18:29:55 +02:00
asarium 1d1d011b07 Try to fix if 2016-06-18 18:29:55 +02:00
asarium 9874c1dccc Export variables 2016-06-18 18:29:55 +02:00
asarium 55376a2424 Fix bintray config before deploying 2016-06-18 18:29:55 +02:00
asarium edf0495473 Fix BinTray again... 2016-06-18 18:29:55 +02:00
asarium a49e0db8b3 Also test generic environment variables 2016-06-18 18:29:54 +02:00
asarium 4dcdc04b52 Fix BinTray configuration 2016-06-18 18:29:54 +02:00
asarium 1325c37576 Enable Bintray for all branches 2016-06-18 18:29:54 +02:00
asarium 3fc7b6098e Disable tag only deployment for now 2016-06-18 18:29:54 +02:00
asarium d60bdcf0ff Update bintray config 2016-06-18 18:29:54 +02:00
asarium afdbf568aa Begin adding BinTray support 2016-06-18 18:29:54 +02:00
asarium 386a72e566 Move Travis checks into separate file 2016-06-18 18:29:54 +02:00
asarium 24df8e9cae Fix artifacts 2016-06-18 18:29:54 +02:00
asarium f0f8949621 Fix PowerShell 2016-06-18 18:29:54 +02:00
asarium 335009a9a9 Add GitHub releases deployment 2016-06-18 18:29:54 +02:00
asarium fccbf03cde Fix platform toolset 2016-06-18 18:29:54 +02:00
asarium b33637e856 More Appveyor stuff 2016-06-18 18:29:54 +02:00
asarium 741600d625 Add various appveyor scripts 2016-06-18 18:29:54 +02:00
asarium e49bdbe946 More tests 2016-06-18 18:29:54 +02:00
asarium 19cbd57a20 Test Appveyor 2016-06-18 18:29:54 +02:00
asarium e861e5d20d Remove travis formatter again 2016-06-18 18:29:54 +02:00
asarium 7067b8ff75 Update GitHub API token 2016-06-18 18:29:54 +02:00
asarium 1f3b94e105 Fix .travis.yml 2016-06-18 18:29:54 +02:00
asarium 419bc2ac88 Add github release deployment 2016-06-18 18:29:54 +02:00
asarium a39e71fd32 Refine pastebin usage a bit 2016-06-18 18:29:54 +02:00
asarium b551e103d2 Readd before_script step 2016-06-18 18:29:54 +02:00
asarium 7adee267c4 Try uploading the build logs 2016-06-18 18:29:54 +02:00
asarium 660716a8be Add code for switching releasing 2016-06-18 18:29:54 +02:00
asarium c427f4ab28 Mac fixes 2016-06-18 18:29:54 +02:00
asarium 458dd90b81 Add rules for MacOSX 2016-06-18 18:29:54 +02:00
asarium 4cd4123224 Install executables 2016-06-18 18:29:54 +02:00
asarium 2e53d6e227 Make script executable 2016-06-18 18:29:54 +02:00
asarium 7137dd6372 Add release script 2016-06-18 18:29:54 +02:00
13 changed files with 257 additions and 28 deletions

No files matched your search

+34 -18
View File
@@ -17,23 +17,41 @@ addons:
- liblua5.1-0-dev
- libjansson-dev
- libtool
coverity_scan:
project:
name: "scp-fs2open/fs2open.github.com"
description: "Coverity via Travis CI"
name: scp-fs2open/fs2open.github.com
description: Coverity via Travis CI
notification_email: [email protected]
build_command_prepend: "./autogen.sh --enable-debug"
build_command: "make -j2"
# must match TRAVIS_BRANCH check below
build_command: make -j2
branch_pattern: coverity_scan
deploy:
- provider: releases
api_key:
secure: "bBWEBF+r4p7kea+Lj/vHD0CCW4AsxqlLri8gT3HbsdPuKwdSNU4QLLFk9yAXmmBF2T/fe45Zk+WQrdQJjSydkpG06M7sFD22RKOYv3cLF0Bq0nEG4CpuXoGqo77oFGkA5hdU6D8W2nQTMhPuiqlvhgt3zeD/6fiyfdAztbtKNRs="
skip_cleanup: true
file_glob: true
file: "/tmp/builds/*"
on:
condition: '"$RELEASE_BUILD" == true'
tags: true
- provider: bintray
user: asarium
key:
secure: "JyJIsJFxCvNjmdyG9eDIvkzXFqsJQVzXKp5BeJcn5WSdMA2Vs7dCvarJXomdwe3F3RCrdmrFYCaimiCDD6LqImrcDLzxlevzGlNUv381iFna612SJj672d8iQCgtMibIJ3HzYmgZlsaJ9YcaOuccRyQIV/TNUcwgzbsW27CPEcM="
file: ci/bintray.json
on:
condition: '"$NIGHTLY_BUILD" == true'
tags: true
env:
global:
# The next declaration is the encrypted COVERITY_SCAN_TOKEN, created
# via the "travis encrypt" command using the project repo's public key
- secure: "C3wF967ZeliwwP1vC12EMIBOaC568n26Z/cPnwzn317ve59DWH3YSfPZVgvt08GzmaXITGGsJvPB+qxfGoKvQzYE4O1B73q81RpUe5pB3IhF+ThQ91VfQZIRJR5xEGJaLINUlHTTZGX5jxlkVO9wAcauVj/s3b8sQ3dvUZauPvk="
- secure: C3wF967ZeliwwP1vC12EMIBOaC568n26Z/cPnwzn317ve59DWH3YSfPZVgvt08GzmaXITGGsJvPB+qxfGoKvQzYE4O1B73q81RpUe5pB3IhF+ThQ91VfQZIRJR5xEGJaLINUlHTTZGX5jxlkVO9wAcauVj/s3b8sQ3dvUZauPvk=
matrix:
include:
# note that gcc Debug MUST be 1st for Coverity
- os: linux
compiler: gcc
env: CONFIGURATION="Debug"
@@ -46,7 +64,6 @@ matrix:
- os: osx
compiler: clang
env: CONFIGURATION="Debug" MACOSX_ARCH=x86_64
- os: linux
compiler: gcc
env: CONFIGURATION="Release"
@@ -59,17 +76,16 @@ matrix:
- os: osx
compiler: clang
env: CONFIGURATION="Release" MACOSX_ARCH=x86_64
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
- ./ci/travis/before_install.sh
- source "./ci/travis/check_release.sh"
- "./ci/travis/before_install.sh"
install:
- ./ci/travis/install.sh
- "./ci/travis/install.sh"
before_script:
- ./ci/travis/before_script.sh
- "./ci/travis/before_script.sh"
script:
- ./ci/travis/script.sh
- if [ "$BUILD_DEPLOYMENT" = true ] ; then ./ci/travis/release.sh ; else ./ci/travis/script.sh ; fi
before_deploy:
- "./ci/travis/before_deploy.sh"
+30 -4
View File
@@ -4,13 +4,39 @@ environment:
matrix:
- VisualStudioVersion: 10.0
PlatformToolset: v100
ProjectPath: projects/MSVC_2010/Freespace2.vcxproj
ProjectPath: projects/MSVC_2010
DeployConfig: False
- VisualStudioVersion: 12.0
PlatformToolset: v120
ProjectPath: projects/MSVC_2013/Freespace2.vcxproj
ProjectPath: projects/MSVC_2013
DeployConfig: False
- VisualStudioVersion: 14.0
PlatformToolset: v140
ProjectPath: projects/MSVC_2015/Freespace2.vcxproj
ProjectPath: projects/MSVC_2015
DeployConfig: True
build_script:
- msbuild "%ProjectPath%" /p:Configuration="Debug SSE2" /m /p:PlatformToolset="%PlatformToolset%" /verbosity:minimal
- ps: . ./ci/appveyor/check_release.ps1
- ps: . ./ci/appveyor/build.ps1
test: off
deploy:
- provider: GitHub
auth_token:
secure: RWe6hwCcgBdklaYvjB62kzhKn7yDBJdqoDDKYViShaEV9HkJ75HbawsBcGBimRUu
on:
ReleaseBuild: true # deploy on release push only
- provider: BinTray
username: asarium
api_key:
secure: 2lHma1ZreuB4CCE5hSdp+gqFjCMzUDj3tVJhP+D6EyF5wIVMLlwXFrISwnYu1kJi
subject: asarium
repo: FSO
package: nightly
version: $(VersionName)
publish: true
override: true
on:
NightlyBuild: true # deploy on nightly push only
+25
View File
@@ -0,0 +1,25 @@
if ([System.Convert]::ToBoolean($env:DeployBuild)) {
# Release build
if (! ([System.Convert]::ToBoolean($env:DeployConfig))) {
exit 0 # End the build
}
msbuild "$env:ProjectPath/Freespace2.sln" /p:Configuration="Debug SSE2" /m /p:PlatformToolset="$($env:PlatformToolset)_xp" /verbosity:minimal
if (! ($?)) {
Add-AppveyorMessage "A release build failed!"
exit 1
}
msbuild "$env:ProjectPath/Freespace2.sln" /p:Configuration="Release SSE2" /m /p:PlatformToolset="$($env:PlatformToolset)_xp" /verbosity:minimal
if (! ($?)) {
Add-AppveyorMessage "A release build failed!"
exit 1
}
7z a "$($env:PackageName)-builds-Win32.zip" "$env:APPVEYOR_BUILD_FOLDER/$env:ProjectPath/Debug SSE2/*.exe" "$env:APPVEYOR_BUILD_FOLDER/$env:ProjectPath/Release SSE2/*.exe"
Push-AppveyorArtifact "$($env:PackageName)-builds-Win32.zip"
} else {
# Standard CI build
msbuild "$env:ProjectPath/Freespace2.vcxproj" /p:Configuration="Debug SSE2" /m /p:PlatformToolset="$env:PlatformToolset" /verbosity:minimal
}
+28
View File
@@ -0,0 +1,28 @@
write "$env:APPVEYOR_REPO_TAG"
write "$env:APPVEYOR_REPO_TAG_NAME"
# Default values
Set-AppveyorBuildVariable 'ReleaseBuild' 'false'
Set-AppveyorBuildVariable 'NightlyBuild' 'false'
Set-AppveyorBuildVariable 'DeployBuild' 'false'
Set-AppveyorBuildVariable 'PackagePrefix' ''
Set-AppveyorBuildVariable 'VersionName' ''
if ([System.Convert]::ToBoolean($env:APPVEYOR_REPO_TAG) -And ("$env:APPVEYOR_REPO_TAG_NAME" -match "^release_(.*)")) {
# Tag matches
Set-AppveyorBuildVariable 'ReleaseBuild' 'true'
Set-AppveyorBuildVariable 'PackageName' "fs2_open_$($matches[1])"
}
if ([System.Convert]::ToBoolean($env:APPVEYOR_REPO_TAG) -And ("$env:APPVEYOR_REPO_TAG_NAME" -match "^nightly_(.*)")) {
# Tag matches
Set-AppveyorBuildVariable 'NightlyBuild' 'true'
Set-AppveyorBuildVariable 'PackageName' "nightly_$($matches[1])"
Set-AppveyorBuildVariable 'VersionName' "$($matches[1])"
}
if ([System.Convert]::ToBoolean($env:ReleaseBuild) -Or [System.Convert]::ToBoolean($env:NightlyBuild)) {
Set-AppveyorBuildVariable 'DeployBuild' 'true'
}
+19
View File
@@ -0,0 +1,19 @@
{
"package": {
"name": "nightly",
"repo": "FSO",
"subject": "asarium"
},
"version": {
"name": "$VERSION_NAME"
},
"files": [
{
"includePattern": "/tmp/builds/(.*)",
"uploadPattern": "$1"
}
],
"publish": true
}
+8
View File
@@ -0,0 +1,8 @@
#!/usr/bin/env sh
set -ex
if [ "$NIGHTLY_BUILD" = true ]; then
echo "Fixing bintray config..."
sed -e "s/\$VERSION_NAME/$VERSION_NAME/" ci/bintray.template.json > ci/bintray.json
fi
+1 -1
View File
@@ -1,6 +1,6 @@
#!/usr/bin/env sh
set -e
set -ex
if [ "$TRAVIS_OS_NAME" = "linux" ]; then
# Nothing to do here
+2 -2
View File
@@ -1,8 +1,8 @@
#!/usr/bin/env sh
set -e
set -ex
if [ "$TRAVIS_OS_NAME" = "linux" ]; then
if ([ "$TRAVIS_OS_NAME" = "linux" ] && [ "$BUILD_DEPLOYMENT" = false ]); then
# Due to a bug in gcc the array bounds check isn't working correctly
# This can be removed when gcc is updated
AUTOGEN_CONFIG="CXXFLAGS=-Wno-array-bounds --enable-fatal-warnings --enable-generic-architecture"
+49
View File
@@ -0,0 +1,49 @@
#!/usr/bin/env sh
RELEASE_BUILD=false
NIGHTLY_BUILD=false
BUILD_DEPLOYMENT=false
VERSION_NAME=""
PACKAGE_NAME=""
RELEASE_PATTERN="^release_(.*)$"
NIGHTLY_PATTERN="^nightly_(.*)$"
if [[ "$TRAVIS_TAG" =~ $RELEASE_PATTERN ]]; then
echo "This is a release tag!";
RELEASE_BUILD=true;
PACKAGE_NAME="fs2_open_${BASH_REMATCH[1]}";
fi
if [[ "$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 ([ "$RELEASE_BUILD" = true ] || [ "$NIGHTLY_BUILD" = true ]); then
BUILD_DEPLOYMENT=true;
fi
if [[ "$BUILD_DEPLOYMENT" == true ]]; then
if ([[ "$TRAVIS_OS_NAME" == "linux" ]] && [[ "$CC" == "clang" ]]); then
echo "Skipping non-release compiler";
exit 0;
fi
if ([[ "$TRAVIS_OS_NAME" == "osx" ]] && [[ "$MACOSX_ARCH" == "i386" ]]); then
echo "Skipping non-release architecture";
exit 0;
fi
if ([[ "$CONFIGURATION" == "Debug" ]]); then
echo "Skipping non-release configuration";
exit 0;
fi
fi
export RELEASE_BUILD
export NIGHTLY_BUILD
export BUILD_DEPLOYMENT
export VERSION_NAME
export PACKAGE_NAME
+2 -2
View File
@@ -1,10 +1,10 @@
#!/usr/bin/env sh
set -e
set -ex
if [ "$TRAVIS_OS_NAME" = "linux" ]; then
# Nothing to do here
:
elif [ "$TRAVIS_OS_NAME" = "osx" ]; then
gem install xcpretty
gem install xcpretty thefox-pastebin
fi
+57
View File
@@ -0,0 +1,57 @@
#!/usr/bin/env sh
set -ex
mkdir -p /tmp/builds
if [ "$TRAVIS_OS_NAME" = "linux" ]; then
# Due to a bug in gcc the array bounds check isn't working correctly
# This can be removed when gcc is updated
AUTOGEN_CONFIG="--enable-generic-architecture --prefix=/tmp/release"
# First compile the release build
./autogen.sh $AUTOGEN_CONFIG
make -j4
make install
make distclean
# Now compile debug
./autogen.sh $AUTOGEN_CONFIG --enable-debug
make -j4
make install
ls -al /tmp/release/bin
(cd /tmp/release/bin && tar -cvzf /tmp/builds/$PACKAGE_NAME-builds-Linux.tar.gz *)
elif [ "$TRAVIS_OS_NAME" = "osx" ]; then
cd projects/Xcode
mkdir /tmp/release
xcodebuild -project FS2_Open.xcodeproj -configuration "Release" clean build | tee release.log | xcpretty
XCODE_RET=${PIPESTATUS[0]}
if [ "$XCODE_RET" -ne "0" ]; then
pastebin -e 1D -f release.log
exit $XCODE_RET
fi
ls build/Release
(cd build/Release && cp -r *.app /tmp/release)
xcodebuild -project FS2_Open.xcodeproj -configuration "Debug" clean build | tee debug.log | xcpretty
XCODE_RET=${PIPESTATUS[0]}
if [ "$XCODE_RET" -ne "0" ]; then
pastebin -e 1D -f debug.log
exit $XCODE_RET
fi
ls build/Debug
(cd build/Debug && cp -r *.app /tmp/release)
ls -al /tmp/release
(cd /tmp/release && tar -cvzf /tmp/builds/$PACKAGE_NAME-builds-MacOSX.tar.gz *)
fi
+1 -1
View File
@@ -1,6 +1,6 @@
#!/usr/bin/env sh
set -e
set -ex
if [ "$TRAVIS_OS_NAME" = "linux" ]; then
make -j 4
+1
View File
@@ -563,3 +563,4 @@ echo Generic build .......... : $fs2_generic_architecture
echo ASan enabled ........... : $fs2_asan
echo Building wxFred2 ....... : $fs2_fred
echo
dnl Test change