1
0
mirror of https://github.com/RPCS3/rpcs3.git synced 2024-11-25 04:02:42 +01:00
rpcs3/azure-pipelines.yml
JohnHolmesII 70d6a12894
CI: Port Windows build to Azure Pipelines (#7757)
* CI: Port Windows build to Azure Pipelines from Appveyor

* CI: Split Windows build into scripts

* CI: Remove Appveyor

* CI: Add GitHub Release deployment to Azure Windows Build

* VCS: Add full branch name function to rpcs3_version

The STRINGIZE macro was a little awkward, and difficult to control
at configure time. Since other version information is already
included, the full branch name is now added as a function. It's
runtime instead of compile-time checking, but it seems worth it.

* CI: Overhaul Windows setup script

Previously, there was no way of forcing a re-download
of cached dependencies when they were replaced by new ones. In
addition, there was really no verification of downloads or cache.
Now, changing a few lines at the top of the file will automagically
force a cache update.
2020-03-27 16:37:27 +03:00

96 lines
2.4 KiB
YAML

trigger:
branches:
include:
- master
tags:
exclude:
- '*'
pr:
branches:
include:
- master
jobs:
- job: Linux_Build
strategy:
matrix:
Clang:
COMPILER: clang
GCC:
COMPILER: gcc
DEPLOY_APPIMAGE: true
variables:
CCACHE_DIR: $(Pipeline.Workspace)/ccache
pool:
vmImage: 'ubuntu-latest'
steps:
- task: Cache@0
inputs:
key: ccache | $(Agent.OS) | $(COMPILER)
path: $(CCACHE_DIR)
displayName: ccache
- bash: |
docker pull --quiet rpcs3/rpcs3-travis-xenial:1.2
docker run \
-v $(pwd):/rpcs3 \
--env-file .travis/travis.env \
-v $CCACHE_DIR:/root/.ccache \
-v $BUILD_ARTIFACTSTAGINGDIRECTORY:/root/artifacts \
rpcs3/rpcs3-travis-xenial:1.2 \
/bin/bash -ex /rpcs3/.travis/build-linux.bash
displayName: Docker setup and build
- publish: $(Build.ArtifactStagingDirectory)
- job: Windows_Build
variables:
COMPILER: msvc
QT_VER: '5.14.1'
QT_DATE: '202001240957'
QTDIR: C:\Qt\$(QT_VER)\msvc2017_64
VULKAN_VER: '1.1.126.0'
VULKAN_SDK_SHA: 'ee86f25580b550390ce46508415e744d62e87e9c0de6cd299998058253a2a4ba'
VULKAN_SDK: C:\VulkanSDK\$(VULKAN_VER)
CACHE_DIR: ./cache
pool:
vmImage: "windows-latest"
steps:
- task: Cache@0
inputs:
key: $(Agent.OS) | $(COMPILER)
path: $(CACHE_DIR)
displayName: Cache
- bash: .travis/setup-windows.sh
displayName: Download and unpack dependencies
- task: VSBuild@1
inputs:
solution: 'rpcs3.sln'
msbuildArgs: '/m'
platform: x64
configuration: 'Release - LLVM'
displayName: Compile RPCS3
- bash: .travis/deploy-windows.sh
displayName: Pack up build artifacts
- publish: $(Build.ArtifactStagingDirectory)
artifact: Windows App Bundle
- task: GitHubRelease@1
condition: eq(variables['Build.SourceBranch'], 'refs/heads/master')
inputs:
gitHubConnection: 'RPCS3-Token'
repositoryName: '$(Build.Repository.Name)'
releaseNotesFilePath: 'GitHubReleaseMessage.txt'
action: 'create'
target: '$(Build.SourceVersion)'
tagSource: 'userSpecifiedTag'
tag: 'build-$(Build.SourceVersion)'
title: $(AVVER)
addChangeLog: false
displayName: Push build to GitHub