-
Notifications
You must be signed in to change notification settings - Fork 0
/
IOSAppMinimalRelease.yml
142 lines (112 loc) · 4.37 KB
/
IOSAppMinimalRelease.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
# Variable 'XCodeVersion' was defined in the Variables tab
# Variable Group 'SummaticAppleCerts' was defined in the Variables tab
# Agent Queue 'Azure Pipelines' was used with unrecognized Agent Specification, vmImage property must be specified to determine image - https://docs.microsoft.com/en-us/azure/devops/pipelines/agents/hosted?view=azure-devops&tabs=yaml#software
name: 1.0$(rev:.r)
resources:
repositories:
- repository: self
type: git
ref: refs/heads/dotnet8
jobs:
- job: Phase_1
displayName: Phase 1
cancelTimeoutInMinutes: 1
pool:
name: Azure Pipelines
steps:
- checkout: self
- task: NuGetToolInstaller@1
displayName: Use NuGet
inputs:
versionSpec: 6.0.0
- task: Bash@3
displayName: Select XCode
inputs:
targetType: inline
script: >
# Select the xcode version: https://docs.microsoft.com/en-us/azure/devops/pipelines/agents/hosted?view=azure-devops&tabs=yaml#xcode
/bin/bash -c "echo '##vso[task.setvariable variable=MD_APPLE_SDK_ROOT;]'/Applications/Xcode_15.0.app;sudo xcode-select --switch /Applications/Xcode_15.0.app/Contents/Developer"
- task: Bash@3
displayName: Install dotnet sdk daily copy
inputs:
targetType: inline
script: >-
#!/bin/bash
# Set the installation directory
INSTALL_DIR="$HOME/.dotnet"
# Download and run the dotnet-install.sh script
echo "about to curl"
curl -L https://dot.net/v1/dotnet-install.sh -o dotnet-install.sh
echo "about to modify"
chmod +x dotnet-install.sh
echo "about to install"
./dotnet-install.sh --channel 8.0 --quality daily --install-dir $INSTALL_DIR --no-path
# Add the .NET Core installation directory to the PATH
echo 'export PATH="$PATH:'$INSTALL_DIR'"' >> "$HOME/.bashrc"
source "$HOME/.bashrc"
# Clean up the downloaded script
rm dotnet-install.sh
# Verify the installation
dotnet --version
- task: DotNetCoreCLI@2
displayName: dotnet workload list
inputs:
command: custom
custom: workload
arguments: list
- task: DotNetCoreCLI@2
displayName: dotnet workload install maui-ios with nightly
inputs:
command: custom
custom: workload
arguments: install maui-ios --source https://api.nuget.org/v3/index.json --source https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet8/nuget/v3/index.json --source https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet7/nuget/v3/index.json
- task: DotNetCoreCLI@2
displayName: dotnet restore
inputs:
command: restore
projects: Platforms/iOS/50iOS.csproj
- task: vs-publisher-473885.motz-mobile-buildtasks.ios-bundle-version.ios-bundle-version@1
displayName: Bump iOS Versions in Platforms/iOS/Info.plist
inputs:
sourcePath: Platforms/iOS/Info.plist
versionCodeOption: timestamp
versionName: ''
- task: InstallAppleCertificate@2
displayName: Install an Apple certificate
inputs:
certSecureFile: 5ab25b14-2fe6-4fa0-b125-8d338c07616f
certPwd: $(AppleDistributionCertPwd)
deleteCert: false
deleteCustomKeychain: false
setUpPartitionIdACLForPrivateKey: false
- task: InstallAppleProvisioningProfile@1
displayName: Install an Apple provisioning profile
inputs:
provProfileSecureFile: 1b43e18a-4e9f-446e-b73f-ac4861eb8cda
- task: DotNetCoreCLI@2
displayName: dotnet publish
inputs:
command: publish
publishWebProjects: false
projects: Platforms/iOS/50iOS.csproj
arguments: -c Release -p:CodesignKey="$(AppleDistributionCertName)" -p:CodesignProvision="$(iosAppStoreProvisionUUID)" -bl:$(build.artifactstagingdirectory)/build.binlog
zipAfterPublish: false
- task: CopyFiles@2
name: CopyFiles4
displayName: 'Copy Files to: $(build.artifactstagingdirectory)'
condition: succeededOrFailed()
inputs:
SourceFolder: $(build.sourcesdirectory)/Platforms/iOS
Contents: >-
**/*.ipa
**/appMetadata/**
**/*.dSYM/**
TargetFolder: $(build.artifactstagingdirectory)
- task: PublishBuildArtifacts@1
name: PublishBuildArtifacts5
displayName: 'Publish Artifact: drop'
condition: succeededOrFailed()
inputs:
PathtoPublish: $(build.artifactstagingdirectory)
TargetPath: '\\my\share\$(Build.DefinitionName)\$(Build.BuildNumber)'
...