mirror of
https://github.com/JGRennison/OpenTTD-patches.git
synced 2024-11-04 06:00:15 +00:00
d8f6c80696
It turns out that Azure Pipelines has a lot of issues downloading an artifact from your own project if it is triggered from a fork. From what I could deduce, this is because the API requires a valid token, which is not set (correctly?) when triggered from a fork. As it is nicer anyway to publish the Windows Dependencies on GitHub, it is now published there (and updated at least every week), and we use the files from GitHub as our dependency.
106 lines
3.1 KiB
YAML
106 lines
3.1 KiB
YAML
trigger:
|
|
- master
|
|
pr:
|
|
- master
|
|
|
|
jobs:
|
|
- job: windows
|
|
displayName: 'Windows'
|
|
pool:
|
|
vmImage: 'VS2017-Win2016'
|
|
|
|
strategy:
|
|
matrix:
|
|
Win32:
|
|
BuildPlatform: 'Win32'
|
|
Win64:
|
|
BuildPlatform: 'x64'
|
|
|
|
steps:
|
|
# Rebase to origin/master for every PR. This means users don't have to
|
|
# rebase every time master changes. As long as the PR applies cleanly, we
|
|
# will validate it.
|
|
- script: |
|
|
git config user.email 'info@openttd.org'
|
|
git config user.name 'OpenTTD CI'
|
|
git rebase origin/master
|
|
displayName: 'Rebase to master'
|
|
- bash: |
|
|
set -ex
|
|
curl -L https://github.com/OpenTTD/OpenTTD-CF/releases/download/latest/windows-dependencies.zip > windows-dependencies.zip
|
|
unzip windows-dependencies.zip
|
|
rm -f windows-dependencies.zip
|
|
displayName: 'Download dependencies'
|
|
workingDirectory: $(Build.ArtifactStagingDirectory)
|
|
- script: $(Build.ArtifactStagingDirectory)\windows-dependencies\vcpkg.exe integrate install
|
|
displayName: 'Install dependencies'
|
|
- task: VSBuild@1
|
|
displayName: 'Build'
|
|
inputs:
|
|
solution: 'projects/openttd_vs141.sln'
|
|
platform: $(BuildPlatform)
|
|
configuration: Release
|
|
maximumCpuCount: true
|
|
# Running the regression is currently not possibe via MSVC (console is not redirected)
|
|
|
|
- job: linux
|
|
displayName: 'Linux'
|
|
pool:
|
|
vmImage: 'ubuntu-16.04'
|
|
|
|
strategy:
|
|
matrix:
|
|
commit-checker: {}
|
|
linux-amd64-clang-3.8: {}
|
|
linux-amd64-gcc-6: {}
|
|
linux-i386-gcc-6: {}
|
|
|
|
steps:
|
|
# Rebase to origin/master for every PR. This means users don't have to
|
|
# rebase every time master changes. As long as the PR applies cleanly, we
|
|
# will validate it.
|
|
- script: |
|
|
git config user.email 'info@openttd.org'
|
|
git config user.name 'OpenTTD CI'
|
|
git rebase origin/master
|
|
displayName: 'Rebase to master'
|
|
- task: Docker@1
|
|
displayName: 'Build and test'
|
|
inputs:
|
|
command: 'Run an image'
|
|
imageName: openttd/compile-farm-ci:$(Agent.JobName)
|
|
volumes: '$(Build.SourcesDirectory):$(Build.SourcesDirectory)'
|
|
workingDirectory: '$(Build.SourcesDirectory)'
|
|
runInBackground: false
|
|
|
|
- job: macos
|
|
displayName: 'MacOS'
|
|
pool:
|
|
vmImage: 'macOS-10.13'
|
|
|
|
steps:
|
|
# Rebase to origin/master for every PR. This means users don't have to
|
|
# rebase every time master changes. As long as the PR applies cleanly, we
|
|
# will validate it.
|
|
- script: |
|
|
git config user.email 'info@openttd.org'
|
|
git config user.name 'OpenTTD CI'
|
|
git rebase origin/master
|
|
displayName: 'Rebase to master'
|
|
- script: HOMEBREW_NO_AUTO_UPDATE=1 brew install pkg-config lzo xz libpng
|
|
displayName: 'Install dependencies'
|
|
- bash: |
|
|
set -ex
|
|
mkdir -p ~/Documents/OpenTTD/baseset
|
|
cd ~/Documents/OpenTTD/baseset
|
|
wget https://binaries.openttd.org/extra/opengfx/0.5.2/opengfx-0.5.2-all.zip
|
|
unzip opengfx-0.5.2-all.zip
|
|
rm -f opengfx-0.5.2-all.zip
|
|
displayName: 'Install OpenGFX'
|
|
- script: './configure PKG_CONFIG_PATH=/usr/local/lib/pkgconfig --enable-static'
|
|
displayName: 'Configure'
|
|
- script: 'make -j2'
|
|
displayName: 'Build'
|
|
- script: 'make regression'
|
|
displayName: 'Test'
|