mirror of
https://github.com/YACReader/yacreader
synced 2025-05-27 19:00:29 -04:00
Update Ubuntu VM to 18.04 and remove external kubuntu backports PPA previously used to get Qt packages. While we're at it, remove libglu1-mesa-dev package too. The external repo for libunarr is still needed as Ubuntu 18.04 does not package it yet (it is included in 20.04)
183 lines
7.3 KiB
YAML
183 lines
7.3 KiB
YAML
# aka.ms/yaml
|
|
trigger:
|
|
- master
|
|
- develop
|
|
|
|
variables:
|
|
is_original_repo: ${{ and(eq(variables['System.TeamFoundationCollectionUri'], 'https://dev.azure.com/luisangelsm/'), or(eq(variables['Build.SourceBranch'], 'refs/heads/master'), eq(variables['Build.SourceBranch'], 'refs/heads/develop'))) }}
|
|
is_fork: ${{ not(and(eq(variables['System.TeamFoundationCollectionUri'], 'https://dev.azure.com/luisangelsm/'), or(eq(variables['Build.SourceBranch'], 'refs/heads/master'), eq(variables['Build.SourceBranch'], 'refs/heads/develop')))) }}
|
|
|
|
jobs:
|
|
- job: Initialization
|
|
pool:
|
|
vmImage: 'vs2017-win2016'
|
|
steps:
|
|
- template: azure-pipelines-build-number.yml
|
|
- job: CodeFormatValidation
|
|
dependsOn: Initialization
|
|
pool:
|
|
vmImage: 'macOS-10.15'
|
|
steps:
|
|
- script: |
|
|
brew install clang-format
|
|
displayName: 'Install dependencies'
|
|
- script: |
|
|
cd $(Build.SourcesDirectory)
|
|
find . \( -name '*.h' -or -name '*.cpp' -or -name '*.c' -or -name '*.mm' -or -name '*.m' \) -print0 | xargs -0 clang-format -style=file -i
|
|
git diff $(Build.SourceVersion)
|
|
if [ "$(git diff $(Build.SourceVersion))" != "" ]; then exit 1; fi
|
|
displayName: 'clang-format'
|
|
- job: Linux
|
|
dependsOn: CodeFormatValidation
|
|
pool:
|
|
vmImage: 'ubuntu-18.04'
|
|
steps:
|
|
- script: |
|
|
sudo add-apt-repository 'deb http://download.opensuse.org/repositories/home:/selmf/xUbuntu_18.04/ /'
|
|
sudo apt-get update --allow-insecure-repositories
|
|
sudo apt-get install -y --allow-unauthenticated qt5-default qt5-qmake \
|
|
qtbase5-dev qtmultimedia5-dev libpoppler-qt5-dev \
|
|
libqt5opengl5-dev libunarr-dev qtdeclarative5-dev libqt5svg5-dev
|
|
displayName: 'Install dependencies'
|
|
- script: |
|
|
cd $(Build.SourcesDirectory)
|
|
VERSION="$(cat common/yacreader_global.h | grep '#define VERSION "' | tr -d '#define VERSION' | tr -d '"' )"
|
|
./mktarball.sh $VERSION.$(Build.BuildNumber)
|
|
mkdir tarball
|
|
cp yacreader-*-src.tar.xz* tarball\
|
|
displayName: 'Create tarball'
|
|
- script: |
|
|
export DEFINES_VAR=DEFINES+\=\"BUILD_NUMBER=\\\\\\\"$(Build.BuildNumber)\\\\\\\"\"
|
|
qmake CONFIG+="unarr" $DEFINES_VAR
|
|
make
|
|
displayName: 'Build'
|
|
- task: CopyFiles@2
|
|
inputs:
|
|
sourceFolder: $(Build.SourcesDirectory)/tarball
|
|
contents: '*'
|
|
targetFolder: $(Build.ArtifactStagingDirectory)
|
|
- task: PublishPipelineArtifact@1
|
|
inputs:
|
|
path: $(Build.ArtifactStagingDirectory)
|
|
artifactName: src $(Build.BuildNumber) tarball
|
|
- job: MacOS
|
|
dependsOn: CodeFormatValidation
|
|
variables:
|
|
- ${{ if and(eq(variables['System.TeamFoundationCollectionUri'], 'https://dev.azure.com/luisangelsm/'), or(eq(variables['Build.SourceBranch'], 'refs/heads/master'), eq(variables['Build.SourceBranch'], 'refs/heads/develop'))) }}:
|
|
- group: macos-codesign
|
|
pool:
|
|
vmImage: 'macOS-10.15'
|
|
steps:
|
|
- script: |
|
|
brew install qt@5
|
|
brew link qt@5 --force
|
|
brew install create-dmg
|
|
brew install node
|
|
brew link --overwrite node
|
|
npm install -g appdmg
|
|
wget "https://sourceforge.net/projects/p7zip/files/p7zip/16.02/p7zip_16.02_src_all.tar.bz2" -P $(Build.SourcesDirectory)/compressed_archive
|
|
tar xjf $(Build.SourcesDirectory)/compressed_archive/p7zip_16.02_src_all.tar.bz2 -C $(Build.SourcesDirectory)/compressed_archive
|
|
mv $(Build.SourcesDirectory)/compressed_archive/p7zip_16.02 $(Build.SourcesDirectory)/compressed_archive/libp7zip
|
|
displayName: 'Install dependencies'
|
|
- ${{ if and(eq(variables['System.TeamFoundationCollectionUri'], 'https://dev.azure.com/luisangelsm/'), or(eq(variables['Build.SourceBranch'], 'refs/heads/master'), eq(variables['Build.SourceBranch'], 'refs/heads/develop'))) }}:
|
|
- task: InstallAppleCertificate@2
|
|
inputs:
|
|
certSecureFile: 'developerID_application.p12'
|
|
certPwd: $(P12Password)
|
|
- script: |
|
|
cd $(Build.SourcesDirectory)
|
|
VERSION="$(cat common/yacreader_global.h | grep '#define VERSION "' | tr -d '#define VERSION' | tr -d '"' )"
|
|
echo "Trying to know if we are in a forked repo: $IS_FORK"
|
|
SKIP_CODESIGN="$(tr [A-Z] [a-z] <<< "$IS_FORK")"
|
|
./compileOSX.sh $VERSION $(Build.BuildNumber) $SKIP_CODESIGN
|
|
displayName: 'Build'
|
|
- task: CopyFiles@2
|
|
inputs:
|
|
contents: '*.dmg'
|
|
targetFolder: $(Build.ArtifactStagingDirectory)
|
|
- task: PublishPipelineArtifact@1
|
|
inputs:
|
|
path: $(Build.ArtifactStagingDirectory)
|
|
artifactName: Macos $(Build.BuildNumber) dmg
|
|
- template: azure-pipelines-windows-template.yml
|
|
parameters:
|
|
name: Windows_x64
|
|
architecture: 'x64'
|
|
qt_version: '5.12.6'
|
|
qt_spec: 'msvc2017_64'
|
|
qt_aqt_spec: 'win64_msvc2017_64'
|
|
vc_redist_url: 'https://go.microsoft.com/fwlink/?LinkId=746572'
|
|
vc_redist_file_name: 'vc_redist.x64.exe'
|
|
vc_vars: 'vcvars64.bat'
|
|
- template: azure-pipelines-windows-template.yml
|
|
parameters:
|
|
name: Windows_x86
|
|
architecture: 'x86'
|
|
qt_version: '5.12.6'
|
|
qt_spec: 'msvc2017'
|
|
qt_aqt_spec: 'win32_msvc2017'
|
|
vc_redist_url: 'https://go.microsoft.com/fwlink/?LinkId=746571'
|
|
vc_redist_file_name: 'vc_redist.x86.exe'
|
|
vc_vars: 'vcvars32.bat'
|
|
|
|
- ${{ if and(eq(variables['System.TeamFoundationCollectionUri'], 'https://dev.azure.com/luisangelsm/'), or(eq(variables['Build.SourceBranch'], 'refs/heads/master'), eq(variables['Build.SourceBranch'], 'refs/heads/develop'))) }}:
|
|
- job: PublishDevBuilds
|
|
dependsOn:
|
|
- Linux
|
|
- MacOS
|
|
- Windows_x86
|
|
- Windows_x64
|
|
condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/develop'), true)
|
|
variables:
|
|
- group: bintray
|
|
pool:
|
|
vmImage: 'ubuntu-16.04'
|
|
steps:
|
|
- task: DownloadPipelineArtifact@2
|
|
inputs:
|
|
buildType: 'current'
|
|
targetPath: $(Build.SourcesDirectory)/dev_bin
|
|
- script: |
|
|
ls -lah $(Build.SourcesDirectory)/dev_bin/**/*.*
|
|
- task: cURLUploader@2
|
|
inputs:
|
|
files: '$(Build.SourcesDirectory)/dev_bin/**/*.*'
|
|
authType: 'userAndPass'
|
|
username: $(username)
|
|
password: $(api-key)
|
|
options: -H "X-Bintray-Publish:1"
|
|
remotePath: ''
|
|
url: https://api.bintray.com/content/luisangelsm/YACReader/DevBuilds/$(Build.BuildNumber)/
|
|
|
|
- ${{ if and(eq(variables['System.TeamFoundationCollectionUri'], 'https://dev.azure.com/luisangelsm/'), or(eq(variables['Build.SourceBranch'], 'refs/heads/master'), eq(variables['Build.SourceBranch'], 'refs/heads/develop'))) }}:
|
|
- job: Release
|
|
dependsOn:
|
|
- Linux
|
|
- MacOS
|
|
- Windows_x86
|
|
- Windows_x64
|
|
condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master'))
|
|
variables:
|
|
- group: github-releases
|
|
pool:
|
|
vmImage: 'ubuntu-16.04'
|
|
steps:
|
|
- task: DownloadPipelineArtifact@2
|
|
inputs:
|
|
buildType: 'current'
|
|
targetPath: $(Build.ArtifactStagingDirectory)
|
|
- script: |
|
|
find $(Build.ArtifactStagingDirectory) -name '*.*' -exec cp {} $(Build.ArtifactStagingDirectory) \;
|
|
displayName: 'flatten artifact staging directory'
|
|
- script: |
|
|
VERSION="$(cat common/yacreader_global.h | grep '#define VERSION "' | tr -d '#define VERSION' | tr -d '"' )"
|
|
echo "##vso[task.setvariable variable=VERSION]$VERSION"
|
|
displayName: 'Version'
|
|
- task: GitHubRelease@0
|
|
inputs:
|
|
gitHubConnection: yacreader-releases
|
|
title: $(VERSION)
|
|
tagSource: 'manual'
|
|
tag: $(VERSION)
|
|
addChangeLog: false
|