55
55
required : true
56
56
type : string
57
57
58
+ swift_cmark_version :
59
+ required : true
60
+ type : string
61
+
58
62
swift_collections_revision :
59
63
required : true
60
64
type : string
222
226
env :
223
227
SCCACHE_DIRECT : on
224
228
229
+ defaults :
230
+ run :
231
+ shell : pwsh
232
+
225
233
jobs :
226
234
sqlite :
227
235
runs-on : ${{ inputs.default_build_runner }}
@@ -232,10 +240,6 @@ jobs:
232
240
233
241
name : ${{ matrix.os }} ${{ matrix.arch }} SQLite3
234
242
235
- defaults :
236
- run :
237
- shell : pwsh
238
-
239
243
steps :
240
244
- uses : actions/checkout@v4
241
245
with :
@@ -304,16 +308,13 @@ jobs:
304
308
path : ${{ github.workspace }}/BuildRoot/Library/sqlite-${{ inputs.swift_toolchain_sqlite_version }}/usr
305
309
306
310
cmark_gfm :
307
- # TODO: Build this on macOS or make an equivalent Mac-only job
308
- if : inputs.build_os == 'Windows'
309
311
runs-on : ${{ inputs.default_build_runner }}
310
312
311
313
strategy :
312
314
fail-fast : false
313
- matrix :
314
- arch : ['amd64', 'arm64']
315
+ matrix : ${{ fromJSON(inputs.host_matrix) }}
315
316
316
- name : Windows ${{ matrix.arch }} CMark GFM
317
+ name : ${{ matrix.os }} ${{ matrix.arch }} CMark GFM
317
318
318
319
steps :
319
320
- uses : actions/checkout@v4
@@ -325,13 +326,15 @@ jobs:
325
326
326
327
- uses : compnerd/gha-setup-vsdevenv@main
327
328
with :
328
- host_arch : amd64
329
+ host_arch : ${{ inputs.build_arch }}
329
330
components : ' Microsoft.VisualStudio.Component.VC.Tools.x86.x64;Microsoft.VisualStudio.Component.VC.Tools.ARM64'
330
331
arch : ${{ matrix.arch }}
331
332
333
+ - uses : seanmiddleditch/gha-setup-ninja@master
334
+ if : inputs.build_os == 'Darwin'
335
+
332
336
- name : Compute workspace hash
333
337
id : workspace_hash
334
- shell : pwsh
335
338
run : |
336
339
$stringAsStream = [System.IO.MemoryStream]::new()
337
340
$writer = [System.IO.StreamWriter]::new($stringAsStream)
@@ -345,34 +348,36 @@ jobs:
345
348
uses : hendrikmuhs/ccache-action@2e0e89e8d74340a03f75d58d02aae4c5ee1b15c6
346
349
with :
347
350
max-size : 1M
348
- key : ${{ steps.workspace_hash.outputs.hash }}-windows -${{ matrix.arch }}-cmark-gfm
351
+ key : ${{ steps.workspace_hash.outputs.hash }}-${{ matrix.os }} -${{ matrix.arch }}-cmark-gfm
349
352
variant : sccache
350
353
351
354
- name : Configure cmark-gfm
352
355
run : >
353
- cmake -B ${{ github.workspace }}/BinaryCache/cmark-gfm-0.29.0.gfm.13 `
356
+ cmake -B ${{ github.workspace }}/BinaryCache/cmark-gfm-${{ inputs.swift_cmark_version }} `
354
357
-D BUILD_SHARED_LIBS=YES `
355
358
-D BUILD_TESTING=NO `
356
359
-D CMAKE_BUILD_TYPE=Release `
357
- -D CMAKE_C_COMPILER=cl `
360
+ -D CMAKE_C_COMPILER=${{ matrix.cc }} `
358
361
-D CMAKE_C_COMPILER_LAUNCHER=sccache `
359
- -D CMAKE_C_COMPILER_FLAGS="${{ inputs.WINDOWS_CMAKE_C_FLAGS }}" `
360
- -D CMAKE_CXX_COMPILER=cl `
362
+ -D CMAKE_C_COMPILER_FLAGS="${{ matrix.cflags }}" `
363
+ -D CMAKE_CXX_COMPILER=${{ matrix.cxx }} `
361
364
-D CMAKE_CXX_COMPILER_LAUNCHER=sccache `
362
- -D CMAKE_CXX_FLAGS="${{ inputs.WINDOWS_CMAKE_CXX_FLAGS }}" `
365
+ -D CMAKE_CXX_FLAGS="${{ matrix.cxxflags }}" `
363
366
-D CMAKE_MT=mt `
364
- -D CMAKE_INSTALL_PREFIX=${{ github.workspace }}/BuildRoot/Library/cmark-gfm-0.29.0.gfm.13 /usr `
367
+ -D CMAKE_INSTALL_PREFIX=${{ github.workspace }}/BuildRoot/Library/cmark-gfm-${{ inputs.swift_cmark_version }} /usr `
365
368
-D CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=YES `
369
+ -D CMAKE_SYSTEM_NAME=${{ matrix.os }} `
370
+ -D CMAKE_SYSTEM_PROCESSOR=${{ matrix.arch }} `
366
371
-S ${{ github.workspace }}/SourceCache/cmark-gfm `
367
372
-G Ninja
368
373
- name : Build cmark-gfm
369
- run : cmake --build ${{ github.workspace }}/BinaryCache/cmark-gfm-0.29.0.gfm.13
374
+ run : cmake --build ${{ github.workspace }}/BinaryCache/cmark-gfm-${{ inputs.swift_cmark_version }}
370
375
- name : Install cmark-gfm
371
- run : cmake --build ${{ github.workspace }}/BinaryCache/cmark-gfm-0.29.0.gfm.13 --target install
376
+ run : cmake --build ${{ github.workspace }}/BinaryCache/cmark-gfm-${{ inputs.swift_cmark_version }} --target install
372
377
- uses : actions/upload-artifact@v4
373
378
with :
374
- name : cmark-gfm-${{ matrix.arch }}-0.29.0.gfm.13
375
- path : ${{ github.workspace }}/BuildRoot/Library/cmark-gfm-0.29.0.gfm.13 /usr
379
+ name : cmark-gfm-${{ matrix.os }}-${{ matrix. arch }}-${{ inputs.swift_cmark_version }}
380
+ path : ${{ github.workspace }}/BuildRoot/Library/cmark-gfm-${{ inputs.swift_cmark_version }} /usr
376
381
377
382
build_tools :
378
383
# TODO: Build this on macOS or make an equivalent Mac-only job
@@ -385,8 +390,8 @@ jobs:
385
390
steps :
386
391
- uses : actions/download-artifact@v4
387
392
with :
388
- name : cmark-gfm-amd64-0.29.0.gfm.13
389
- path : ${{ github.workspace }}/BuildRoot/Library/cmark-gfm-0.29.0.gfm.13 /usr
393
+ name : cmark-gfm-Windows- amd64-${{ inputs.swift_cmark_version }}
394
+ path : ${{ github.workspace }}/BuildRoot/Library/cmark-gfm-${{ inputs.swift_cmark_version }} /usr
390
395
391
396
- uses : actions/checkout@v4
392
397
with :
@@ -433,7 +438,7 @@ jobs:
433
438
-D CMAKE_CXX_COMPILER_LAUNCHER=sccache `
434
439
-D CMAKE_CXX_FLAGS="${{ inputs.WINDOWS_CMAKE_CXX_FLAGS }}" `
435
440
-D CMAKE_MT=mt `
436
- -D cmark-gfm_DIR=${{ github.workspace }}/BuildRoot/Library/cmark-gfm-0.29.0.gfm.13 /usr/lib/cmake `
441
+ -D cmark-gfm_DIR=${{ github.workspace }}/BuildRoot/Library/cmark-gfm-${{ inputs.swift_cmark_version }} /usr/lib/cmake `
437
442
-G Ninja `
438
443
-S ${{ github.workspace }}/SourceCache/llvm-project/llvm `
439
444
-D LLVM_ENABLE_ASSERTIONS=NO `
@@ -523,8 +528,8 @@ jobs:
523
528
path : ${{ github.workspace }}/BinaryCache/0/bin
524
529
- uses : actions/download-artifact@v4
525
530
with :
526
- name : cmark-gfm-${{ matrix.arch }}-0.29.0.gfm.13
527
- path : ${{ github.workspace }}/BuildRoot/Library/cmark-gfm-0.29.0.gfm.13 /usr
531
+ name : cmark-gfm-Windows- ${{ matrix.arch }}-${{ inputs.swift_cmark_version }}
532
+ path : ${{ github.workspace }}/BuildRoot/Library/cmark-gfm-${{ inputs.swift_cmark_version }} /usr
528
533
529
534
- uses : actions/checkout@v4
530
535
with :
@@ -685,7 +690,7 @@ jobs:
685
690
-D SWIFT_PATH_TO_SWIFT_SDK="${SDKROOT}" `
686
691
-D CLANG_VENDOR=compnerd.org `
687
692
-D CLANG_VENDOR_UTI=org.compnerd.dt `
688
- -D cmark-gfm_DIR=${{ github.workspace }}/BuildRoot/Library/cmark-gfm-0.29.0.gfm.13 /usr/lib/cmake `
693
+ -D cmark-gfm_DIR=${{ github.workspace }}/BuildRoot/Library/cmark-gfm-${{ inputs.swift_cmark_version }} /usr/lib/cmake `
689
694
-D PACKAGE_VENDOR=compnerd.org `
690
695
-D SWIFT_VENDOR=compnerd.org `
691
696
-D LLVM_PARALLEL_LINK_JOBS=2 `
@@ -1380,11 +1385,11 @@ jobs:
1380
1385
path : ${{ github.workspace }}/BuildRoot/Library
1381
1386
- uses : actions/download-artifact@v4
1382
1387
with :
1383
- name : cmark-gfm-amd64-0.29.0.gfm.13
1384
- path : ${{ github.workspace }}/BuildRoot/Library/cmark-gfm-0.29.0.gfm.13 /usr
1388
+ name : cmark-gfm-Windows- amd64-${{ inputs.swift_cmark_version }}
1389
+ path : ${{ github.workspace }}/BuildRoot/Library/cmark-gfm-${{ inputs.swift_cmark_version }} /usr
1385
1390
1386
1391
- name : cmark-gfm Setup
1387
- run : Copy-Item ${{ github.workspace }}/BuildRoot/Library/cmark-gfm-0.29.0.gfm.13 /usr/bin/*.dll ${{ github.workspace }}/BuildRoot/Library/Developer/Toolchains/unknown-Asserts-development.xctoolchain/usr/bin/
1392
+ run : Copy-Item ${{ github.workspace }}/BuildRoot/Library/cmark-gfm-${{ inputs.swift_cmark_version }} /usr/bin/*.dll ${{ github.workspace }}/BuildRoot/Library/Developer/Toolchains/unknown-Asserts-development.xctoolchain/usr/bin/
1388
1393
1389
1394
- uses : actions/checkout@v4
1390
1395
with :
@@ -1596,11 +1601,11 @@ jobs:
1596
1601
path : ${{ github.workspace }}/BinaryCache/swift/stdlib
1597
1602
- uses : actions/download-artifact@v4
1598
1603
with :
1599
- name : cmark-gfm-amd64-0.29.0.gfm.13
1600
- path : ${{ github.workspace }}/BinaryCache/Library/cmark-gfm-0.29.0.gfm.13 /usr
1604
+ name : cmark-gfm-Windows- amd64-${{ inputs.swift_cmark_version }}
1605
+ path : ${{ github.workspace }}/BinaryCache/Library/cmark-gfm-${{ inputs.swift_cmark_version }} /usr
1601
1606
1602
1607
- name : cmark-gfm Setup
1603
- run : Copy-Item ${{ github.workspace }}/BinaryCache/Library/cmark-gfm-0.29.0.gfm.13 /usr/bin/*.dll ${{ github.workspace }}/BinaryCache/Library/Developer/Toolchains/unknown-Asserts-development.xctoolchain/usr/bin/
1608
+ run : Copy-Item ${{ github.workspace }}/BinaryCache/Library/cmark-gfm-${{ inputs.swift_cmark_version }} /usr/bin/*.dll ${{ github.workspace }}/BinaryCache/Library/Developer/Toolchains/unknown-Asserts-development.xctoolchain/usr/bin/
1604
1609
1605
1610
- uses : actions/checkout@v4
1606
1611
with :
@@ -1847,11 +1852,11 @@ jobs:
1847
1852
path : ${{ github.workspace }}/BinaryCache/Library
1848
1853
- uses : actions/download-artifact@v4
1849
1854
with :
1850
- name : cmark-gfm-amd64-0.29.0.gfm.13
1851
- path : ${{ github.workspace }}/BinaryCache/Library/cmark-gfm-0.29.0.gfm.13 /usr
1855
+ name : cmark-gfm-Windows- amd64-${{ inputs.swift_cmark_version }}
1856
+ path : ${{ github.workspace }}/BinaryCache/Library/cmark-gfm-${{ inputs.swift_cmark_version }} /usr
1852
1857
1853
1858
- name : cmark-gfm Setup
1854
- run : Copy-Item ${{ github.workspace }}/BinaryCache/Library/cmark-gfm-0.29.0.gfm.13 /usr/bin/*.dll ${{ github.workspace }}/BinaryCache/Library/Developer/Toolchains/unknown-Asserts-development.xctoolchain/usr/bin/
1859
+ run : Copy-Item ${{ github.workspace }}/BinaryCache/Library/cmark-gfm-${{ inputs.swift_cmark_version }} /usr/bin/*.dll ${{ github.workspace }}/BinaryCache/Library/Developer/Toolchains/unknown-Asserts-development.xctoolchain/usr/bin/
1855
1860
1856
1861
- uses : actions/checkout@v4
1857
1862
with :
@@ -2247,17 +2252,17 @@ jobs:
2247
2252
path : ${{ github.workspace }}/BinaryCache/swift-syntax
2248
2253
- uses : actions/download-artifact@v4
2249
2254
with :
2250
- name : cmark-gfm-amd64-0.29.0.gfm.13
2251
- path : ${{ github.workspace }}/BinaryCache/Library/cmark-gfm-0.29.0.gfm.13 /usr
2255
+ name : cmark-gfm-Windows- amd64-${{ inputs.swift_cmark_version }}
2256
+ path : ${{ github.workspace }}/BinaryCache/Library/cmark-gfm-${{ inputs.swift_cmark_version }} /usr
2252
2257
2253
2258
- name : cmark-gfm Setup
2254
- run : Copy-Item ${{ github.workspace }}/BinaryCache/Library/cmark-gfm-0.29.0.gfm.13 /usr/bin/*.dll ${{ github.workspace }}/BinaryCache/Library/Developer/Toolchains/unknown-Asserts-development.xctoolchain/usr/bin/
2259
+ run : Copy-Item ${{ github.workspace }}/BinaryCache/Library/cmark-gfm-${{ inputs.swift_cmark_version }} /usr/bin/*.dll ${{ github.workspace }}/BinaryCache/Library/Developer/Toolchains/unknown-Asserts-development.xctoolchain/usr/bin/
2255
2260
2256
2261
- uses : actions/download-artifact@v4
2257
2262
if : matrix.arch == 'arm64'
2258
2263
with :
2259
- name : cmark-gfm-arm64-0.29.0.gfm.13
2260
- path : ${{ github.workspace }}/BinaryCache/Library/cmark-gfm-0.29.0.gfm.13 /usr
2264
+ name : cmark-gfm-Windows- arm64-${{ inputs.swift_cmark_version }}
2265
+ path : ${{ github.workspace }}/BinaryCache/Library/cmark-gfm-${{ inputs.swift_cmark_version }} /usr
2261
2266
2262
2267
- uses : actions/checkout@v4
2263
2268
with :
@@ -2765,7 +2770,7 @@ jobs:
2765
2770
-G Ninja `
2766
2771
-S ${{ github.workspace }}/SourceCache/swift-markdown `
2767
2772
-D ArgumentParser_DIR=${{ github.workspace }}/BinaryCache/swift-argument-parser/cmake/modules `
2768
- -D cmark-gfm_DIR=${{ github.workspace }}/BinaryCache/Library/cmark-gfm-0.29.0.gfm.13 /usr/lib/cmake
2773
+ -D cmark-gfm_DIR=${{ github.workspace }}/BinaryCache/Library/cmark-gfm-${{ inputs.swift_cmark_version }} /usr/lib/cmake
2769
2774
- name : Build Markdown
2770
2775
run : cmake --build ${{ github.workspace }}/BinaryCache/swift-markdown
2771
2776
@@ -2792,7 +2797,7 @@ jobs:
2792
2797
-G Ninja `
2793
2798
-S ${{ github.workspace }}/SourceCache/swift-format `
2794
2799
-D ArgumentParser_DIR=${{ github.workspace }}/BinaryCache/swift-argument-parser/cmake/modules `
2795
- -D cmark-gfm_DIR=${{ github.workspace }}/BinaryCache/Library/cmark-gfm-0.29.0.gfm.13 /usr/lib/cmake `
2800
+ -D cmark-gfm_DIR=${{ github.workspace }}/BinaryCache/Library/cmark-gfm-${{ inputs.swift_cmark_version }} /usr/lib/cmake `
2796
2801
-D SwiftMarkdown_DIR=${{ github.workspace }}/BinaryCache/swift-markdown/cmake/modules `
2797
2802
-D SwiftSyntax_DIR=${{ github.workspace }}/BinaryCache/swift-syntax/cmake/modules
2798
2803
- name : Build swift-format
@@ -2960,17 +2965,17 @@ jobs:
2960
2965
path : ${{ github.workspace }}/BuildRoot/Library/Developer/Platforms/Windows.platform
2961
2966
- uses : actions/download-artifact@v4
2962
2967
with :
2963
- name : cmark-gfm-amd64-0.29.0.gfm.13
2964
- path : ${{ github.workspace }}/BuildRoot/Library/cmark-gfm-0.29.0.gfm.13 /usr
2968
+ name : cmark-gfm-Windows- amd64-${{ inputs.swift_cmark_version }}
2969
+ path : ${{ github.workspace }}/BuildRoot/Library/cmark-gfm-${{ inputs.swift_cmark_version }} /usr
2965
2970
2966
2971
- name : cmark-gfm Setup
2967
- run : Copy-Item ${{ github.workspace }}/BuildRoot/Library/cmark-gfm-0.29.0.gfm.13 /usr/bin/*.dll ${{ github.workspace }}/BuildRoot/Library/Developer/Toolchains/unknown-Asserts-development.xctoolchain/usr/bin/
2972
+ run : Copy-Item ${{ github.workspace }}/BuildRoot/Library/cmark-gfm-${{ inputs.swift_cmark_version }} /usr/bin/*.dll ${{ github.workspace }}/BuildRoot/Library/Developer/Toolchains/unknown-Asserts-development.xctoolchain/usr/bin/
2968
2973
2969
2974
- uses : actions/download-artifact@v4
2970
2975
if : matrix.arch == 'arm64'
2971
2976
with :
2972
- name : cmark-gfm-arm64-0.29.0.gfm.13
2973
- path : ${{ github.workspace }}/BuildRoot/Library/cmark-gfm-0.29.0.gfm.13 /usr
2977
+ name : cmark-gfm-Windows- arm64-${{ inputs.swift_cmark_version }}
2978
+ path : ${{ github.workspace }}/BuildRoot/Library/cmark-gfm-${{ inputs.swift_cmark_version }} /usr
2974
2979
2975
2980
- name : Update environment variables
2976
2981
run : |
@@ -3111,11 +3116,11 @@ jobs:
3111
3116
- name : Download cmark-gfm
3112
3117
uses : actions/download-artifact@v4
3113
3118
with :
3114
- name : cmark-gfm-${{ matrix.arch }}-0.29.0.gfm.13
3115
- path : ${{ github.workspace }}/BuildRoot/Library/cmark-gfm-0.29.0.gfm.13 /usr
3119
+ name : cmark-gfm-Windows- ${{ matrix.arch }}-${{ inputs.swift_cmark_version }}
3120
+ path : ${{ github.workspace }}/BuildRoot/Library/cmark-gfm-${{ inputs.swift_cmark_version }} /usr
3116
3121
3117
3122
- name : cmark-gfm Setup
3118
- run : Copy-Item ${{ github.workspace }}/BuildRoot/Library/cmark-gfm-0.29.0.gfm.13 /usr/bin/*.dll ${{ github.workspace }}/BuildRoot/Library/Developer/Toolchains/unknown-Asserts-development.xctoolchain/usr/bin/
3123
+ run : Copy-Item ${{ github.workspace }}/BuildRoot/Library/cmark-gfm-${{ inputs.swift_cmark_version }} /usr/bin/*.dll ${{ github.workspace }}/BuildRoot/Library/Developer/Toolchains/unknown-Asserts-development.xctoolchain/usr/bin/
3119
3124
3120
3125
- uses : actions/checkout@v4
3121
3126
with :
0 commit comments