mirror of
https://github.com/zealdocs/zeal.git
synced 2024-11-23 06:13:35 +03:00
177 lines
4.9 KiB
YAML
177 lines
4.9 KiB
YAML
|
version: '{branch}-{build}'
|
||
|
pull_requests:
|
||
|
do_not_increment_build_number: true
|
||
|
branches:
|
||
|
only:
|
||
|
- master
|
||
|
- stable
|
||
|
- /release\/.*/
|
||
|
image:
|
||
|
- Visual Studio 2015
|
||
|
- Ubuntu1804
|
||
|
configuration: Release
|
||
|
platform:
|
||
|
- x86
|
||
|
- x64
|
||
|
environment:
|
||
|
APPVEYOR_YML_DISABLE_PS_LINUX: true
|
||
|
matrix:
|
||
|
- ZEAL_PORTABLE_BUILD: "OFF"
|
||
|
- ZEAL_PORTABLE_BUILD: "ON"
|
||
|
matrix:
|
||
|
exclude:
|
||
|
- image: Ubuntu1804
|
||
|
platform: x86
|
||
|
init:
|
||
|
- ps: |-
|
||
|
if ($Env:PLATFORM -eq "x64") {
|
||
|
$Env:QT_ROOT = "C:\Qt\5.11\msvc2015_64"
|
||
|
} else {
|
||
|
$Env:QT_ROOT = "C:\Qt\5.11\msvc2015"
|
||
|
}
|
||
|
|
||
|
$Env:Path += ";${Env:QT_ROOT}\bin;C:\Program Files\7-Zip"
|
||
|
install:
|
||
|
- ps: |-
|
||
|
# Install vcpkg toolchain.
|
||
|
$Env:VCPKG_ROOT = "c:\projects\vcpkg-export"
|
||
|
$vcpkgArchive = "vcpkg-export-20181014.4-${Env:PLATFORM}.7z"
|
||
|
appveyor DownloadFile "https://dl.bintray.com/zealdocs/windows-ci/$vcpkgArchive"
|
||
|
7z x $vcpkgArchive -o"${Env:VCPKG_ROOT}"
|
||
|
|
||
|
# Install QtWebKit.
|
||
|
$qtWebKitArchiveBaseName = "qtwebkit-5.212.0_72cfbd7-qt5111-msvc2015-${Env:PLATFORM}"
|
||
|
appveyor Downloadfile "https://dl.bintray.com/zealdocs/windows-ci/$qtWebKitArchiveBaseName.zip"
|
||
|
7z x "$qtWebKitArchiveBaseName.zip"
|
||
|
Get-ChildItem ".\$qtWebKitArchiveBaseName" | Copy -Destination ${Env:QT_ROOT} -Recurse -Force
|
||
|
- sh: |-
|
||
|
sudo apt-get -y -qq update
|
||
|
sudo apt-get -y -qq install \
|
||
|
--no-install-recommends \
|
||
|
cmake \
|
||
|
extra-cmake-modules \
|
||
|
qt5-default \
|
||
|
libqt5webkit5-dev \
|
||
|
libqt5x11extras5-dev \
|
||
|
libarchive-dev \
|
||
|
libxcb-keysyms1-dev
|
||
|
before_build:
|
||
|
- ps: |-
|
||
|
Write-Output "Source directory: ${Env:APPVEYOR_BUILD_FOLDER}"
|
||
|
|
||
|
New-Item -ItemType Directory -Force -Path dist | Out-Null
|
||
|
Set-Location -Path dist
|
||
|
|
||
|
# Prepare .sln with CMake:
|
||
|
$cmakeGenerator = "Visual Studio 14 2015"
|
||
|
if ($Env:PLATFORM -eq "x64") {
|
||
|
$cmakeGenerator += " Win64"
|
||
|
}
|
||
|
|
||
|
Write-Output "Generator: $cmakeGenerator"
|
||
|
|
||
|
cmake "${Env:APPVEYOR_BUILD_FOLDER}" `
|
||
|
-G "$cmakeGenerator" `
|
||
|
-DZEAL_PORTABLE_BUILD="${Env:ZEAL_PORTABLE_BUILD}" `
|
||
|
-DCMAKE_BUILD_TYPE="${Env:CONFIGURATION}" `
|
||
|
-DCMAKE_PREFIX_PATH="${Env:QT_ROOT}" `
|
||
|
-DCMAKE_TOOLCHAIN_FILE="${Env:VCPKG_ROOT}\scripts\buildsystems\vcpkg.cmake"
|
||
|
|
||
|
Set-Location -Path ${Env:APPVEYOR_BUILD_FOLDER}
|
||
|
- sh: |-
|
||
|
mkdir build
|
||
|
cd build
|
||
|
|
||
|
cmake .. \
|
||
|
-DZEAL_PORTABLE_BUILD="${ZEAL_PORTABLE_BUILD}"
|
||
|
|
||
|
cd ..
|
||
|
build:
|
||
|
project: dist\ALL_BUILD.vcxproj
|
||
|
parallel: true
|
||
|
verbosity: minimal
|
||
|
build_script:
|
||
|
- sh: |-
|
||
|
cmake --build build
|
||
|
test: off
|
||
|
before_package:
|
||
|
- ps: |-
|
||
|
$package = "zeal"
|
||
|
|
||
|
if ($Env:ZEAL_PORTABLE_BUILD -eq "ON") {
|
||
|
$package = $package + "-portable"
|
||
|
}
|
||
|
|
||
|
if ($Env:APPVEYOR_REPO_BRANCH -eq "master") {
|
||
|
$package = $package + "-unstable"
|
||
|
} elseif (${env:APPVEYOR_REPO_BRANCH}.StartsWith("release/")) {
|
||
|
$package = $package + "-stable"
|
||
|
} else {
|
||
|
Write-Output "Skipping deployment for this branch..."
|
||
|
Exit-AppveyorBuild
|
||
|
}
|
||
|
|
||
|
$Env:ZEAL_PKG_NAME = $package
|
||
|
# TODO: Use APPVEYOR_BUILD_VERSION.
|
||
|
$Env:ZEAL_PKG_VERSION = git describe | ForEach-Object {$_ -replace "^v",""}
|
||
|
|
||
|
$binaryDir = "dist\bin\Release"
|
||
|
$deploymentDir = "${Env:ZEAL_PKG_NAME}-${Env:ZEAL_PKG_VERSION}-windows-${Env:PLATFORM}"
|
||
|
|
||
|
Write-Output "Output Directory: $deploymentDir"
|
||
|
|
||
|
New-Item -Type directory -Path . -Name "$deploymentDir" -Force | Out-Null
|
||
|
|
||
|
& windeployqt `
|
||
|
--no-angle `
|
||
|
--no-compiler-runtime `
|
||
|
--no-opengl-sw `
|
||
|
--no-plugins `
|
||
|
--no-system-d3d-compiler `
|
||
|
--no-translations `
|
||
|
--dir "$deploymentDir" `
|
||
|
"$binaryDir\zeal.exe"
|
||
|
|
||
|
function AddItem ($path) {
|
||
|
Copy-Item "$path" "$deploymentDir"
|
||
|
Write-Host "Added $path"
|
||
|
}
|
||
|
|
||
|
AddItem "$binaryDir\*"
|
||
|
|
||
|
# OpenSSL is a runtime dependency, so copy it manually.
|
||
|
AddItem "${Env:VCPKG_ROOT}\installed\${Env:PLATFORM}-windows\bin\libeay32.dll"
|
||
|
AddItem "${Env:VCPKG_ROOT}\installed\${Env:PLATFORM}-windows\bin\ssleay32.dll"
|
||
|
|
||
|
function AddQtPlugin ($directory, $plugin) {
|
||
|
if ( -Not (Test-Path "$deploymentDir\$directory")) {
|
||
|
New-Item -ItemType directory -Path "$deploymentDir" -Name "$directory" | Out-Null
|
||
|
}
|
||
|
|
||
|
Copy-Item "${Env:QT_ROOT}\plugins\$directory\q$plugin.dll" "$deploymentDir\$directory"
|
||
|
Write-Host "Added $directory\$plugin.dll"
|
||
|
}
|
||
|
|
||
|
AddQtPlugin "imageformats" "gif"
|
||
|
AddQtPlugin "imageformats" "ico"
|
||
|
AddQtPlugin "imageformats" "jpeg"
|
||
|
AddQtPlugin "platforms" "windows"
|
||
|
AddQtPlugin "styles" "windowsvistastyle"
|
||
|
|
||
|
$archiveName = "$deploymentDir.zip"
|
||
|
& 7z a -mx=9 "$archiveName" "$deploymentDir"
|
||
|
artifacts:
|
||
|
- path: zeal-*.zip
|
||
|
deploy:
|
||
|
- provider: BinTray
|
||
|
username: trollixx
|
||
|
api_key:
|
||
|
secure: AsKi8j1sR34g/9+B22/dJ49X3Uie8TizgQD7lzNvW2/+deWq7oLyCQQUCrqPjOUY
|
||
|
subject: zealdocs
|
||
|
repo: windows-ci
|
||
|
package: $(ZEAL_PKG_NAME)
|
||
|
version: $(ZEAL_PKG_VERSION)
|
||
|
publish: true
|
||
|
override: true
|
||
|
|