forked from BambooTracker/BambooTracker
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.appveyor.yml
150 lines (135 loc) Β· 5.02 KB
/
.appveyor.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
#---------------------------------#
# general configuration #
#---------------------------------#
# version format
version: 0.4.6.{build}
# branches to build
branches:
# whitelist
only:
- master
- /v\d*\.\d*\.\d*/
# Skipping commits with particular message or from specific user
skip_commits:
message: /Created.*\.(png|jpg|jpeg|bmp|gif|md)/ # Regex for matching commit message
files:
- '*.md'
- '*.txt'
- 'LICENSE'
- '.gitignore'
#---------------------------------#
# environment configuration #
#---------------------------------#
# set clone depth
clone_depth: 3 # clone entire repository history if not defined
environment:
APPVEYOR_YML_DISABLE_PS_LINUX: true
matrix:
# Windows 7 or later
- APPVEYOR_JOB_NAME: for Windows (7 or later)
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
COMPILER: C:\Qt\Tools\mingw530_32\bin
QT: C:\Qt\5.10.1\mingw53_32\bin
PLATFORM: windows
DEST: BambooTracker-v%APPVEYOR_BUILD_VERSION%-dev-windows-7-32bit.zip
MAKE: mingw32-make
RELEASE_BUILD: false
# Windows XP (Debug)
- APPVEYOR_JOB_NAME: for Windows XP
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2013
COMPILER: C:\Qt\Tools\mingw492_32\bin
QT: C:\Qt\5.5\mingw492_32\bin
PLATFORM: windows-xp
DEST: BambooTracker-v%APPVEYOR_BUILD_VERSION%-dev-windows-xp-32bit.zip
MAKE: mingw32-make
RELEASE_BUILD: false
# Windows XP (Release)
- APPVEYOR_JOB_NAME: for Windows XP (Release)
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2013
COMPILER: C:\Qt\Tools\mingw492_32\bin
QT: C:\Qt\5.5\mingw492_32\bin
PLATFORM: windows-xp
DEST: BambooTracker-v%APPVEYOR_BUILD_VERSION%-windows-xp-32bit.zip
MAKE: mingw32-make
RELEASE_BUILD: true
- APPVEYOR_JOB_NAME: for macOS
APPVEYOR_BUILD_WORKER_IMAGE: macOS-Mojave
PLATFORM: macos
DEST: BambooTracker-v$APPVEYOR_BUILD_VERSION-dev-macos-64bit.zip
MAKE: make
RELEASE_BUILD: false
for:
-
# Debug
matrix:
only:
- RELEASE_BUILD: false
skip_tags: true
-
# Release
matrix:
only:
- RELEASE_BUILD: true
skip_non_tags: true
# scripts that run after cloning repository
install:
- git submodule init
- git submodule update
#---------------------------------#
# build configuration #
#---------------------------------#
# build platform, i.e. x86, x64, Any CPU. This setting is optional.
platform: x86
# scripts to run before build
before_build:
- ps: $env:Path = "$env:QT;$env:COMPILER;$env:Path"
- sh: |
export HOMEBREW_NO_INSTALL_CLEANUP=1
brew update
brew install qt@5 pkg-config jack p7zip
export PATH="/usr/local/opt/qt@5/bin:$PATH"
export PKG_CONFIG_PATH="/usr/local/opt/jack/lib/pkgconfig"${PKG_CONFIG_PATH:+':'}$PKG_CONFIG_PATH
# to run your custom scripts instead of automatic MSBuild
build_script:
- ps: |
$QMAKE_CONFIGS = if ($env:RELEASE_BUILD -ieq "true") { "CONFIG+=release CONFIG-=debug" } else { "CONFIG-=release CONFIG+=debug CONFIG+=console CONFIG+=nostrip" }
echo $QMAKE_CONFIGS
Invoke-Expression ("qmake.exe Project.pro PREFIX=$pwd\target " + $QMAKE_CONFIGS)
Invoke-Expression ($env:MAKE + " qmake_all")
Invoke-Expression ($env:MAKE + " -j2")
- sh: |
qmake Project.pro PREFIX="$APPVEYOR_BUILD_FOLDER"/target CONFIG-=release CONFIG+=debug CONFIG+=console CONFIG+=nostrip CONFIG+=install_flat CONFIG+=use_jack
$MAKE qmake_all
$MAKE -j2
# scripts to run after build (working directory and environment changes are persisted from the previous steps)
after_build:
- ps: Invoke-Expression ($env:MAKE + " install")
- sh: $MAKE install
- cd target
# Port of scripts/package_windows.sh to PowerShell
- ps: |
Copy-Item -Recurse ..\*.md .
$HELP_OUT = (windeployqt.exe -h)
$DEPLOY_OPTS = "-verbose=2"
$PLUGIN_OPTS = @("--no-quick-import","--no-system-d3d-compiler","--no-webkit2","--no-opengl-sw","--no-virtualkeyboard","--no-angle")
$PLUGIN_OPTS | ForEach{If ($HELP_OUT | Select-String $_) { $DEPLOY_OPTS = $DEPLOY_OPTS + " " + $_ }}
$EXLIB_OPTS = @("svg")
$EXLIB_OPTS | ForEach{If ($HELP_OUT | Select-String $_) { $DEPLOY_OPTS = $DEPLOY_OPTS + " --no-" + $_ }}
Invoke-Expression ("windeployqt.exe BambooTracker.exe " + $DEPLOY_OPTS)
Copy-Item -Recurse translations\*.qm lang
Remove-Item -Recurse -Force imageformats,translations
- sh: bash ../scripts/package_osx.sh
- cd ..
- ps: |
$DEV_LAB = if ($env:RELEASE_BUILD -ieq "true") { "-" } else { "-dev-" }
mv target BambooTracker-v"$env:APPVEYOR_BUILD_VERSION$DEV_LAB$env:PLATFORM"
7z a -tzip "$env:DEST" BambooTracker-v"$env:APPVEYOR_BUILD_VERSION$DEV_LAB$env:PLATFORM"
- sh: |
mv target BambooTracker-v"$APPVEYOR_BUILD_VERSION"-dev-"$PLATFORM"
7z a -tzip "$DEST" BambooTracker-v"$APPVEYOR_BUILD_VERSION"-dev-"$PLATFORM"
#---------------------------------#
# artifacts configuration #
#---------------------------------#
artifacts:
# pushing a single file
- path: $(DEST)