citra/appveyor.yml

88 lines
2.6 KiB
YAML

# shallow clone
clone_depth: 10
cache:
- C:\ProgramData\chocolatey\bin -> appveyor.yml
- C:\ProgramData\chocolatey\lib -> appveyor.yml
os: Visual Studio 2017
platform:
- x64
configuration:
- Release
install:
- git submodule update --init --recursive
before_build:
- mkdir build
- cd build
- cmake -G "Visual Studio 15 2017 Win64" -DCITRA_USE_BUNDLED_QT=1 -DCITRA_USE_BUNDLED_SDL2=1 -DCMAKE_USE_OPENSSL=0 -DENABLE_CUSTOM_SYSTEM_ARCHIVES=1 ..
- cd ..
build:
project: build/citra.sln
parallel: true
after_build:
- ps: |
$GITDATE = $(git show -s --date=short --format='%ad') -replace "-",""
$GITREV = $(git show -s --format='%h')
$GIT_LONG_HASH = $(git rev-parse HEAD)
# Where are these spaces coming from? Regardless, let's remove them
$MSVC_BUILD_NAME = "citra-windows-msvc-$GITDATE-$GITREV.zip" -replace " ", ""
$MSVC_BUILD_PDB = "citra-windows-msvc-$GITDATE-$GITREV-debugsymbols.zip" -replace " ", ""
$MSVC_SEVENZIP = "citra-windows-msvc-$GITDATE-$GITREV.7z" -replace " ", ""
$BINTRAY_VERSION = "nightly-$GIT_LONG_HASH" -replace " ", ""
# set the build names as env vars so the artifacts can upload them
$env:MSVC_BUILD_NAME = $MSVC_BUILD_NAME
$env:MSVC_BUILD_PDB = $MSVC_BUILD_PDB
$env:MSVC_SEVENZIP = $MSVC_SEVENZIP
$env:GITREV = $GITREV
7z a -tzip $MSVC_BUILD_PDB .\build\bin\release\*.pdb
rm .\build\bin\release\*.pdb
# Find out which kind of release we are producing by tag name
if ($env:APPVEYOR_REPO_TAG_NAME) {
$RELEASE_DIST, $RELEASE_VERSION = $env:APPVEYOR_REPO_TAG_NAME.split('-')
} else {
# There is no repo tag - make assumptions
$RELEASE_DIST = "head"
}
mkdir $RELEASE_DIST
Copy-Item .\build\bin\release\* -Destination $RELEASE_DIST -Recurse
Copy-Item .\license.txt -Destination $RELEASE_DIST
Copy-Item .\README.md -Destination $RELEASE_DIST
7z a -tzip $MSVC_BUILD_NAME $RELEASE_DIST\*
7z a $MSVC_SEVENZIP $RELEASE_DIST
test_script:
- cd build && ctest -VV -C Release && cd ..
artifacts:
- path: $(MSVC_BUILD_NAME)
name: msvcbuild
type: zip
- path: $(MSVC_BUILD_PDB)
name: msvcdebug
type: zip
- path: $(MSVC_SEVENZIP)
name: msvcupdate
deploy:
provider: GitHub
release: $(appveyor_repo_tag_name)
auth_token:
secure: "dbpsMC/MgPKWFNJCXpQl4cR8FYhepkPLjgNp/pRMktZ8oLKTqPYErfreaIxb/4P1"
artifact: msvcupdate,msvcbuild
draft: false
prerelease: false
on:
appveyor_repo_tag: true