mirror of
https://github.com/YACReader/yacreader
synced 2025-12-04 08:22:51 -05:00
Remove Azure Pipelines integration
Some checks failed
Build / Initialization (push) Has been cancelled
Build / Code Format Validation (push) Has been cancelled
Build / Linux (Qt5) (push) Has been cancelled
Build / Linux (Qt6) (push) Has been cancelled
Build / Linux (Qt6 + 7zip) (push) Has been cancelled
Build / macOS (Qt6 Universal) (push) Has been cancelled
Build / macOS (Qt5) (push) Has been cancelled
Build / Windows x64 (Qt5) (push) Has been cancelled
Build / Windows x64 (Qt6) (push) Has been cancelled
Build / Windows x86 (Qt5) (push) Has been cancelled
Build / Docker amd64 Image (push) Has been cancelled
Build / Docker arm64 Image (push) Has been cancelled
Build / Publish Dev Builds (push) Has been cancelled
Build / Publish Release (push) Has been cancelled
Some checks failed
Build / Initialization (push) Has been cancelled
Build / Code Format Validation (push) Has been cancelled
Build / Linux (Qt5) (push) Has been cancelled
Build / Linux (Qt6) (push) Has been cancelled
Build / Linux (Qt6 + 7zip) (push) Has been cancelled
Build / macOS (Qt6 Universal) (push) Has been cancelled
Build / macOS (Qt5) (push) Has been cancelled
Build / Windows x64 (Qt5) (push) Has been cancelled
Build / Windows x64 (Qt6) (push) Has been cancelled
Build / Windows x86 (Qt5) (push) Has been cancelled
Build / Docker amd64 Image (push) Has been cancelled
Build / Docker arm64 Image (push) Has been cancelled
Build / Publish Dev Builds (push) Has been cancelled
Build / Publish Release (push) Has been cancelled
This commit is contained in:
@ -1,12 +0,0 @@
|
|||||||
steps:
|
|
||||||
- task: PowerShell@2
|
|
||||||
inputs:
|
|
||||||
targetType: inline
|
|
||||||
script: |
|
|
||||||
$date = (Get-Date).ToString("yyMMdd")
|
|
||||||
$previousBuildNumber = $($env:BUILD_BUILDNUMBER)
|
|
||||||
|
|
||||||
$buildNumberParts = $($env:BUILD_BUILDNUMBER) -split '\.'
|
|
||||||
$revision = [int]$buildNumberParts[$buildNumberParts.Length-1]
|
|
||||||
$newBuildNumber = "$date$revision"
|
|
||||||
Write-Host "##vso[build.updatebuildnumber]$newBuildNumber"
|
|
||||||
@ -1,81 +0,0 @@
|
|||||||
parameters:
|
|
||||||
name: Windows_x64
|
|
||||||
architecture: 'x64'
|
|
||||||
qt_version: '6.2.2'
|
|
||||||
qt_spec: 'msvc2019_64'
|
|
||||||
qt_aqt_spec: 'win64_msvc2019_64'
|
|
||||||
vc_redist_url: 'https://aka.ms/vs/17/release/vc_redist.x64.exe'
|
|
||||||
vc_redist_file_name: 'vc_redist.x64.exe'
|
|
||||||
vc_vars: 'vcvars64.bat'
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
- job: ${{ parameters.name }}
|
|
||||||
timeoutInMinutes: 90
|
|
||||||
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: windows-codesign
|
|
||||||
pool:
|
|
||||||
vmImage: 'windows-2019'
|
|
||||||
steps:
|
|
||||||
- task: UsePythonVersion@0
|
|
||||||
inputs:
|
|
||||||
versionSpec: '3.10'
|
|
||||||
architecture: 'x64'
|
|
||||||
- script: |
|
|
||||||
pip install -U pip
|
|
||||||
pip install aqtinstall
|
|
||||||
mkdir C:\Qt
|
|
||||||
python -m aqt install-qt windows desktop ${{ parameters.qt_version }} ${{ parameters.qt_aqt_spec }} -O c:\Qt -m qt5compat qtmultimedia qtimageformats
|
|
||||||
dir C:\Qt\${{ parameters.qt_version }}\${{ parameters.qt_spec }}\bin
|
|
||||||
choco install -y wget
|
|
||||||
choco install innosetup
|
|
||||||
mkdir $(Build.SourcesDirectory)\compressed_archive
|
|
||||||
wget "https://github.com/YACReader/yacreader-7z-deps/blob/main/7z2301-src.7z?raw=true" -O $(Build.SourcesDirectory)\compressed_archive\7z2301-src.7z
|
|
||||||
7z x $(Build.SourcesDirectory)\compressed_archive\7z2301-src.7z -o$(Build.SourcesDirectory)\compressed_archive\lib7zip
|
|
||||||
wget "${{ parameters.vc_redist_url }}" -O $(Build.SourcesDirectory)\${{ parameters.vc_redist_file_name }}
|
|
||||||
displayName: 'Install dependencies'
|
|
||||||
- script: |
|
|
||||||
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\${{ parameters.vc_vars }}"
|
|
||||||
set PATH=C:\Qt\${{ parameters.qt_version }}\${{ parameters.qt_spec }}\bin;%PATH%
|
|
||||||
set DEFINES_VAR=DEFINES+="BUILD_NUMBER=\\\\\\\"$(Build.BuildNumber)\\\\\\\""
|
|
||||||
qmake CONFIG+="7zip" %DEFINES_VAR%
|
|
||||||
nmake
|
|
||||||
displayName: 'Build'
|
|
||||||
- script: |
|
|
||||||
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\${{ parameters.vc_vars }}"
|
|
||||||
set PATH=C:\Qt\${{ parameters.qt_version }}\${{ parameters.qt_spec }}\bin;%PATH%
|
|
||||||
nmake check TESTARGS="-maxwarnings 100000"
|
|
||||||
displayName: 'Run tests'
|
|
||||||
- ${{ 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: DownloadSecureFile@1
|
|
||||||
name: pfxFile
|
|
||||||
displayName: 'Get the pfx file certificate'
|
|
||||||
inputs:
|
|
||||||
secureFile: 'certificate.pfx'
|
|
||||||
- ${{ 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'))) }}:
|
|
||||||
- script: |
|
|
||||||
set PATH=C:\Qt\${{ parameters.qt_version }}\${{ parameters.qt_spec }}\bin;%PATH%
|
|
||||||
cd $(Build.SourcesDirectory)\ci\win
|
|
||||||
.\create_installer.cmd ${{ parameters.architecture }} 7z $(Build.BuildNumber) qt6 $(pfxFile.secureFilePath) %PASSWORD%
|
|
||||||
env:
|
|
||||||
PASSWORD: $(pfxPassword)
|
|
||||||
displayName: 'Create installer'
|
|
||||||
- ${{ else }}:
|
|
||||||
- script: |
|
|
||||||
set PATH=C:\Qt\${{ parameters.qt_version }}\${{ parameters.qt_spec }}\bin;%PATH%
|
|
||||||
cd $(Build.SourcesDirectory)\ci\win
|
|
||||||
.\create_installer.cmd ${{ parameters.architecture }} 7z $(Build.BuildNumber) qt6
|
|
||||||
displayName: 'Create installer'
|
|
||||||
- task: CopyFiles@2
|
|
||||||
inputs:
|
|
||||||
sourceFolder: $(Build.SourcesDirectory)\ci\win\Output\
|
|
||||||
contents: '*'
|
|
||||||
targetFolder: $(Build.ArtifactStagingDirectory)
|
|
||||||
- task: PublishPipelineArtifact@1
|
|
||||||
inputs:
|
|
||||||
path: $(Build.ArtifactStagingDirectory)
|
|
||||||
artifactName: Windows ${{ parameters.architecture }} $(Build.BuildNumber) 7z Qt6 Installer
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -1,81 +0,0 @@
|
|||||||
parameters:
|
|
||||||
name: Windows_x64
|
|
||||||
architecture: 'x64'
|
|
||||||
qt_version: '5.15.2'
|
|
||||||
qt_spec: 'msvc2019_64'
|
|
||||||
qt_aqt_spec: 'win64_msvc2019_64'
|
|
||||||
vc_redist_url: 'https://aka.ms/vs/17/release/vc_redist.x64.exe'
|
|
||||||
vc_redist_file_name: 'vc_redist.x64.exe'
|
|
||||||
vc_vars: 'vcvars64.bat'
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
- job: ${{ parameters.name }}
|
|
||||||
timeoutInMinutes: 90
|
|
||||||
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: windows-codesign
|
|
||||||
pool:
|
|
||||||
vmImage: 'windows-2019'
|
|
||||||
steps:
|
|
||||||
- task: UsePythonVersion@0
|
|
||||||
inputs:
|
|
||||||
versionSpec: '3.10'
|
|
||||||
architecture: 'x64'
|
|
||||||
- script: |
|
|
||||||
pip install -U pip
|
|
||||||
pip install aqtinstall
|
|
||||||
mkdir C:\Qt
|
|
||||||
python -m aqt install-qt windows desktop ${{ parameters.qt_version }} ${{ parameters.qt_aqt_spec }} -O c:\Qt
|
|
||||||
dir C:\Qt\${{ parameters.qt_version }}\${{ parameters.qt_spec }}\bin
|
|
||||||
choco install -y wget
|
|
||||||
choco install innosetup
|
|
||||||
mkdir $(Build.SourcesDirectory)\compressed_archive
|
|
||||||
wget "https://github.com/YACReader/yacreader-7z-deps/blob/main/7z2301-src.7z?raw=true" -O $(Build.SourcesDirectory)\compressed_archive\7z2301-src.7z
|
|
||||||
7z x $(Build.SourcesDirectory)\compressed_archive\7z2301-src.7z -o$(Build.SourcesDirectory)\compressed_archive\lib7zip
|
|
||||||
wget "${{ parameters.vc_redist_url }}" -O $(Build.SourcesDirectory)\${{ parameters.vc_redist_file_name }}
|
|
||||||
displayName: 'Install dependencies'
|
|
||||||
- script: |
|
|
||||||
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\${{ parameters.vc_vars }}"
|
|
||||||
set PATH=C:\Qt\${{ parameters.qt_version }}\${{ parameters.qt_spec }}\bin;%PATH%
|
|
||||||
set DEFINES_VAR=DEFINES+="BUILD_NUMBER=\\\\\\\"$(Build.BuildNumber)\\\\\\\""
|
|
||||||
qmake CONFIG+="7zip" %DEFINES_VAR%
|
|
||||||
nmake
|
|
||||||
displayName: 'Build'
|
|
||||||
- script: |
|
|
||||||
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\${{ parameters.vc_vars }}"
|
|
||||||
set PATH=C:\Qt\${{ parameters.qt_version }}\${{ parameters.qt_spec }}\bin;%PATH%
|
|
||||||
nmake check TESTARGS="-maxwarnings 100000"
|
|
||||||
displayName: 'Run tests'
|
|
||||||
- ${{ 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: DownloadSecureFile@1
|
|
||||||
name: pfxFile
|
|
||||||
displayName: 'Get the pfx file certificate'
|
|
||||||
inputs:
|
|
||||||
secureFile: 'certificate.pfx'
|
|
||||||
- ${{ 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'))) }}:
|
|
||||||
- script: |
|
|
||||||
set PATH=C:\Qt\${{ parameters.qt_version }}\${{ parameters.qt_spec }}\bin;%PATH%
|
|
||||||
cd $(Build.SourcesDirectory)\ci\win
|
|
||||||
.\create_installer.cmd ${{ parameters.architecture }} 7z $(Build.BuildNumber) qt5 $(pfxFile.secureFilePath) %PASSWORD%
|
|
||||||
env:
|
|
||||||
PASSWORD: $(pfxPassword)
|
|
||||||
displayName: 'Create installer'
|
|
||||||
- ${{ else }}:
|
|
||||||
- script: |
|
|
||||||
set PATH=C:\Qt\${{ parameters.qt_version }}\${{ parameters.qt_spec }}\bin;%PATH%
|
|
||||||
cd $(Build.SourcesDirectory)\ci\win
|
|
||||||
.\create_installer.cmd ${{ parameters.architecture }} 7z $(Build.BuildNumber) qt5
|
|
||||||
displayName: 'Create installer'
|
|
||||||
- task: CopyFiles@2
|
|
||||||
inputs:
|
|
||||||
sourceFolder: $(Build.SourcesDirectory)\ci\win\Output\
|
|
||||||
contents: '*'
|
|
||||||
targetFolder: $(Build.ArtifactStagingDirectory)
|
|
||||||
- task: PublishPipelineArtifact@1
|
|
||||||
inputs:
|
|
||||||
path: $(Build.ArtifactStagingDirectory)
|
|
||||||
artifactName: Windows ${{ parameters.architecture }} $(Build.BuildNumber) 7z Installer
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -1,475 +0,0 @@
|
|||||||
# 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:
|
|
||||||
|
|
||||||
#
|
|
||||||
# Initialization
|
|
||||||
#
|
|
||||||
|
|
||||||
- job: Initialization
|
|
||||||
pool:
|
|
||||||
vmImage: 'windows-2022'
|
|
||||||
steps:
|
|
||||||
- template: azure-pipelines-build-number.yml
|
|
||||||
|
|
||||||
#
|
|
||||||
# CodeFormatValidation
|
|
||||||
#
|
|
||||||
|
|
||||||
- job: CodeFormatValidation
|
|
||||||
dependsOn: Initialization
|
|
||||||
pool:
|
|
||||||
vmImage: 'macOS-latest'
|
|
||||||
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'
|
|
||||||
|
|
||||||
#
|
|
||||||
# Linux
|
|
||||||
#
|
|
||||||
|
|
||||||
- job: Linux
|
|
||||||
timeoutInMinutes: 90
|
|
||||||
dependsOn: CodeFormatValidation
|
|
||||||
pool:
|
|
||||||
vmImage: 'ubuntu-22.04'
|
|
||||||
steps:
|
|
||||||
- script: |
|
|
||||||
sudo apt-get update
|
|
||||||
sudo apt-get install -y qtchooser qtbase5-dev-tools qt5-qmake \
|
|
||||||
qtbase5-dev qtmultimedia5-dev libpoppler-qt5-dev qttools5-dev-tools \
|
|
||||||
libqt5opengl5-dev libunarr-dev qtdeclarative5-dev libqt5svg5-dev qtquickcontrols2-5-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
|
|
||||||
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'
|
|
||||||
- script: |
|
|
||||||
make check TESTARGS="-maxwarnings 100000"
|
|
||||||
displayName: 'Run tests'
|
|
||||||
- task: CopyFiles@2
|
|
||||||
inputs:
|
|
||||||
sourceFolder: $(Build.SourcesDirectory)/tarball
|
|
||||||
contents: '*'
|
|
||||||
targetFolder: $(Build.ArtifactStagingDirectory)
|
|
||||||
- task: PublishPipelineArtifact@1
|
|
||||||
inputs:
|
|
||||||
path: $(Build.ArtifactStagingDirectory)
|
|
||||||
artifactName: src $(Build.BuildNumber) tarball
|
|
||||||
|
|
||||||
#
|
|
||||||
# Linux qt6
|
|
||||||
#
|
|
||||||
|
|
||||||
- job: Linux_qt6
|
|
||||||
timeoutInMinutes: 90
|
|
||||||
dependsOn: CodeFormatValidation
|
|
||||||
pool:
|
|
||||||
vmImage: 'ubuntu-24.04'
|
|
||||||
steps:
|
|
||||||
- script: |
|
|
||||||
sudo apt-get update
|
|
||||||
sudo apt-get install -y qtchooser qt6-tools-dev qt6-base-dev-tools qmake6 qmake6-bin \
|
|
||||||
qt6-base-dev qt6-multimedia-dev qt6-tools-dev-tools libgl-dev qt6-l10n-tools \
|
|
||||||
libqt6opengl6-dev libunarr-dev qt6-declarative-dev libqt6svg6-dev libqt6core5compat6-dev libpoppler-qt6-dev
|
|
||||||
displayName: 'Install dependencies'
|
|
||||||
- script: |
|
|
||||||
qtchooser -list-versions
|
|
||||||
export DEFINES_VAR=DEFINES+\=\"BUILD_NUMBER=\\\\\\\"$(Build.BuildNumber)\\\\\\\"\"
|
|
||||||
qmake6 CONFIG+="unarr" $DEFINES_VAR
|
|
||||||
qmake6 -v
|
|
||||||
make
|
|
||||||
displayName: 'Build'
|
|
||||||
- script: |
|
|
||||||
make check TESTARGS="-maxwarnings 100000"
|
|
||||||
displayName: 'Run tests'
|
|
||||||
|
|
||||||
#
|
|
||||||
# Linux qt6 7zip
|
|
||||||
#
|
|
||||||
|
|
||||||
- job: Linux_qt6_7zip
|
|
||||||
timeoutInMinutes: 90
|
|
||||||
dependsOn: CodeFormatValidation
|
|
||||||
pool:
|
|
||||||
vmImage: 'ubuntu-24.04'
|
|
||||||
steps:
|
|
||||||
- script: |
|
|
||||||
sudo apt-get update
|
|
||||||
sudo apt-get install -y qtchooser qt6-tools-dev qt6-base-dev-tools qmake6 qmake6-bin \
|
|
||||||
qt6-base-dev qt6-multimedia-dev qt6-tools-dev-tools libgl-dev qt6-l10n-tools \
|
|
||||||
libqt6opengl6-dev libunarr-dev qt6-declarative-dev libqt6svg6-dev libqt6core5compat6-dev libpoppler-qt6-dev
|
|
||||||
mkdir $(Build.SourcesDirectory)\compressed_archive
|
|
||||||
wget "https://github.com/YACReader/yacreader-7z-deps/blob/main/7z2301-src.7z?raw=true" -O $(Build.SourcesDirectory)/compressed_archive/7z2301-src.7z
|
|
||||||
7z x $(Build.SourcesDirectory)/compressed_archive/7z2301-src.7z -o$(Build.SourcesDirectory)/compressed_archive/lib7zip
|
|
||||||
displayName: 'Install dependencies'
|
|
||||||
- script: |
|
|
||||||
qtchooser -list-versions
|
|
||||||
export DEFINES_VAR=DEFINES+\=\"BUILD_NUMBER=\\\\\\\"$(Build.BuildNumber)\\\\\\\"\"
|
|
||||||
qmake6 CONFIG+="7zip" $DEFINES_VAR
|
|
||||||
qmake6 -v
|
|
||||||
make
|
|
||||||
displayName: 'Build'
|
|
||||||
- script: |
|
|
||||||
make check TESTARGS="-maxwarnings 100000"
|
|
||||||
displayName: 'Run tests'
|
|
||||||
|
|
||||||
#
|
|
||||||
# MacOS Qt6(universal)
|
|
||||||
#
|
|
||||||
|
|
||||||
- job: MacOS_qt6_Universal
|
|
||||||
timeoutInMinutes: 90
|
|
||||||
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-14'
|
|
||||||
steps:
|
|
||||||
- script: |
|
|
||||||
pip3 install aqtinstall
|
|
||||||
python3 -m aqt install-qt mac desktop 6.3.1 -m qt5compat qtmultimedia qtimageformats
|
|
||||||
echo '##vso[task.prependpath]$(Build.SourcesDirectory)/6.3.1/macos/bin'
|
|
||||||
brew install create-dmg
|
|
||||||
brew install node
|
|
||||||
brew link --overwrite node
|
|
||||||
npm install -g appdmg
|
|
||||||
mkdir $(Build.SourcesDirectory)\compressed_archive
|
|
||||||
wget "https://github.com/YACReader/yacreader-7z-deps/blob/main/7z2301-src.7z?raw=true" -O $(Build.SourcesDirectory)/compressed_archive/7z2301-src.7z
|
|
||||||
7z x $(Build.SourcesDirectory)/compressed_archive/7z2301-src.7z -o$(Build.SourcesDirectory)/compressed_archive/lib7zip
|
|
||||||
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: |
|
|
||||||
MACOSX_DEPLOYMENT_TARGET=11
|
|
||||||
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 Qt6 universal
|
|
||||||
displayName: 'Build'
|
|
||||||
- script: |
|
|
||||||
cd $(Build.SourcesDirectory)/tests
|
|
||||||
qmake
|
|
||||||
make check TESTARGS="-maxwarnings 100000"
|
|
||||||
displayName: 'Build and run tests'
|
|
||||||
- script: |
|
|
||||||
SKIP_CODESIGN="$(tr [A-Z] [a-z] <<< "$IS_FORK")"
|
|
||||||
if [ "$SKIP_CODESIGN" = false ]; then
|
|
||||||
xcrun notarytool submit *.dmg --apple-id $(AppleId) --team-id $(TeamId) --password $(AppPassword) --wait
|
|
||||||
xcrun stapler staple *.dmg
|
|
||||||
fi
|
|
||||||
displayName: 'Notarize'
|
|
||||||
- task: CopyFiles@2
|
|
||||||
inputs:
|
|
||||||
contents: '*.dmg'
|
|
||||||
targetFolder: $(Build.ArtifactStagingDirectory)
|
|
||||||
- task: PublishPipelineArtifact@1
|
|
||||||
inputs:
|
|
||||||
path: $(Build.ArtifactStagingDirectory)
|
|
||||||
artifactName: Macos qt6 universal $(Build.BuildNumber) dmg
|
|
||||||
|
|
||||||
#
|
|
||||||
# MacOS
|
|
||||||
#
|
|
||||||
|
|
||||||
- job: MacOS
|
|
||||||
timeoutInMinutes: 90
|
|
||||||
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-14'
|
|
||||||
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
|
|
||||||
mkdir $(Build.SourcesDirectory)\compressed_archive
|
|
||||||
wget "https://github.com/YACReader/yacreader-7z-deps/blob/main/7z2301-src.7z?raw=true" -O $(Build.SourcesDirectory)/compressed_archive/7z2301-src.7z
|
|
||||||
7z x $(Build.SourcesDirectory)/compressed_archive/7z2301-src.7z -o$(Build.SourcesDirectory)/compressed_archive/lib7zip
|
|
||||||
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: |
|
|
||||||
MACOSX_DEPLOYMENT_TARGET=10.13
|
|
||||||
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 Qt5 x86_64
|
|
||||||
displayName: 'Build'
|
|
||||||
- script: |
|
|
||||||
cd $(Build.SourcesDirectory)/tests
|
|
||||||
qmake
|
|
||||||
make check TESTARGS="-maxwarnings 100000"
|
|
||||||
displayName: 'Build and run tests'
|
|
||||||
- script: |
|
|
||||||
SKIP_CODESIGN="$(tr [A-Z] [a-z] <<< "$IS_FORK")"
|
|
||||||
if [ "$SKIP_CODESIGN" = false ]; then
|
|
||||||
xcrun notarytool submit *.dmg --apple-id $(AppleId) --team-id $(TeamId) --password $(AppPassword) --wait
|
|
||||||
xcrun stapler staple *.dmg
|
|
||||||
fi
|
|
||||||
displayName: 'Notarize'
|
|
||||||
- task: CopyFiles@2
|
|
||||||
inputs:
|
|
||||||
contents: '*.dmg'
|
|
||||||
targetFolder: $(Build.ArtifactStagingDirectory)
|
|
||||||
- task: PublishPipelineArtifact@1
|
|
||||||
inputs:
|
|
||||||
path: $(Build.ArtifactStagingDirectory)
|
|
||||||
artifactName: Macos $(Build.BuildNumber) dmg
|
|
||||||
|
|
||||||
#
|
|
||||||
# Windows x64
|
|
||||||
#
|
|
||||||
|
|
||||||
- template: azure-pipelines-windows-template.yml
|
|
||||||
parameters:
|
|
||||||
name: Windows_x64
|
|
||||||
architecture: 'x64'
|
|
||||||
qt_version: '5.15.2'
|
|
||||||
qt_spec: 'msvc2019_64'
|
|
||||||
qt_aqt_spec: 'win64_msvc2019_64'
|
|
||||||
vc_redist_url: 'https://aka.ms/vs/17/release/vc_redist.x64.exe'
|
|
||||||
vc_redist_file_name: 'vc_redist.x64.exe'
|
|
||||||
vc_vars: 'vcvars64.bat'
|
|
||||||
|
|
||||||
#
|
|
||||||
# Windows x64 qt6
|
|
||||||
#
|
|
||||||
|
|
||||||
- template: azure-pipelines-windows-template-qt6.yml
|
|
||||||
parameters:
|
|
||||||
name: Windows_x64_qt6
|
|
||||||
architecture: 'x64'
|
|
||||||
qt_version: '6.3.1'
|
|
||||||
qt_spec: 'msvc2019_64'
|
|
||||||
qt_aqt_spec: 'win64_msvc2019_64'
|
|
||||||
vc_redist_url: 'https://aka.ms/vs/17/release/vc_redist.x64.exe'
|
|
||||||
vc_redist_file_name: 'vc_redist.x64.exe'
|
|
||||||
vc_vars: 'vcvars64.bat'
|
|
||||||
|
|
||||||
#
|
|
||||||
# Windows x86
|
|
||||||
#
|
|
||||||
|
|
||||||
- template: azure-pipelines-windows-template.yml
|
|
||||||
parameters:
|
|
||||||
name: Windows_x86
|
|
||||||
architecture: 'x86'
|
|
||||||
qt_version: '5.15.2'
|
|
||||||
qt_spec: 'msvc2019'
|
|
||||||
qt_aqt_spec: 'win32_msvc2019'
|
|
||||||
vc_redist_url: 'https://aka.ms/vs/17/release/vc_redist.x86.exe'
|
|
||||||
vc_redist_file_name: 'vc_redist.x86.exe'
|
|
||||||
vc_vars: 'vcvars32.bat'
|
|
||||||
|
|
||||||
#
|
|
||||||
# Docker amd64
|
|
||||||
#
|
|
||||||
|
|
||||||
- job: Docker_Amd64_Image
|
|
||||||
timeoutInMinutes: 360
|
|
||||||
dependsOn: CodeFormatValidation
|
|
||||||
displayName: 'Build amd64 Docker Image'
|
|
||||||
pool:
|
|
||||||
vmImage: 'ubuntu-latest'
|
|
||||||
steps:
|
|
||||||
- script: |
|
|
||||||
cd $(Build.SourcesDirectory)/docker/
|
|
||||||
docker build --no-cache --platform linux/amd64 -f Dockerfile -t yacreader/yacreaderlibraryserver:develop-amd64 .
|
|
||||||
docker save yacreader/yacreaderlibraryserver:develop-amd64 -o $(Build.ArtifactStagingDirectory)/amd64.tar
|
|
||||||
displayName: 'Build amd64 Image and Save as Artifact'
|
|
||||||
- task: PublishPipelineArtifact@1
|
|
||||||
inputs:
|
|
||||||
targetPath: $(Build.ArtifactStagingDirectory)/amd64.tar
|
|
||||||
artifactName: amd64_image
|
|
||||||
displayName: 'Publish amd64 Image Artifact'
|
|
||||||
|
|
||||||
#
|
|
||||||
# Docker arm64
|
|
||||||
#
|
|
||||||
|
|
||||||
- job: Docker_Arm64_Image
|
|
||||||
timeoutInMinutes: 360
|
|
||||||
dependsOn: CodeFormatValidation
|
|
||||||
displayName: 'Build arm64 Docker Image'
|
|
||||||
pool:
|
|
||||||
vmImage: 'ubuntu-latest'
|
|
||||||
steps:
|
|
||||||
- script: |
|
|
||||||
cd $(Build.SourcesDirectory)/docker/
|
|
||||||
docker buildx create --use
|
|
||||||
docker buildx inspect --bootstrap
|
|
||||||
docker buildx build --no-cache --platform linux/arm64 -f Dockerfile.aarch64 -t yacreader/yacreaderlibraryserver:develop-arm64 --load .
|
|
||||||
docker save yacreader/yacreaderlibraryserver:develop-arm64 -o $(Build.ArtifactStagingDirectory)/arm64.tar
|
|
||||||
displayName: 'Build arm64 Image and Save as Artifact'
|
|
||||||
- task: PublishPipelineArtifact@1
|
|
||||||
inputs:
|
|
||||||
targetPath: $(Build.ArtifactStagingDirectory)/arm64.tar
|
|
||||||
artifactName: arm64_image
|
|
||||||
displayName: 'Publish arm64 Image Artifact'
|
|
||||||
|
|
||||||
#
|
|
||||||
# Dev builds publication
|
|
||||||
#
|
|
||||||
|
|
||||||
- ${{ 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
|
|
||||||
- Linux_qt6
|
|
||||||
- Linux_qt6_7zip
|
|
||||||
- MacOS
|
|
||||||
- MacOS_qt6_Universal
|
|
||||||
- Windows_x86
|
|
||||||
- Windows_x64
|
|
||||||
- Windows_x64_qt6
|
|
||||||
- Docker_Amd64_Image
|
|
||||||
- Docker_Arm64_Image
|
|
||||||
condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/develop'), true)
|
|
||||||
variables:
|
|
||||||
- group: github-releases
|
|
||||||
- group: docker-hub-credentials
|
|
||||||
pool:
|
|
||||||
vmImage: 'ubuntu-24.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 '"' ).$(Build.BuildNumber)"
|
|
||||||
echo "##vso[task.setvariable variable=VERSION]$VERSION"
|
|
||||||
displayName: 'Version'
|
|
||||||
- script: |
|
|
||||||
docker login -u $(dockerUser) -p $(dockerPassword)
|
|
||||||
|
|
||||||
for arch in amd64 arm64; do
|
|
||||||
docker load -i $(Build.ArtifactStagingDirectory)/${arch}.tar
|
|
||||||
docker push yacreader/yacreaderlibraryserver:develop-${arch}
|
|
||||||
rm $(Build.ArtifactStagingDirectory)/${arch}.tar
|
|
||||||
done
|
|
||||||
|
|
||||||
docker buildx create --use
|
|
||||||
|
|
||||||
docker buildx imagetools create \
|
|
||||||
-t yacreader/yacreaderlibraryserver:develop \
|
|
||||||
yacreader/yacreaderlibraryserver:develop-amd64 \
|
|
||||||
yacreader/yacreaderlibraryserver:develop-arm64
|
|
||||||
displayName: 'Push Docker manifest to develop tag'
|
|
||||||
- task: GitHubRelease@0
|
|
||||||
inputs:
|
|
||||||
gitHubConnection: yacreader-releases
|
|
||||||
repositoryName: YACReader/yacreader-dev-builds
|
|
||||||
title: $(VERSION)
|
|
||||||
target: '25313e3d4d03fcbe44d3943db23bc03bbd1a5205'
|
|
||||||
tagSource: 'manual'
|
|
||||||
tag: $(VERSION)
|
|
||||||
addChangeLog: false
|
|
||||||
|
|
||||||
#
|
|
||||||
# Release builds publication
|
|
||||||
#
|
|
||||||
|
|
||||||
- ${{ 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
|
|
||||||
- Linux_qt6
|
|
||||||
- Linux_qt6_7zip
|
|
||||||
- MacOS
|
|
||||||
- MacOS_qt6_Universal
|
|
||||||
- Windows_x86
|
|
||||||
- Windows_x64
|
|
||||||
- Windows_x64_qt6
|
|
||||||
- Docker_Amd64_Image
|
|
||||||
- Docker_Arm64_Image
|
|
||||||
condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master'))
|
|
||||||
variables:
|
|
||||||
- group: github-releases
|
|
||||||
- group: docker-hub-credentials
|
|
||||||
pool:
|
|
||||||
vmImage: 'ubuntu-24.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'
|
|
||||||
- script: |
|
|
||||||
docker login -u $(dockerUser) -p $(dockerPassword)
|
|
||||||
|
|
||||||
for arch in amd64 arm64; do
|
|
||||||
docker load -i $(Build.ArtifactStagingDirectory)/${arch}.tar
|
|
||||||
docker tag yacreader/yacreaderlibraryserver:develop-${arch} yacreader/yacreaderlibraryserver:latest-${arch}
|
|
||||||
docker push yacreader/yacreaderlibraryserver:latest-${arch}
|
|
||||||
rm $(Build.ArtifactStagingDirectory)/${arch}.tar
|
|
||||||
done
|
|
||||||
|
|
||||||
docker buildx create --use
|
|
||||||
|
|
||||||
docker buildx imagetools create \
|
|
||||||
-t yacreader/yacreaderlibraryserver:latest \
|
|
||||||
yacreader/yacreaderlibraryserver:latest-amd64 \
|
|
||||||
yacreader/yacreaderlibraryserver:latest-arm64
|
|
||||||
|
|
||||||
docker buildx imagetools create \
|
|
||||||
-t yacreader/yacreaderlibraryserver:$(VERSION) \
|
|
||||||
yacreader/yacreaderlibraryserver:latest-amd64 \
|
|
||||||
yacreader/yacreaderlibraryserver:latest-arm64
|
|
||||||
displayName: 'Push Docker manifest with latest and VERSION tags'
|
|
||||||
- task: GitHubRelease@0
|
|
||||||
inputs:
|
|
||||||
gitHubConnection: yacreader-releases
|
|
||||||
title: $(VERSION)
|
|
||||||
tagSource: 'manual'
|
|
||||||
tag: $(VERSION)
|
|
||||||
addChangeLog: false
|
|
||||||
Reference in New Issue
Block a user