mirror of
https://github.com/RPCS3/rpcs3.git
synced 2024-11-17 08:11:51 +00:00
fed94e3823
Setup Mirror for Vulkan SDK executable. Let's not be assholes and append ?Human=True to the link cause we might get ourselves put on a blacklist if we keeep using it after the requirement stops. If the mirror is down it will fail back to lunar cdn.
129 lines
4.0 KiB
YAML
129 lines
4.0 KiB
YAML
|
|
version: '{build}'
|
|
|
|
image: Visual Studio 2015
|
|
|
|
environment:
|
|
QTDIR: C:\Qt\5.10\msvc2015_64
|
|
LLVMLIBS: https://github.com/RPCS3/llvm/releases/download/continuous-release_60/llvmlibs.7z
|
|
GLSLANG: https://drive.google.com/uc?export=download&id=1A2eOMmCO714i0U7J0qI4aEMKnuWl8l_R
|
|
COMPATDB: https://rpcs3.net/compatibility?api=v1&export
|
|
VULKAN_SDK: "C:\\VulkanSDK\\1.1.73.0"
|
|
VULKAN_SDK_URL: https://sdk.lunarg.com/sdk/download/1.1.73.0/windows/VulkanSDK-1.1.73.0-Installer.exe
|
|
VULKAN_SDK_MIRROR: https://obk.ee/rpcs3/VulkanSDK-1.1.73.0-Installer.exe
|
|
|
|
cache:
|
|
- glslang.7z -> appveyor.yml
|
|
- compat_database.dat
|
|
- vulkan-sdk.exe -> appveyor.yml
|
|
|
|
install:
|
|
- ps: | # set env vars for versioning
|
|
$env:COMM_TAG = $(git describe --tags $(git rev-list --tags --max-count=1))
|
|
$env:COMM_COUNT = $(git rev-list --count HEAD)
|
|
$env:COMM_HASH = $env:APPVEYOR_REPO_COMMIT.Substring(0,8)
|
|
|
|
if ($env:APPVEYOR_PULL_REQUEST_NUMBER) {
|
|
$env:BUILD = "rpcs3-{0}-{1}_win64.7z" -f $env:COMM_TAG, $env:COMM_HASH
|
|
$env:AVVER = "{0}-{1}" -f $env:COMM_TAG.TrimStart("v"), $env:COMM_HASH
|
|
}
|
|
else {
|
|
$env:BUILD = "rpcs3-{0}-{1}-{2}_win64.7z" -f $env:COMM_TAG, $env:COMM_COUNT, $env:COMM_HASH
|
|
$env:AVVER = "{0}-{1}" -f $env:COMM_TAG.TrimStart("v"), $env:COMM_COUNT
|
|
}
|
|
|
|
- ps: | # used for experimental build warnings for pr builds
|
|
$env:BRANCH = "{0}/{1}/#{2}" -f $env:APPVEYOR_REPO_NAME, `
|
|
$env:APPVEYOR_REPO_BRANCH, $env:APPVEYOR_PULL_REQUEST_NUMBER
|
|
$env:BRANCH = $env:BRANCH -replace "/#$"
|
|
|
|
- ps: | # misc global settings
|
|
$env:PATH += $env:QTDIR
|
|
[net.servicepointmanager]::securityprotocol = "tls12, tls11, tls"
|
|
|
|
- ps: | # update and init submodules
|
|
git submodule -q update --init `
|
|
3rdparty/cereal `
|
|
3rdparty/ffmpeg `
|
|
3rdparty/GSL `
|
|
3rdparty/hidapi `
|
|
3rdparty/libpng `
|
|
3rdparty/Optional `
|
|
3rdparty/pugixml `
|
|
3rdparty/xxHash `
|
|
3rdparty/zlib `
|
|
asmjit `
|
|
Utilities/yaml-cpp `
|
|
Vulkan/glslang
|
|
|
|
platform: x64
|
|
|
|
configuration: Release - LLVM
|
|
|
|
build:
|
|
parallel: true
|
|
project: rpcs3.sln
|
|
verbosity: normal
|
|
|
|
before_build:
|
|
- ps: | # fetch precompiled build dependencies
|
|
if (!(test-path llvmlibs.7z)) { irm $env:LLVMLIBS -outfile llvmlibs.7z }
|
|
if (!(test-path glslang.7z)) { irm $env:GLSLANG -outfile glslang.7z }
|
|
7z x llvmlibs.7z -aos -o"." | out-null
|
|
7z x glslang.7z -aos -o".\lib\$env:CONFIGURATION-$env:PLATFORM" | out-null
|
|
if (!(test-path vulkan-sdk.exe))
|
|
{
|
|
Try
|
|
{
|
|
irm $env:VULKAN_SDK_MIRROR -outfile vulkan-sdk.exe
|
|
}
|
|
Catch
|
|
{
|
|
Try
|
|
{
|
|
irm $env:VULKAN_SDK_URL -outfile vulkan-sdk.exe
|
|
}
|
|
Catch
|
|
{
|
|
irm "$($env:VULKAN_SDK_URL)?Human=true" -outfile vulkan-sdk.exe
|
|
}
|
|
}
|
|
}
|
|
.\vulkan-sdk.exe /S
|
|
|
|
after_build:
|
|
- ps: | # remove unnecessary files
|
|
rm .\bin\rpcs3.exp, .\bin\rpcs3.lib, .\bin\rpcs3.pdb
|
|
|
|
- ps: | # prepare compatibility database for packaging
|
|
$db = irm $env:COMPATDB -erroraction silentlycontinue
|
|
if ($db -and $db.return_code -eq 0) {
|
|
$db | convertto-json -compress | out-file compat_database.dat -encoding utf8
|
|
}
|
|
copy-item compat_database.dat .\bin\GuiConfigs\compat_database.dat
|
|
|
|
- ps: | # package artifacts
|
|
7z a -m0=LZMA2 -mx9 $env:BUILD .\bin\*
|
|
7z a -m0=LZMA2 -mx9 openssl_win64.7z C:\OpenSSL-Win64\bin\libeay32.dll `
|
|
C:\OpenSSL-Win64\bin\ssleay32.dll
|
|
|
|
- ps: | # generate sha256 hashes
|
|
(get-filehash $env:BUILD -algorithm SHA256).Hash | out-file ("{0}.sha256" -f $env:BUILD) -encoding ascii
|
|
(get-filehash openssl_win64.7z -algorithm SHA256).Hash | out-file "openssl_win64.7z.sha256" -encoding ascii
|
|
|
|
test: off
|
|
|
|
artifacts:
|
|
- path: $(BUILD)
|
|
name: rpcs3
|
|
- path: $(BUILD).sha256
|
|
name: rpcs3 sha256 hash
|
|
- path: openssl_win64.7z
|
|
name: openssl
|
|
- path: openssl_win64.7z.sha256
|
|
name: openssl sha256 hash
|
|
|
|
on_finish:
|
|
- ps: | # update appveyor build version, done last to prevent webhook breakage
|
|
update-appveyorbuild -version $env:AVVER
|