ci: New scripts for AppVeyor

This commit is contained in:
Michael Fabian 'Xaymar' Dirks
2019-06-28 20:34:26 +02:00
parent 01e1c70a02
commit 35db9e714a
5 changed files with 148 additions and 33 deletions
+40 -23
View File
@@ -1,43 +1,49 @@
# Generic Settings
version: '{build}-{branch}'
pull_requests:
do_not_increment_build_number: true
matrix:
fast_finish: true
# Build Image & Environment
platform: x64
image: Visual Studio 2017
environment:
CMAKE_SYSTEM_VERSION: 10.0.16299.91
PACKAGE_PREFIX: obs-ffmpeg-encoder
INNOSETUP_URL: http://www.jrsoftware.org/download.php/is-unicode.exe
image:
- Visual Studio 2017
environment:
CMAKE_SYSTEM_VERSION: 10.0.17134.0
PACKAGE_PREFIX: xmr-ffmpeg-encoders
INNOSETUP_URL: http://www.jrsoftware.org/download.php/is.exe
CURL_VERSION: 7.39.0
# Resource Cache
cache:
- inno.exe
- build/32/libobs-download
- build/32/libobs-src
- build/64/libobs-download
- build/64/libobs-src
# Building
install:
- cmd: ci/appveyor-install.bat
build_script:
- cmd: ci/appveyor-build.bat
- cmd: node ci/appveyor-build.js
after_build:
- cmd: ci/appveyor-package.bat
cache:
- inno.exe
- build/32/obsdeps-build
- build/32/obsdeps-download
- build/32/obsdeps-src
- build/32/libobs-build
- build/32/libobs-download
- build/32/libobs-src
- build/64/libobs-build
- build/64/libobs-download
- build/64/libobs-src
# Testing
test: off
# Artifacts
artifacts:
- path: build/obs-ffmpeg-encoder-*.zip
- path: build/obs-ffmpeg-encoder-*.7z
- path: build/obs-ffmpeg-encoder-*.exe
- path: build/xmr-ffmpeg-encoders-*.zip
- path: build/xmr-ffmpeg-encoders-*.7z
- path: build/xmr-ffmpeg-encoders-*.exe
# Deploying
deploy:
- provider: GitHub
auth_token:
@@ -48,4 +54,15 @@ deploy:
on:
appveyor_repo_tag: true
test: off
# Notifications
notifications:
- provider: Webhook
url:
secure: PTtt5ALhmK0q42jYyx4/Qa1Uf18+gLMXKGdzJjDISJt8IE/K0Zyp58UYmDDbbyLp4pBRf/Ylj8rn/zYL/mqBoDVRIH5zasPqIvBD0ZhtvNjTOxQ3QoRkAmxgpWeMowm3A3I1rLizA2H4EctPpoAJGrvQ1G2HEYn9tVsGYeetFTo=
on_build_success: false
on_build_failure: false
on_build_status_changed: true
body: >-
{
"content": "**Build {{status}}**: [{{commitId}}] {{commitMessage}}\nBy {{commitAuthor}} on {{commitDate}}\n{{buildUrl}}"
}
-4
View File
@@ -1,4 +0,0 @@
cmake -H. -B"build/32" -G"Visual Studio 15 2017" -DCMAKE_INSTALL_PREFIX="%CD%/build/distrib" -DCMAKE_PACKAGE_PREFIX="%CD%/build" -DCMAKE_PACKAGE_NAME="obs-ffmpeg-encoder"
cmake -H. -B"build/64" -G"Visual Studio 15 2017 Win64" -T"host=x64" -DCMAKE_INSTALL_PREFIX="%CD%/build/distrib" -DCMAKE_PACKAGE_PREFIX="%CD%/build" -DCMAKE_PACKAGE_NAME="obs-ffmpeg-encoder" -DOBS_DEPENDENCIES_DIR="%CD%/build/32/obsdeps-src"
cmake --build build/32 --target INSTALL --config RelWithDebInfo -- /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll"
cmake --build build/64 --target INSTALL --config RelWithDebInfo -- /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll"
+98
View File
@@ -0,0 +1,98 @@
const cp = require('child_process');
var config32 = cp.spawn(
"cmake", [
'-H.',
'-B"build/32"',
'-G"Visual Studio 15 2017"',
'-DCMAKE_INSTALL_PREFIX="build/distrib"',
'-DCMAKE_PACKAGE_PREFIX="build"',
'-DCMAKE_PACKAGE_NAME="obs-stream-effects"'
], {
windowsVerbatimArguments: true,
windowsHide: true
}
);
config32.stdout.on('data', (data) => {
process.stdout.write(`[32:Out] ${data}`);
});
config32.stderr.on('data', (data) => {
console.log(`[32:Err] ${data}`);
});
config32.on('exit', (code, signal) => {
if (code != 0) {
process.exit(code)
}
var build32 = cp.spawn(
"cmake", [
'--build build/32',
'--target INSTALL',
'--config RelWithDebInfo',
'--',
'/logger:"C:\\Program Files\\AppVeyor\\BuildAgent\\Appveyor.MSBuildLogger.dll"'
], {
windowsVerbatimArguments: true,
windowsHide: true
}
);
build32.stdout.on('data', (data) => {
process.stdout.write(`[32:Out] ${data}`);
});
build32.stderr.on('data', (data) => {
process.stderr.write(`[32:Err] ${data}`);
});
build32.on('exit', (code, signal) => {
if (code != 0) {
process.exit(code)
}
});
});
var config64 = cp.spawn(
"cmake", [
'-H.',
'-B"build/64"',
'-G"Visual Studio 15 2017 Win64"',
'-DCMAKE_INSTALL_PREFIX="build/distrib"',
'-DCMAKE_PACKAGE_PREFIX="build"',
'-DCMAKE_PACKAGE_NAME="obs-stream-effects"'
], {
windowsVerbatimArguments: true,
windowsHide: true
}
);
config64.stdout.on('data', (data) => {
process.stdout.write(`[64:Out] ${data}`);
});
config64.stderr.on('data', (data) => {
console.log(`[64:Err] ${data}`);
});
config64.on('exit', (code, signal) => {
if (code != 0) {
process.exit(code)
}
var build64 = cp.spawn(
"cmake", [
'--build build/64',
'--target INSTALL',
'--config RelWithDebInfo',
'--',
'/logger:"C:\\Program Files\\AppVeyor\\BuildAgent\\Appveyor.MSBuildLogger.dll"'
], {
windowsVerbatimArguments: true,
windowsHide: true
}
);
build64.stdout.on('data', (data) => {
process.stdout.write(`[32:Out] ${data}`);
});
build64.stderr.on('data', (data) => {
process.stderr.write(`[32:Err] ${data}`);
});
build64.on('exit', (code, signal) => {
if (code != 0) {
process.exit(code)
}
});
});
+1
View File
@@ -1,3 +1,4 @@
@ECHO OFF
git submodule update --init --force --recursive
IF EXIST inno.exe (
+3
View File
@@ -1,6 +1,9 @@
@ECHO OFF
IF "%APPVEYOR_REPO_TAG%"=="true" (
ECHO -- Building 7z Archive --
cmake --build build/64 --target PACKAGE_7Z --config RelWithDebInfo
ECHO -- Building Zip Archive --
cmake --build build/64 --target PACKAGE_ZIP --config RelWithDebInfo
ECHO -- Building Installer --
"C:\Program Files (x86)\Inno Setup 5\ISCC.exe" /Qp ".\build\64\installer.iss" > nul
)