From 7ee7684900ac1e4e3b86434e6c4f690dea0b140a Mon Sep 17 00:00:00 2001 From: luisangelsm Date: Fri, 17 Oct 2025 20:28:08 +0200 Subject: [PATCH] Remove Azure Pipelines integration --- azure-pipelines-build-number.yml | 12 - azure-pipelines-windows-template-qt6.yml | 81 ---- azure-pipelines-windows-template.yml | 81 ---- azure-pipelines.yml | 475 ----------------------- 4 files changed, 649 deletions(-) delete mode 100644 azure-pipelines-build-number.yml delete mode 100644 azure-pipelines-windows-template-qt6.yml delete mode 100644 azure-pipelines-windows-template.yml delete mode 100644 azure-pipelines.yml diff --git a/azure-pipelines-build-number.yml b/azure-pipelines-build-number.yml deleted file mode 100644 index 94356add..00000000 --- a/azure-pipelines-build-number.yml +++ /dev/null @@ -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" \ No newline at end of file diff --git a/azure-pipelines-windows-template-qt6.yml b/azure-pipelines-windows-template-qt6.yml deleted file mode 100644 index a1f84195..00000000 --- a/azure-pipelines-windows-template-qt6.yml +++ /dev/null @@ -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 - - - diff --git a/azure-pipelines-windows-template.yml b/azure-pipelines-windows-template.yml deleted file mode 100644 index 41bd5249..00000000 --- a/azure-pipelines-windows-template.yml +++ /dev/null @@ -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 - - - diff --git a/azure-pipelines.yml b/azure-pipelines.yml deleted file mode 100644 index e8b9742b..00000000 --- a/azure-pipelines.yml +++ /dev/null @@ -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