Skip to content

Commit fac0053

Browse files
committed
Remove i386 slice from Microsoft.CodeAnalysis.CSharp.dll.dylib
It runs into issues with not sufficient headerpad which breaks notarization, temporarily remove the i386 slice.
1 parent 389cdbe commit fac0053

File tree

1 file changed

+18
-1
lines changed

1 file changed

+18
-1
lines changed

scripts/ci/mono-mono-signing.yml

+18-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
parameters:
22
- name: mono_branch
3-
displayName: Branch
3+
displayName: Branch of build
44
type: string
55
default: main
66
values:
@@ -38,12 +38,14 @@ jobs:
3838
- checkout: none
3939

4040
- script: |
41+
set -e
4142
gh api repos/mono/mono/statuses/${{ parameters.mono_commit }} --raw-field "state=pending" --raw-field "context=PKG-mono" --raw-field "target_url=$(System.TeamFoundationCollectionUri)$(System.TeamProject)/_build/results?buildId=$(Build.BuildId)"
4243
displayName: Set pending GitHub status
4344
env:
4445
GITHUB_TOKEN: $(GITHUB_TOKEN)
4546
4647
- script: |
48+
set -e
4749
cd $(Build.SourcesDirectory)
4850
MONO_SIGNED_PKG_DIR="${{ parameters.mono_branch }}/${{ parameters.mac_build_number }}/${{ parameters.mono_commit }}"
4951
az storage blob download-batch -s build-package-osx-mono -d . --pattern "$MONO_SIGNED_PKG_DIR/unsigned/*"
@@ -61,10 +63,15 @@ jobs:
6163
AZURE_STORAGE_KEY: $(AZURE_STORAGE_KEY)
6264
6365
- script: |
66+
set -e
6467
cd $(Build.SourcesDirectory)/payload
6568
mkdir -p $(Build.ArtifactStagingDirectory)/mac_entitled
6669
for i in $(find Library -type f); do
6770
if file $i | grep Mach-O > /dev/null; then
71+
if [ "$(basename $i)" == "Microsoft.CodeAnalysis.CSharp.dll.dylib" ]; then
72+
echo "Remove i386 slice from $i"
73+
lipo -remove i386 $i -o $i
74+
fi
6875
echo "Codesigning $i"
6976
codesign -s - -f --options runtime --entitlements $(Build.SourcesDirectory)/mac-entitlements.plist $i
7077
ditto -V $i $(Build.ArtifactStagingDirectory)/mac_entitled/$i
@@ -73,6 +80,7 @@ jobs:
7380
displayName: Codesign Mach-O files
7481
7582
- script: |
83+
set -e
7684
cd $(Build.ArtifactStagingDirectory)
7785
hdiutil create mac_entitled_to_sign.dmg -ov -volname "MacEntitledToSign" -fs HFS+ -srcfolder "mac_entitled"
7886
displayName: Archive binaries into .dmg for signing
@@ -105,13 +113,15 @@ jobs:
105113
]
106114
107115
- script: |
116+
set -e
108117
cd $(Build.ArtifactStagingDirectory)
109118
mkdir -p mac_entitled_signed
110119
hdiutil attach mac_entitled_to_sign.dmg
111120
cp -R /Volumes/MacEntitledToSign/Library mac_entitled_signed
112121
displayName: 'Extract binaries after signing'
113122
114123
- script: |
124+
set -e
115125
cd $(Build.ArtifactStagingDirectory)/mac_entitled_signed
116126
for i in $(find Library -type f); do
117127
chmod +x $i
@@ -120,6 +130,7 @@ jobs:
120130
displayName: Replace files with signed ones
121131
122132
- script: |
133+
set -e
123134
cd $(Build.SourcesDirectory)
124135
pkgbuild --analyze --root $PWD/expanded $PWD/expanded/Info.plist
125136
mono_version=$(grep packageIdentifier $PWD/expanded/Distribution | sed -E 's/.*version="([0-9\.]+)".*/\1/g')
@@ -130,6 +141,7 @@ jobs:
130141
displayName: pkgbuild and productbuild
131142
132143
- script: |
144+
set -e
133145
cd $(Build.ArtifactStagingDirectory)
134146
hdiutil create mono-to-sign.dmg -ov -volname "MonoToSign" -fs HFS+ -srcfolder "mono-to-sign"
135147
displayName: Archive .pkg into .dmg for signing
@@ -154,6 +166,7 @@ jobs:
154166
]
155167
156168
- script: |
169+
set -e
157170
cd $(Build.ArtifactStagingDirectory)
158171
mkdir -p mono-signed
159172
hdiutil attach mono-to-sign.dmg
@@ -182,6 +195,7 @@ jobs:
182195
]
183196
184197
- script: |
198+
set -e
185199
cd $(Build.ArtifactStagingDirectory)
186200
MONO_SIGNED_PKG="$(Build.ArtifactStagingDirectory)/mono-signed/$MONO_PKG_NAME"
187201
echo "##vso[task.setvariable variable=MONO_SIGNED_PKG;]$MONO_SIGNED_PKG"
@@ -191,6 +205,7 @@ jobs:
191205
displayName: Validate .pkg
192206
193207
- script: |
208+
set -e
194209
mono_sha=$(shasum --binary --algorithm 256 $MONO_SIGNED_PKG | cut -d ' ' -f 1)
195210
mono_mdfive=$(md5 -q $MONO_SIGNED_PKG)
196211
mono_size=$(stat -f "%z" $MONO_SIGNED_PKG)
@@ -216,6 +231,7 @@ jobs:
216231
artifact: NotarizedPKG
217232

218233
- script: |
234+
set -e
219235
cd $(Build.ArtifactStagingDirectory)
220236
az storage blob upload-batch -s mono-signed --destination-path "$MONO_SIGNED_PKG_DIR" --pattern "*" -d build-package-osx-mono --account-name xamjenkinsartifact
221237
displayName: Upload artifacts to blob storage
@@ -224,6 +240,7 @@ jobs:
224240
AZURE_STORAGE_KEY: $(AZURE_STORAGE_KEY)
225241
226242
- script: |
243+
set -e
227244
gh api repos/mono/mono/statuses/${{ parameters.mono_commit }} --raw-field "state=success" --raw-field "context=PKG-mono" --raw-field "target_url=https://xamjenkinsartifact.azureedge.net/build-package-osx-mono/$MONO_SIGNED_PKG_DIR/$MONO_PKG_NAME"
228245
gh api repos/mono/mono/statuses/${{ parameters.mono_commit }} --raw-field "state=success" --raw-field "context=artifacts.json" --raw-field "target_url=https://xamjenkinsartifact.azureedge.net/build-package-osx-mono/$MONO_SIGNED_PKG_DIR/artifacts.json"
229246
displayName: Set success GitHub status

0 commit comments

Comments
 (0)