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 IS_AZURE: true pool: vmImage: 'ubuntu-latest' steps: - task: Cache@2 inputs: key: ccache | $(Agent.OS) | $(COMPILER) path: $(CCACHE_DIR) displayName: ccache - bash: | docker pull --quiet rpcs3/rpcs3-travis-xenial:1.4 docker run \ -v $(pwd):/rpcs3 \ --env-file .ci/travis.env \ -v $CCACHE_DIR:/root/.ccache \ -v $BUILD_ARTIFACTSTAGINGDIRECTORY:/root/artifacts \ rpcs3/rpcs3-travis-xenial:1.4 \ /rpcs3/.ci/build-linux.sh displayName: Docker setup and build - publish: $(Build.ArtifactStagingDirectory) condition: and(succeeded(), eq(variables['COMPILER'], 'gcc')) artifact: RPCS3 for Linux - job: Windows_Build variables: COMPILER: msvc QT_VER: '5.14.1' QT_DATE: '202001240957' QTDIR: C:\Qt\$(QT_VER)\msvc2017_64 VULKAN_VER: '1.2.135.0' VULKAN_SDK_SHA: '181b3353612c8b0fc5e1857b652d62140191ae42b98f2f0d532cf349cebfd8c6' VULKAN_SDK: C:\VulkanSDK\$(VULKAN_VER) CACHE_DIR: ./cache pool: vmImage: "windows-latest" steps: - bash: .ci/get_keys-windows.sh displayName: Get Cache Keys - task: Cache@2 inputs: key: $(Agent.OS) | $(COMPILER) | "$(QT_VER)" | $(VULKAN_SDK_SHA) | llvm.lock | glslang.lock path: $(CACHE_DIR) restoreKeys: | $(Agent.OS) | $(COMPILER) displayName: Cache - bash: .ci/setup-windows.sh displayName: Download and unpack dependencies - bash: .ci/export-azure-vars.sh displayName: Export Variables - task: MSBuild@1 inputs: solution: './Vulkan/spirv-tools-build/spirv-tools-build.vcxproj' maximumCpuCount: true platform: x64 configuration: 'Release' displayName: Compile SPIRV-Tools - task: VSBuild@1 inputs: solution: 'rpcs3.sln' maximumCpuCount: true platform: x64 configuration: 'Release - LLVM' displayName: Compile RPCS3 - bash: .ci/deploy-windows.sh displayName: Pack up build artifacts - publish: $(Build.ArtifactStagingDirectory) condition: succeeded() artifact: RPCS3 for Windows - task: GitHubRelease@1 condition: eq(variables['Build.SourceBranch'], 'refs/heads/master') inputs: gitHubConnection: 'RPCS3-Token' repositoryName: 'RPCS3/rpcs3-binaries-win' releaseNotesFilePath: 'GitHubReleaseMessage.txt' action: 'create' target: '7d09e3be30805911226241afbb14f8cdc2eb054e' tagSource: 'userSpecifiedTag' tag: 'build-$(Build.SourceVersion)' title: $(AVVER) addChangeLog: false displayName: Push build to GitHub