commit
c08d87299b
1 changed files with 132 additions and 0 deletions
@ -0,0 +1,132 @@ |
||||
# 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' |
||||
displayName: 'Build for Windows' |
||||
steps: |
||||
- script: | |
||||
git clone https://github.com/msys2/msys2-ci-base.git %CD:~0,2%\msys64 |
||||
%CD:~0,2%\msys64\usr\bin\rm -rf %CD:~0,2%\msys64\.git |
||||
displayName: 'Install MSYS2' |
||||
- script: | |
||||
set PATH=%CD:~0,2%\msys64\usr\bin;%CD:~0,2%\msys64\mingw64\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem |
||||
%CD:~0,2%\msys64\usr\bin\pacman --noconfirm -Syuu |
||||
%CD:~0,2%\msys64\usr\bin\pacman --noconfirm -Syuu |
||||
%CD:~0,2%\msys64\usr\bin\pacman --noconfirm -S mingw-w64-x86_64-cmake make mingw-w64-x86_64-toolchain |
||||
%CD:~0,2%\msys64\usr\bin\pacman --noconfirm --needed -S base-devel mingw-w64-x86_64-toolchain mingw-w64-x86_64-cmake |
||||
%CD:~0,2%\msys64\usr\bin\pacman --noconfirm -S mingw-w64-x86_64-poppler mingw-w64-x86_64-gtk3 mingw-w64-x86_64-libsndfile mingw-w64-x86_64-libzip |
||||
%CD:~0,2%\msys64\usr\bin\pacman --noconfirm -Scc |
||||
env: |
||||
MSYS2_ARCH: x86_64 |
||||
MSYSTEM: MINGW64 |
||||
CHERE_INVOKING: yes |
||||
displayName: 'Install dependencies on Windows' |
||||
- script: | |
||||
set PATH=%PATH%;%CD:~0,2%\msys64\usr\bin;%CD:~0,2%\msys64\mingw64\bin" |
||||
%CD:~0,2%\msys64\usr\bin\bash -lc "./build-portaudio.sh" |
||||
workingDirectory: ./windows-setup |
||||
env: |
||||
MSYS2_ARCH: x86_64 |
||||
MSYSTEM: MINGW64 |
||||
CHERE_INVOKING: yes |
||||
displayName: 'Build Portaudio' |
||||
- script: | |
||||
set PATH=%PATH%;%CD:~0,2%\msys64\usr\bin;%CD:~0,2%\msys64\mingw64\bin" |
||||
%CD:~0,2%\msys64\usr\bin\bash -lc "mkdir build" |
||||
env: |
||||
MSYS2_ARCH: x86_64 |
||||
MSYSTEM: MINGW64 |
||||
CHERE_INVOKING: yes |
||||
displayName: 'Create build directory' |
||||
- script: | |
||||
set PATH=%PATH%;%CD:~0,2%\msys64\usr\bin;%CD:~0,2%\msys64\mingw64\bin" |
||||
%CD:~0,2%\msys64\usr\bin\bash -lc "cmake .." |
||||
%CD:~0,2%\msys64\usr\bin\bash -lc "make" |
||||
workingDirectory: ./build |
||||
env: |
||||
MSYS2_ARCH: x86_64 |
||||
MSYSTEM: MINGW64 |
||||
CHERE_INVOKING: yes |
||||
displayName: 'Build Xournal++' |
||||
- script: | |
||||
set PATH=%PATH%;%CD:~0,2%\msys64\usr\bin;%CD:~0,2%\msys64\mingw64\bin" |
||||
%CD:~0,2%\msys64\usr\bin\bash -lc "./build-setup.sh" |
||||
workingDirectory: ./windows-setup |
||||
env: |
||||
MSYS2_ARCH: x86_64 |
||||
MSYSTEM: MINGW64 |
||||
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' |
||||
Loading…
Reference in new issue