| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325 |
- # https://docs.microsoft.com/en-us/azure/devops/pipelines/agents/hosted?view=azure-devops&tabs=yaml
- variables:
- MIN_VM_IMAGE: macOS-12
- MIN_XCODE_VERSION: 13.1
- MIN_PLATFORM_VERSION: 15.0
- MIN_TV_PLATFORM_VERSION: 15.0
- MIN_TV_DEVICE_NAME: Apple TV 4K (2nd generation)
- MIN_IPHONE_DEVICE_NAME: iPhone 11
- MIN_IPAD_DEVICE_NAME: iPad Pro (11-inch) (3rd generation)
- MAX_VM_IMAGE: macOS-12
- MAX_XCODE_VERSION: 14.2
- MAX_PLATFORM_VERSION: 16.2
- MAX_PLATFORM_VERSION_TV: 16.1
- MAX_IPHONE_DEVICE_NAME: iPhone 13
- MAX_TV_DEVICE_NAME: Apple TV 4K (2nd generation)
- MAX_IPAD_DEVICE_NAME: iPad Pro (11-inch) (3rd generation)
- DEFAULT_NODE_VERSION: "18.x"
- pool:
- vmImage: "$(MAX_VM_IMAGE)"
- parameters:
- - name: integrationJobs
- type: object
- default:
- - action: int_test_1
- dest: iphone
- - action: int_test_2
- dest: iphone
- - action: int_test_3
- dest: iphone
- - action: int_test_1
- dest: ipad
- - action: int_test_2
- dest: ipad
- - action: int_test_3
- dest: ipad
- stages:
- - stage: Unit_Tests_And_Linters
- jobs:
- # region Build
- - template: ./azure-templates/base_job.yml
- parameters:
- name: Generic_iOS_Build_Max_Xcode
- action: build
- target: runner
- sdk: sim
- dest: generic
- codeSign: no
- xcodeVersion: $(MAX_XCODE_VERSION)
- vmImage: $(MAX_VM_IMAGE)
- - template: ./azure-templates/base_job.yml
- parameters:
- name: Generic_tvOS_Build_Max_Xcode
- action: build
- target: tv_runner
- sdk: tv_sim
- dest: tv_generic
- codeSign: no
- xcodeVersion: $(MAX_XCODE_VERSION)
- vmImage: $(MAX_VM_IMAGE)
- - template: ./azure-templates/base_job.yml
- parameters:
- name: iOS_Build_Max_Xcode
- action: build
- target: runner
- sdk: sim
- iphoneModel: $(MAX_IPHONE_DEVICE_NAME)
- ipadModel: $(MAX_IPAD_DEVICE_NAME)
- iosVersion: $(MAX_PLATFORM_VERSION)
- xcodeVersion: $(MAX_XCODE_VERSION)
- vmImage: $(MAX_VM_IMAGE)
- - template: ./azure-templates/base_job.yml
- parameters:
- name: tvOS_Build_Max_Xcode
- action: build
- target: tv_runner
- sdk: tv_sim
- tvModel: $(MAX_TV_DEVICE_NAME)
- tvVersion: $(MAX_PLATFORM_VERSION_TV)
- xcodeVersion: $(MAX_XCODE_VERSION)
- vmImage: $(MAX_VM_IMAGE)
- - template: ./azure-templates/base_job.yml
- parameters:
- name: Generic_iOS_Build_Min_Xcode
- action: build
- target: runner
- sdk: sim
- dest: generic
- codeSign: no
- xcodeVersion: $(MIN_XCODE_VERSION)
- vmImage: $(MIN_VM_IMAGE)
- extraXcArgs: IPHONEOS_DEPLOYMENT_TARGET=$(MIN_PLATFORM_VERSION)
- - template: ./azure-templates/base_job.yml
- parameters:
- name: Generic_tvOS_Build_Min_Xcode
- action: build
- target: tv_runner
- dest: tv_generic
- sdk: tv_sim
- codeSign: no
- xcodeVersion: $(MIN_XCODE_VERSION)
- vmImage: $(MIN_VM_IMAGE)
- - template: ./azure-templates/base_job.yml
- parameters:
- name: iOS_Build_Min_Xcode
- action: build
- target: runner
- sdk: sim
- iphoneModel: $(MIN_IPHONE_DEVICE_NAME)
- ipadModel: $(MIN_IPAD_DEVICE_NAME)
- iosVersion: $(MIN_PLATFORM_VERSION)
- xcodeVersion: $(MIN_XCODE_VERSION)
- vmImage: $(MIN_VM_IMAGE)
- - template: ./azure-templates/base_job.yml
- parameters:
- name: tvOS_Build_Min_Xcode
- action: build
- target: tv_runner
- sdk: tv_sim
- dest: tv
- tvModel: $(MIN_TV_DEVICE_NAME)
- tvVersion: $(MIN_TV_PLATFORM_VERSION)
- xcodeVersion: $(MIN_XCODE_VERSION)
- vmImage: $(MIN_VM_IMAGE)
- # endregion
- # region Analyze
- - template: ./azure-templates/base_job.yml
- parameters:
- name: iOS_Lib_Analyze_Max_Xcode
- action: analyze
- sdk: sim
- target: lib
- iphoneModel: $(MAX_IPHONE_DEVICE_NAME)
- ipadModel: $(MAX_IPAD_DEVICE_NAME)
- iosVersion: $(MAX_PLATFORM_VERSION)
- xcodeVersion: $(MAX_XCODE_VERSION)
- vmImage: $(MAX_VM_IMAGE)
- - template: ./azure-templates/base_job.yml
- parameters:
- name: iOS_Runner_Analyze_Max_Xcode
- action: analyze
- sdk: sim
- target: runner
- iphoneModel: $(MAX_IPHONE_DEVICE_NAME)
- ipadModel: $(MAX_IPAD_DEVICE_NAME)
- iosVersion: $(MAX_PLATFORM_VERSION)
- xcodeVersion: $(MAX_XCODE_VERSION)
- vmImage: $(MAX_VM_IMAGE)
- - template: ./azure-templates/base_job.yml
- parameters:
- name: tvOS_Lib_Analyze_Max_Xcode
- action: analyze
- target: tv_lib
- sdk: tv_sim
- tvModel: $(MAX_TV_DEVICE_NAME)
- tvVersion: $(MAX_PLATFORM_VERSION_TV)
- xcodeVersion: $(MAX_XCODE_VERSION)
- vmImage: $(MAX_VM_IMAGE)
- - template: ./azure-templates/base_job.yml
- parameters:
- name: tvOS_Runner_Analyze_Max_Xcode
- action: analyze
- target: tv_runner
- sdk: tv_sim
- tvModel: $(MAX_TV_DEVICE_NAME)
- tvVersion: $(MAX_PLATFORM_VERSION_TV)
- xcodeVersion: $(MAX_XCODE_VERSION)
- vmImage: $(MAX_VM_IMAGE)
- - template: ./azure-templates/base_job.yml
- parameters:
- name: iOS_Lib_Analyze_Min_Xcode
- action: analyze
- target: lib
- sdk: sim
- iphoneModel: $(MIN_IPHONE_DEVICE_NAME)
- ipadModel: $(MIN_IPAD_DEVICE_NAME)
- iosVersion: $(MIN_PLATFORM_VERSION)
- xcodeVersion: $(MIN_XCODE_VERSION)
- vmImage: $(MIN_VM_IMAGE)
- - template: ./azure-templates/base_job.yml
- parameters:
- name: iOS_Runner_Analyze_Min_Xcode
- action: analyze
- target: runner
- sdk: sim
- iphoneModel: $(MIN_IPHONE_DEVICE_NAME)
- ipadModel: $(MIN_IPAD_DEVICE_NAME)
- iosVersion: $(MIN_PLATFORM_VERSION)
- xcodeVersion: $(MIN_XCODE_VERSION)
- vmImage: $(MIN_VM_IMAGE)
- - template: ./azure-templates/base_job.yml
- parameters:
- name: tvOS_Lib_Analyze_Min_Xcode
- action: analyze
- target: tv_lib
- sdk: tv_sim
- tvModel: $(MIN_TV_DEVICE_NAME)
- tvVersion: $(MIN_TV_PLATFORM_VERSION)
- xcodeVersion: $(MIN_XCODE_VERSION)
- vmImage: $(MIN_VM_IMAGE)
- - template: ./azure-templates/base_job.yml
- parameters:
- name: tvOS_Runner_Analyze_Min_Xcode
- action: analyze
- target: tv_runner
- sdk: tv_sim
- tvModel: $(MIN_TV_DEVICE_NAME)
- tvVersion: $(MIN_TV_PLATFORM_VERSION)
- xcodeVersion: $(MIN_XCODE_VERSION)
- vmImage: $(MIN_VM_IMAGE)
- # endregion
- # region Unit Tests
- - template: ./azure-templates/base_job.yml
- parameters:
- name: iPhone_Unit_Test_Max_Xcode
- action: unit_test
- dest: iphone
- target: lib
- sdk: sim
- iphoneModel: $(MAX_IPHONE_DEVICE_NAME)
- ipadModel: $(MAX_IPAD_DEVICE_NAME)
- iosVersion: $(MAX_PLATFORM_VERSION)
- xcodeVersion: $(MAX_XCODE_VERSION)
- vmImage: $(MAX_VM_IMAGE)
- - template: ./azure-templates/base_job.yml
- parameters:
- name: iPad_Unit_Test_Max_Xcode
- action: unit_test
- dest: ipad
- target: lib
- sdk: sim
- iphoneModel: $(MAX_IPHONE_DEVICE_NAME)
- ipadModel: $(MAX_IPAD_DEVICE_NAME)
- iosVersion: $(MAX_PLATFORM_VERSION)
- xcodeVersion: $(MAX_XCODE_VERSION)
- vmImage: $(MAX_VM_IMAGE)
- - template: ./azure-templates/base_job.yml
- parameters:
- name: tvOS_Unit_Test_Max_Xcode
- action: tv_unit_test
- dest: tv
- target: tv_lib
- sdk: tv_sim
- tvModel: $(MAX_TV_DEVICE_NAME)
- tvVersion: $(MAX_PLATFORM_VERSION_TV)
- xcodeVersion: $(MAX_XCODE_VERSION)
- vmImage: $(MAX_VM_IMAGE)
- - template: ./azure-templates/base_job.yml
- parameters:
- name: iPhone_Unit_Test_Min_Xcode
- action: unit_test
- dest: iphone
- target: lib
- sdk: sim
- iphoneModel: $(MIN_IPHONE_DEVICE_NAME)
- ipadModel: $(MIN_IPAD_DEVICE_NAME)
- iosVersion: $(MIN_PLATFORM_VERSION)
- xcodeVersion: $(MIN_XCODE_VERSION)
- vmImage: $(MIN_VM_IMAGE)
- - template: ./azure-templates/base_job.yml
- parameters:
- name: iPad_Unit_Test_Min_Xcode
- action: unit_test
- dest: ipad
- target: lib
- sdk: sim
- iphoneModel: $(MIN_IPHONE_DEVICE_NAME)
- ipadModel: $(MIN_IPAD_DEVICE_NAME)
- iosVersion: $(MIN_PLATFORM_VERSION)
- xcodeVersion: $(MIN_XCODE_VERSION)
- vmImage: $(MIN_VM_IMAGE)
- - template: ./azure-templates/base_job.yml
- parameters:
- name: tvOS_Unit_Test_Min_Xcode
- action: tv_unit_test
- dest: tv
- target: tv_lib
- sdk: tv_sim
- tvModel: $(MIN_TV_DEVICE_NAME)
- tvVersion: $(MIN_TV_PLATFORM_VERSION)
- xcodeVersion: $(MIN_XCODE_VERSION)
- vmImage: $(MIN_VM_IMAGE)
- # endregion
- - stage: Integration_Tests
- jobs:
- # region Integration Tests Max Xcode
- - ${{ each job in parameters.integrationJobs }}:
- - template: ./azure-templates/base_job.yml
- parameters:
- name: ${{ job.dest }}_${{ job.action }}_Max_Xcode
- action: ${{ job.action }}
- dest: ${{ job.dest }}
- target: lib
- sdk: sim
- iphoneModel: $(MAX_IPHONE_DEVICE_NAME)
- ipadModel: $(MAX_IPAD_DEVICE_NAME)
- iosVersion: $(MAX_PLATFORM_VERSION)
- xcodeVersion: $(MAX_XCODE_VERSION)
- vmImage: $(MAX_VM_IMAGE)
- # endregion
- # region Integration Tests Min Xcode
- - ${{ each job in parameters.integrationJobs }}:
- - template: ./azure-templates/base_job.yml
- parameters:
- name: ${{ job.dest }}_${{ job.action }}_Min_Xcode
- action: ${{ job.action }}
- dest: ${{ job.dest }}
- target: lib
- sdk: sim
- iphoneModel: $(MIN_IPHONE_DEVICE_NAME)
- ipadModel: $(MIN_IPAD_DEVICE_NAME)
- iosVersion: $(MIN_PLATFORM_VERSION)
- xcodeVersion: $(MIN_XCODE_VERSION)
- vmImage: $(MIN_VM_IMAGE)
- # endregion
|