msix-packaging/pipelines/azure-pipelines-aosp.yml

100 строки
2.5 KiB
YAML

# Branches that trigger a build on commit
trigger:
- master
- release_v*
# Branches that trigger builds on PR
pr:
branches:
include:
- master
- release_v*
paths:
include:
- cmake/*
- lib/*
- pipelines/*
- resources/*
- samples/*
- src/*
- test/*
- CMakeLists.txt
- makeaosp.sh
- makeios.sh
- makelinux.sh
- makemac.sh
- makewin.cmd
- manifest.cmakein
jobs:
- job: AOSP
pool:
name: Hosted macOS
strategy:
# TODO: add builds using xerces if needed.
matrix:
debug_emulator:
_arguments: -b Debug -xzlib
_artifact: AOSP-x86chk
release_emulator:
_arguments: -b MinSizeRel -xzlib
_artifact: AOSP-x86
release_emulator_nobundle:
_arguments: -b MinSizeRel -sb -xzlib
_artifact: AOSP-x86-nobundle
release_arm:
_arguments: -b MinSizeRel -arch armeabi-v7a -xzlib
_artifact: AOSP-arm
release_arm_nobundle:
_arguments: -b MinSizeRel -arch armeabi-v7a -sb -xzlib
_artifact: AOSP-arm-nobundle
steps:
- task: Bash@3
displayName: Build
inputs:
targetType: filePath
filePath: ./makeaosp.sh
arguments: $(_arguments)
failOnStderr: true
condition: succeeded()
# Note: We only test for release_emulator
- task: Bash@3
displayName: AOSP BVTs
inputs:
targetType: filePath
filePath: './src/test/mobile/testaosponmac.sh'
arguments: '-c "system-images;android-26;google_apis;x86" -i -o TEST-MsixSDK-$(_artifact).xml'
workingDirectory: './src/test/mobile/'
condition: and(succeeded(), contains(variables['Agent.JobName'], 'release_emulator'))
- task: PublishTestResults@2
displayName: 'Publish $(_artifact) Test Results'
inputs:
failTaskOnFailedTests: true
testRunTitle: $(_artifact)
condition: and(succeededOrFailed(), contains(variables['Agent.JobName'], 'release'))
- task: CopyFiles@2
displayName: 'Copy Files to: $(Build.ArtifactStagingDirectory)'
inputs:
SourceFolder: .vs
Contents: |
bin/makemsix
lib/libmsix*
lib/libmsix*/**
lib/msix-jni.jar
src/msix/AppxPackaging.hpp
src/msix/MSIXWindows.hpp
src/msix/MsixErrors.hpp
Package.nuspec
build/**
TargetFolder: '$(Build.ArtifactStagingDirectory)'
condition: succeededOrFailed()
- task: PublishBuildArtifacts@1
displayName: 'Publish Artifact $(_artifact)'
inputs:
ArtifactName: $(_artifact)
condition: succeededOrFailed()