You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

128 lines
4.3 KiB

# Starter pipeline
# Start with a minimal pipeline that you can customize to build and deploy your code.
# Add steps that build, run tests, deploy, and more:
# https://aka.ms/yaml
trigger:
- master
stages:
#- stage: 'Build_Test_Stage'
# jobs:
# - job: 'Build_Test'
# pool:
# vmImage: 'ubuntu-16.04'
# displayName: 'Test Xournal++ on Linux'
# steps:
# - bash: |
# sudo apt-get update
# sudo apt-get install -y cmake libcppunit-dev libgtk-3-dev libpoppler-glib-dev portaudio19-dev libsndfile-dev liblua5.3-dev libzip-dev
# displayName: 'Install dependencies'
# - bash: |
# mkdir build
# displayName: 'Create build directory'
# - bash: |
# cmake .. -DCMAKE_DEBUG_INCLUDES_LDFLAGS=ON -DENABLE_CPPUNIT=ON -DDEBUG_COMPILE=ON
# make -j `grep processor /proc/cpuinfo | tail -c 2`
# workingDirectory: ./build
# displayName: 'Build Xournal++'
# - bash: |
# ctest
# workingDirectory: ./build
# displayName: 'Run tests'
- stage: Release
jobs:
- job: Linux
pool:
vmImage: 'ubuntu-16.04'
displayName: 'Build for Linux'
steps:
- bash: |
sudo apt-get update
sudo apt-get install -y cmake libcppunit-dev libgtk-3-dev libpoppler-glib-dev portaudio19-dev libsndfile-dev liblua5.3-dev libzip-dev
displayName: 'Install dependencies'
- bash: |
mkdir build
displayName: 'Create build directory'
- bash: |
cmake ..
make
workingDirectory: ./build
displayName: 'Build Xournal++'
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: './build'
ArtifactName: 'release_linux'
publishLocation: 'Container'
displayName: 'Publish Linux Build'
- job: Windows
pool:
vmImage: 'vs2017-win2016'
x86_64:
MSYSTEM: MINGW64
MSYS2_ARCH: x86_64
displayName: 'Build for Windows'
steps:
- script: |
choco install msys2 --params="/InstallDir:%CD:~0,2%\msys64 /NoUpdate /NoPath"
displayName: 'Install MSYS2'
- script: |
set PATH=%CD:~0,2%\msys64\usr\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem
%CD:~0,2%\msys64\usr\bin\pacman -Syuu --noconfirm
%CD:~0,2%\msys64\usr\bin\pacman -S --noconfirm mingw-w64-x86_64-cmake make mingw-w64-x86_64-toolchain
%CD:~0,2%\msys64\usr\bin\pacman -S --noconfirm --needed base-devel mingw-w64-x86_64-toolchain mingw-w64-x86_64-cmake
%CD:~0,2%\msys64\usr\bin\pacman -S --noconfirm mingw-w64-x86_64-poppler mingw-w64-x86_64-gtk3 mingw-w64-x86_64-libsndfile mingw-w64-x86_64-libzip
env:
MSYS2_ARCH: $(MSYS2_ARCH)
MSYSTEM: $(MSYSTEM)
CHERE_INVOKING: yes
displayName: 'Install dependencies on Windows'
- script: |
set PATH=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem
%CD:~0,2%\msys64\usr\bin\bash -lc "./build-portaudio.sh"
workingDirectory: ./windows-setup
env:
MSYS2_ARCH: $(MSYS2_ARCH)
MSYSTEM: $(MSYSTEM)
CHERE_INVOKING: yes
displayName: 'Build Portaudio'
- script: |
set PATH=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem
%CD:~0,2%\msys64\usr\bin\bash -lc "mkdir build"
displayName: 'Create build directory'
- script: |
set PATH=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem
%CD:~0,2%\msys64\usr\bin\bash -lc "cmake ..""
%CD:~0,2%\msys64\usr\bin\bash -lc "make"
workingDirectory: ./build
env:
MSYS2_ARCH: $(MSYS2_ARCH)
MSYSTEM: $(MSYSTEM)
CHERE_INVOKING: yes
displayName: 'Build Xournal++'
- script: |
set PATH=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem
%CD:~0,2%\msys64\usr\bin\bash -lc "./build-setup.sh"
workingDirectory: ./windows-setup
env:
MSYS2_ARCH: $(MSYS2_ARCH)
MSYSTEM: $(MSYSTEM)
CHERE_INVOKING: yes
displayName: 'Create Setup'
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: './build'
ArtifactName: 'release_windows'
publishLocation: 'Container'
displayName: 'Publish Windows Build'
- job: macOS
pool:
vmImage: 'macOS-10.13'
displayName: 'Build for macOS'
steps:
- bash: |
echo !!!TODO!!!
displayName: 'Install dependencies on macOS'