Split the Linux artifact rules into a template and try them on macOS and static builds too.

This commit is contained in:
Pietro Gagliardi 2019-04-06 19:26:35 -04:00
parent 963f230196
commit 988ca49e41
3 changed files with 115 additions and 89 deletions

View File

@ -1,7 +1,7 @@
# 31 march 2019
variables:
releaseExamplesUnix: 'controlgallery cpp-multithread datetime drawtext histogram tester timer'
releaseExamples: 'controlgallery cpp-multithread datetime drawtext histogram tester timer'
jobs:
- job: linux_amd64_shared_ninja
@ -21,15 +21,94 @@ jobs:
defaultLibrary: shared
backend: ninja
- template: azure-pipelines/build-ninja.yml
- template: azure-pipelines/darwinunix-artifacts.yml
parameters:
os: linux
arch: amd64
libtype: shared
libfiles: libui.so.0
osHeader: ui_unix.h
- job: linux_amd64_static_ninja
displayName: 'Linux amd64 Static with Ninja'
pool:
vmImage: 'ubuntu-16.04'
workspace:
clean: all
steps:
- template: azure-pipelines/setup-python3.yml
- template: azure-pipelines/install-latest-meson.yml
- script: |
pushd build/meson-out
cp ../../ui.h ../../ui_unix.h .
tar czf $(Build.ArtifactStagingDirectory)/libui-$(Build.SourceBranchName)-linux-amd64-shared.tgz libui.so.0 ui.h ui_unix.h
tar czf $(Build.ArtifactStagingDirectory)/examples-$(Build.SourceBranchName)-linux-amd64-shared.tgz $(releaseExamplesUnix)
rm ui.h ui_unix.h
popd
displayName: 'Create Artifacts'
- task: PublishBuildArtifacts@1
inputs:
pathToPublish: $(Build.ArtifactStagingDirectory)
artifactName: artifactTest
sudo apt-get install libgtk-3-dev ninja-build
displayName: 'Install Dependencies'
- template: azure-pipelines/configure.yml
parameters:
defaultLibrary: static
backend: ninja
- template: azure-pipelines/build-ninja.yml
- template: azure-pipelines/darwinunix-artifacts.yml
parameters:
os: linux
arch: amd64
libtype: static
libfiles: libui.a
osHeader: ui_unix.h
# mac {
# notes:
# [18:36:55] <@jpakkane> Don't use the xcode backend for anything serious, it's a bit crap.
- job: darwin_amd64_1014sdk_shared_ninja
displayName: 'Darwin amd64 10.14 SDK Shared with Ninja'
pool:
vmImage: 'macos-10.13'
workspace:
clean: all
steps:
- template: azure-pipelines/setup-python3.yml
- template: azure-pipelines/install-latest-meson.yml
- template: azure-pipelines/darwin-install-ninja.yml
- template: azure-pipelines/configure.yml
parameters:
beforeConfigure: export SDKROOT=$(xcodebuild -version -sdk macosx10.14 Path)
defaultLibrary: shared
backend: ninja
- template: azure-pipelines/build-ninja.yml
parameters:
beforeBuild: export SDKROOT=$(xcodebuild -version -sdk macosx10.14 Path)
- template: azure-pipelines/darwinunix-artifacts.yml
parameters:
os: darwin
arch: amd64
libtype: shared
libfiles: libui.A.dylib
osHeader: ui_darwin.h
- job: darwin_amd64_1014sdk_static_ninja
displayName: 'Darwin amd64 10.14 SDK Static with Ninja'
pool:
vmImage: 'macos-10.13'
workspace:
clean: all
steps:
- template: azure-pipelines/setup-python3.yml
- template: azure-pipelines/install-latest-meson.yml
- template: azure-pipelines/darwin-install-ninja.yml
- template: azure-pipelines/configure.yml
parameters:
beforeConfigure: export SDKROOT=$(xcodebuild -version -sdk macosx10.14 Path)
defaultLibrary: static
backend: ninja
- template: azure-pipelines/build-ninja.yml
parameters:
beforeBuild: export SDKROOT=$(xcodebuild -version -sdk macosx10.14 Path)
- template: azure-pipelines/darwinunix-artifacts.yml
parameters:
os: darwin
arch: amd64
libtype: static
libfiles: libui.a
osHeader: ui_darwin.h
# }

View File

@ -0,0 +1,23 @@
# 6 april 2019
parameters:
os: ''
arch: ''
libtype: ''
libfiles: ''
osHeader: ''
steps:
- script: |
set -x
pushd build/meson-out
cp ../../ui.h ../../${{ parameters.osHeader }} .
tar czf $(Build.ArtifactStagingDirectory)/libui-$(Build.SourceBranchName)-${{ parameters.os }}-${{ parameters.arch }}-${{ parameters.libtype }}.tgz ${{ parameters.libfiles }} ui.h ${{ parameters.osHeader}}
tar czf $(Build.ArtifactStagingDirectory)/examples-$(Build.SourceBranchName)-${{ parameters.os }}-${{ parameters.arch }}-${{ parameters.libtype }}.tgz $(releaseExamples)
rm ui.h ${{ parameters.osHeader }}
popd
displayName: 'Create Artifacts'
- task: PublishBuildArtifacts@1
inputs:
pathToPublish: $(Build.ArtifactStagingDirectory)
artifactName: ${{ parameters.os }}-${{ parameters.arch }}-${{ parameters.libtype }}

View File

@ -1,41 +1,6 @@
# 31 march 2019
jobs:
- job: linux_amd64_shared_ninja
displayName: 'Linux amd64 Shared with Ninja'
pool:
vmImage: 'ubuntu-16.04'
workspace:
clean: all
steps:
- template: azure-pipelines/setup-python3.yml
- template: azure-pipelines/install-latest-meson.yml
- script: |
sudo apt-get install libgtk-3-dev ninja-build
displayName: 'Install Dependencies'
- template: azure-pipelines/configure.yml
parameters:
defaultLibrary: shared
backend: ninja
- template: azure-pipelines/build-ninja.yml
- job: linux_amd64_static_ninja
displayName: 'Linux amd64 Static with Ninja'
pool:
vmImage: 'ubuntu-16.04'
workspace:
clean: all
steps:
- template: azure-pipelines/setup-python3.yml
- template: azure-pipelines/install-latest-meson.yml
- script: |
sudo apt-get install libgtk-3-dev ninja-build
displayName: 'Install Dependencies'
- template: azure-pipelines/configure.yml
parameters:
defaultLibrary: static
backend: ninja
- template: azure-pipelines/build-ninja.yml
# vs2015 {
@ -325,10 +290,7 @@ jobs:
# }
# mac {
# notes:
# [18:36:55] <@jpakkane> Don't use the xcode backend for anything serious, it's a bit crap.
# more mac {
- job: darwin_amd64_1012sdk_shared_ninja
displayName: 'Darwin amd64 10.12 SDK Shared with Ninja'
@ -406,42 +368,4 @@ jobs:
parameters:
beforeBuild: export SDKROOT=$(xcodebuild -version -sdk macosx10.13 Path)
- job: darwin_amd64_1014sdk_shared_ninja
displayName: 'Darwin amd64 10.14 SDK Shared with Ninja'
pool:
vmImage: 'macos-10.13'
workspace:
clean: all
steps:
- template: azure-pipelines/setup-python3.yml
- template: azure-pipelines/install-latest-meson.yml
- template: azure-pipelines/darwin-install-ninja.yml
- template: azure-pipelines/configure.yml
parameters:
beforeConfigure: export SDKROOT=$(xcodebuild -version -sdk macosx10.14 Path)
defaultLibrary: shared
backend: ninja
- template: azure-pipelines/build-ninja.yml
parameters:
beforeBuild: export SDKROOT=$(xcodebuild -version -sdk macosx10.14 Path)
- job: darwin_amd64_1014sdk_static_ninja
displayName: 'Darwin amd64 10.14 SDK Static with Ninja'
pool:
vmImage: 'macos-10.13'
workspace:
clean: all
steps:
- template: azure-pipelines/setup-python3.yml
- template: azure-pipelines/install-latest-meson.yml
- template: azure-pipelines/darwin-install-ninja.yml
- template: azure-pipelines/configure.yml
parameters:
beforeConfigure: export SDKROOT=$(xcodebuild -version -sdk macosx10.14 Path)
defaultLibrary: static
backend: ninja
- template: azure-pipelines/build-ninja.yml
parameters:
beforeBuild: export SDKROOT=$(xcodebuild -version -sdk macosx10.14 Path)
# }