Skip to content

Commit 3df4635

Browse files
author
Drew B
authored
Merge pull request #2 from ldennington/m1-release-updates
M1 release updates
2 parents 1efb57f + a76f5d5 commit 3df4635

File tree

1 file changed

+42
-15
lines changed

1 file changed

+42
-15
lines changed

.github/workflows/release.yml

Lines changed: 42 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@ jobs:
1212
osx-build:
1313
name: Build macOS
1414
runs-on: macos-latest
15+
strategy:
16+
matrix:
17+
runtime: [ osx-x64, osx-arm64 ]
1518
steps:
1619
- uses: actions/checkout@v3
1720
with:
@@ -27,15 +30,19 @@ jobs:
2730

2831
- name: Build
2932
run: |
30-
dotnet build --configuration=MacRelease
33+
dotnet build src/osx/Installer.Mac/*.csproj \
34+
--configuration=MacRelease --no-self-contained \
35+
--runtime=${{ matrix.runtime }}
3136
3237
- name: Run macOS unit tests
3338
run: |
3439
dotnet test --configuration=MacRelease
3540
3641
- name: Lay out payload and symbols
3742
run: |
38-
src/osx/Installer.Mac/layout.sh --configuration=MacRelease --output=payload --symbol-output=symbols
43+
src/osx/Installer.Mac/layout.sh \
44+
--configuration=MacRelease --output=payload \
45+
--symbol-output=symbols --runtime=${{ matrix.runtime }}
3946
4047
- name: Create keychain
4148
env:
@@ -58,7 +65,7 @@ jobs:
5865
- name: Upload macOS artifacts
5966
uses: actions/upload-artifact@v3
6067
with:
61-
name: tmp.osx-build
68+
name: tmp.${{ matrix.runtime }}-build
6269
path: |
6370
payload
6471
symbols
@@ -67,6 +74,9 @@ jobs:
6774
name: Sign macOS payload
6875
# ESRP service requires signing to run on Windows
6976
runs-on: windows-latest
77+
strategy:
78+
matrix:
79+
runtime: [ osx-x64, osx-arm64 ]
7080
needs: osx-build
7181
steps:
7282
- name: Check out repository
@@ -75,7 +85,7 @@ jobs:
7585
- name: Download payload
7686
uses: actions/download-artifact@v3
7787
with:
78-
name: tmp.osx-build
88+
name: tmp.${{ matrix.runtime }}-build
7989

8090
- name: Zip unsigned payload
8191
shell: pwsh
@@ -109,7 +119,9 @@ jobs:
109119
APPLE_KEY_CODE: ${{ secrets.APPLE_KEY_CODE }}
110120
APPLE_SIGNING_OP_CODE: ${{ secrets.APPLE_SIGNING_OPERATION_CODE }}
111121
run: |
112-
python .github\run_esrp_signing.py payload $env:APPLE_KEY_CODE $env:APPLE_SIGNING_OP_CODE --params 'Hardening' '--options=runtime'
122+
python .github\run_esrp_signing.py payload `
123+
$env:APPLE_KEY_CODE $env:APPLE_SIGNING_OP_CODE `
124+
--params 'Hardening' '--options=runtime'
113125
114126
- name: Unzip signed payload
115127
shell: pwsh
@@ -120,13 +132,16 @@ jobs:
120132
- name: Upload signed payload
121133
uses: actions/upload-artifact@v3
122134
with:
123-
name: osx-payload-sign
135+
name: ${{ matrix.runtime }}-payload-sign
124136
path: |
125137
signed
126138
127139
osx-pack:
128140
name: Package macOS payload
129141
runs-on: macos-latest
142+
strategy:
143+
matrix:
144+
runtime: [ osx-x64, osx-arm64 ]
130145
needs: osx-payload-sign
131146
steps:
132147
- name: Check out repository
@@ -147,27 +162,34 @@ jobs:
147162
- name: Download signed payload
148163
uses: actions/download-artifact@v3
149164
with:
150-
name: osx-payload-sign
165+
name: ${{ matrix.runtime }}-payload-sign
151166

152167
- name: Create component package
153168
run: |
154-
src/osx/Installer.Mac/pack.sh --payload=payload --version=$GitBuildVersionSimple --output=components/com.microsoft.gitcredentialmanager.component.pkg
169+
src/osx/Installer.Mac/pack.sh --payload=payload \
170+
--version=$GitBuildVersionSimple \
171+
--output=components/com.microsoft.gitcredentialmanager.component.pkg
155172
156173
- name: Create product archive
157174
run: |
158-
src/osx/Installer.Mac/dist.sh --package-path=components --version=$GitBuildVersionSimple --output=pkg/gcm-osx-x64-$GitBuildVersionSimple.pkg || exit 1
175+
src/osx/Installer.Mac/dist.sh --package-path=components \
176+
--version=$GitBuildVersionSimple --runtime=${{ matrix.runtime }} \
177+
--output=pkg/gcm-${{ matrix.runtime }}-$GitBuildVersionSimple.pkg || exit 1
159178
160179
- name: Upload package
161180
uses: actions/upload-artifact@v3
162181
with:
163-
name: tmp.osx-pack
182+
name: tmp.${{ matrix.runtime }}-pack
164183
path: |
165184
pkg
166185
167186
osx-sign:
168187
name: Sign and notarize macOS package
169188
# ESRP service requires signing to run on Windows
170189
runs-on: windows-latest
190+
strategy:
191+
matrix:
192+
runtime: [ osx-x64, osx-arm64 ]
171193
needs: osx-pack
172194
steps:
173195
- name: Check out repository
@@ -176,7 +198,7 @@ jobs:
176198
- name: Download unsigned package
177199
uses: actions/download-artifact@v3
178200
with:
179-
name: tmp.osx-pack
201+
name: tmp.${{ matrix.runtime }}-pack
180202
path: pkg
181203

182204
- name: Zip unsigned package
@@ -236,7 +258,7 @@ jobs:
236258
- name: Publish signed package
237259
uses: actions/upload-artifact@v3
238260
with:
239-
name: osx-sign
261+
name: ${{ matrix.runtime }}-sign
240262
path: signed/*.pkg
241263

242264
# ================================
@@ -468,8 +490,12 @@ jobs:
468490
- name: Archive macOS payload and symbols
469491
run: |
470492
mkdir osx-payload-and-symbols
471-
tar -C osx-payload-sign -czf osx-payload-and-symbols/gcm-osx-x64-$GitBuildVersionSimple.tar.gz .
472-
tar -C tmp.osx-build/symbols -czf osx-payload-and-symbols/gcm-osx-x64-$GitBuildVersionSimple-symbols.tar.gz .
493+
494+
tar -C osx-x64-payload-sign -czf osx-payload-and-symbols/gcm-osx-x64-$GitBuildVersionSimple.tar.gz .
495+
tar -C tmp.osx-x64-build/symbols -czf osx-payload-and-symbols/gcm-osx-x64-$GitBuildVersionSimple-symbols.tar.gz .
496+
497+
tar -C osx-arm64-payload-sign -czf osx-payload-and-symbols/gcm-osx-arm64-$GitBuildVersionSimple.tar.gz .
498+
tar -C tmp.osx-arm64-build/symbols -czf osx-payload-and-symbols/gcm-osx-arm64-$GitBuildVersionSimple-symbols.tar.gz .
473499
474500
- name: Archive Windows payload and symbols
475501
shell: pwsh
@@ -527,7 +553,8 @@ jobs:
527553
uploadDirectoryToRelease('win-x86-payload-and-symbols'),
528554
529555
// Upload macOS artifacts
530-
uploadDirectoryToRelease('osx-sign'),
556+
uploadDirectoryToRelease('osx-x64-sign'),
557+
uploadDirectoryToRelease('osx-arm64-sign'),
531558
uploadDirectoryToRelease('osx-payload-and-symbols'),
532559
533560
// Upload Linux artifacts

0 commit comments

Comments
 (0)