mirror of
https://github.com/YACReader/yacreader
synced 2025-06-03 17:18:23 -04:00
Merge pull request #82 from YACReader/feature/improve-azure-pipelines
CI improvements
This commit is contained in:
commit
23c597d444
@ -10,7 +10,7 @@ parameters:
|
||||
|
||||
jobs:
|
||||
- job: ${{ parameters.name }}
|
||||
dependsOn: Initialization
|
||||
dependsOn: CodeFormatValidation
|
||||
pool:
|
||||
vmImage: 'vs2017-win2016'
|
||||
steps:
|
||||
|
@ -10,8 +10,21 @@ jobs:
|
||||
vmImage: 'vs2017-win2016'
|
||||
steps:
|
||||
- template: azure-pipelines-build-number.yml
|
||||
- job: Linux
|
||||
- job: CodeFormatValidation
|
||||
dependsOn: Initialization
|
||||
pool:
|
||||
vmImage: 'macOS-10.14'
|
||||
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
|
||||
if [ "$(git diff $(Build.SourceVersion))" != "" ]; then exit 1; fi
|
||||
displayName: 'clang-format'
|
||||
- job: Linux
|
||||
dependsOn: CodeFormatValidation
|
||||
pool:
|
||||
vmImage: 'ubuntu-16.04'
|
||||
steps:
|
||||
@ -45,7 +58,7 @@ jobs:
|
||||
path: $(Build.ArtifactStagingDirectory)
|
||||
artifactName: src $(Build.BuildNumber) tarball
|
||||
- job: MacOS
|
||||
dependsOn: Initialization
|
||||
dependsOn: CodeFormatValidation
|
||||
variables:
|
||||
- group: macos-codesign
|
||||
pool:
|
||||
@ -55,7 +68,6 @@ jobs:
|
||||
brew install qt
|
||||
brew link qt --force
|
||||
brew install create-dmg
|
||||
brew install clang-format
|
||||
brew install node
|
||||
brew link --overwrite node
|
||||
npm install -g appdmg
|
||||
@ -63,11 +75,6 @@ jobs:
|
||||
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'
|
||||
- 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
|
||||
if [ "$(git diff $(Build.SourceVersion))" != "" ]; then exit 1; fi
|
||||
displayName: 'Check format'
|
||||
- task: InstallAppleCertificate@2
|
||||
inputs:
|
||||
certSecureFile: 'developerID_application.p12'
|
||||
@ -75,7 +82,8 @@ jobs:
|
||||
- script: |
|
||||
cd $(Build.SourcesDirectory)
|
||||
VERSION="$(cat common/yacreader_global.h | grep '#define VERSION "' | tr -d '#define VERSION' | tr -d '"' )"
|
||||
./compileOSX.sh $VERSION $(Build.BuildNumber)
|
||||
SKIP_CODESIGN="$(tr [A-Z] [a-z] <<< "$(System.PullRequest.IsFork)")"
|
||||
./compileOSX.sh $VERSION $(Build.BuildNumber) $SKIP_CODESIGN
|
||||
displayName: 'Build'
|
||||
- task: CopyFiles@2
|
||||
inputs:
|
||||
|
@ -5,7 +5,9 @@ VERSION=${1:-"9.5.0"}
|
||||
|
||||
BUILD_NUMBER=${2:-"0"}
|
||||
|
||||
if [ "$3" == "clean" ]; then
|
||||
SKIP_CODESIGN=${3:-false}
|
||||
|
||||
if [ "$4" == "clean" ]; then
|
||||
./cleanOSX.sh
|
||||
fi
|
||||
|
||||
@ -35,7 +37,36 @@ cp -R YACReader/YACReader.app YACReader.app
|
||||
cp -R YACReaderLibrary/YACReaderLibrary.app YACReaderLibrary.app
|
||||
cp -R YACReaderLibraryServer/YACReaderLibraryServer.app YACReaderLibraryServer.app
|
||||
|
||||
./releaseOSX.sh
|
||||
hash macdeployqt 2>/dev/null || { echo >&2 "macdeployqt command not available. Please add the bin subfolder of your Qt installation to the PATH environment variable."; exit 1; }
|
||||
|
||||
echo "Preparing apps for release ..."
|
||||
|
||||
macdeployqt YACReader.app
|
||||
macdeployqt YACReaderLibrary.app -qmldir=YACReaderLibrary/qml
|
||||
macdeployqt YACReaderLibraryServer.app
|
||||
|
||||
mkdir -p YACReader.app/Contents/MacOS/utils
|
||||
mkdir -p YACReaderLibrary.app/Contents/MacOS/utils
|
||||
mkdir -p YACReaderLibraryServer.app/Contents/MacOS/utils
|
||||
|
||||
cp dependencies/qrencode/macx/libqrencode.4.0.0.dylib \
|
||||
YACReaderLibrary.app/Contents/MacOS/utils/libqrencode.dylib
|
||||
|
||||
cp -R dependencies/7zip/macx/* YACReader.app/Contents/MacOS/utils/
|
||||
cp -R dependencies/7zip/macx/* YACReaderLibrary.app/Contents/MacOS/utils/
|
||||
cp -R dependencies/7zip/macx/* YACReaderLibraryServer.app/Contents/MacOS/utils/
|
||||
|
||||
cp -R release/server YACReaderLibrary.app/Contents/MacOS/
|
||||
cp -R release/server YACReaderLibraryServer.app/Contents/MacOS/
|
||||
cp -R release/languages YACReader.app/Contents/MacOS/
|
||||
cp -R release/languages YACReaderLibrary.app/Contents/MacOS/
|
||||
cp -R release/languages YACReaderLibraryServer.app/Contents/MacOS/
|
||||
|
||||
if [ "$SKIP_CODESIGN" = false ]; then
|
||||
./signapps.sh
|
||||
fi
|
||||
|
||||
echo "Preparing apps for release, Done."
|
||||
|
||||
echo "Copying to destination folder"
|
||||
dest="YACReader-$VERSION.$BUILD_NUMBER MacOSX-Intel"
|
||||
@ -61,6 +92,9 @@ sed -i'' -e "s/#VERSION#/$VERSION/g" dmg.json
|
||||
sed -i'' -e "s/#BUILD_NUMBER#/$BUILD_NUMBER/g" dmg.json
|
||||
appdmg dmg.json "$dest.dmg"
|
||||
|
||||
codesign --force --deep --sign "Developer ID Application: LUIS ANGEL SAN MARTIN ROD (9B6KKVW3WM)" "./${dest}.dmg"
|
||||
if [ "$SKIP_CODESIGN" = false ]; then
|
||||
echo "Signing dmg"
|
||||
codesign --force --deep --sign "Developer ID Application: LUIS ANGEL SAN MARTIN ROD (9B6KKVW3WM)" "./${dest}.dmg"
|
||||
fi
|
||||
|
||||
echo "Done!"
|
||||
|
@ -1,32 +0,0 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
hash macdeployqt 2>/dev/null || { echo >&2 "macdeployqt command not available. Please add the bin subfolder of your Qt installation to the PATH environment variable."; exit 1; }
|
||||
|
||||
echo "Preparing apps for release ..."
|
||||
|
||||
macdeployqt YACReader.app
|
||||
macdeployqt YACReaderLibrary.app -qmldir=YACReaderLibrary/qml
|
||||
macdeployqt YACReaderLibraryServer.app
|
||||
|
||||
mkdir -p YACReader.app/Contents/MacOS/utils
|
||||
mkdir -p YACReaderLibrary.app/Contents/MacOS/utils
|
||||
mkdir -p YACReaderLibraryServer.app/Contents/MacOS/utils
|
||||
|
||||
cp dependencies/qrencode/macx/libqrencode.4.0.0.dylib \
|
||||
YACReaderLibrary.app/Contents/MacOS/utils/libqrencode.dylib
|
||||
|
||||
cp -R dependencies/7zip/macx/* YACReader.app/Contents/MacOS/utils/
|
||||
cp -R dependencies/7zip/macx/* YACReaderLibrary.app/Contents/MacOS/utils/
|
||||
cp -R dependencies/7zip/macx/* YACReaderLibraryServer.app/Contents/MacOS/utils/
|
||||
|
||||
cp -R release/server YACReaderLibrary.app/Contents/MacOS/
|
||||
cp -R release/server YACReaderLibraryServer.app/Contents/MacOS/
|
||||
cp -R release/languages YACReader.app/Contents/MacOS/
|
||||
cp -R release/languages YACReaderLibrary.app/Contents/MacOS/
|
||||
cp -R release/languages YACReaderLibraryServer.app/Contents/MacOS/
|
||||
|
||||
./signapps.sh
|
||||
|
||||
echo "Done."
|
||||
|
@ -1,5 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
echo "Signing apps"
|
||||
|
||||
codesign --force --deep --sign "Developer ID Application: LUIS ANGEL SAN MARTIN ROD (9B6KKVW3WM)" ./YACReader.app
|
||||
codesign --force --deep --sign "Developer ID Application: LUIS ANGEL SAN MARTIN ROD (9B6KKVW3WM)" ./YACReaderLibrary.app
|
||||
codesign --force --deep --sign "Developer ID Application: LUIS ANGEL SAN MARTIN ROD (9B6KKVW3WM)" ./YACReaderLibraryServer.app
|
||||
|
Loading…
x
Reference in New Issue
Block a user