87
87
runs-on : ubuntu-latest
88
88
outputs :
89
89
curl_revision : ${{ steps.context.outputs.curl_revision }}
90
- icu_revision : ${{ steps.context.outputs.icu_revision }}
91
90
indexstore_db_revision : ${{ steps.context.outputs.indexstore_db_revision }}
92
91
libxml2_revision : ${{ steps.context.outputs.libxml2_revision }}
93
92
llvm_project_revision : ${{ steps.context.outputs.llvm_project_revision }}
@@ -186,7 +185,6 @@ jobs:
186
185
libxml2_revision=refs/tags/v2.11.5
187
186
yams_revision=refs/tags/5.0.6
188
187
zlib_revision=refs/tags/v1.3.1
189
- icu_revision=refs/heads/maint/maint-69
190
188
EOF
191
189
else
192
190
repo manifest -r --suppress-upstream-revision --suppress-dest-branch | \
@@ -379,206 +377,6 @@ jobs:
379
377
name : sqlite-${{ matrix.os }}-${{ matrix.arch }}-3.46.0
380
378
path : ${{ github.workspace }}/BuildRoot/Library/sqlite-3.46.0/usr
381
379
382
- # TODO(compnerd): remove this once android migrates to swift-foundation
383
- icu_tools :
384
- needs : [context]
385
- runs-on : ${{ needs.context.outputs.windows_build_runner }}
386
-
387
- steps :
388
- - uses : actions/checkout@v4
389
- with :
390
- repository : apple/swift-installer-scripts
391
- ref : ${{ needs.context.outputs.swift_installer_scripts_revision }}
392
- path : ${{ github.workspace }}/SourceCache/swift-installer-scripts
393
- show-progress : false
394
-
395
- - uses : actions/checkout@v4
396
- with :
397
- repository : unicode-org/icu
398
- ref : ${{ needs.context.outputs.icu_revision }}
399
- path : ${{ github.workspace }}/SourceCache/icu
400
- show-progress : false
401
-
402
- - name : Copy CMakeLists.txt
403
- run : Copy-Item ${{ github.workspace }}\SourceCache\swift-installer-scripts\shared\ICU\CMakeLists.txt -destination ${{ github.workspace }}\SourceCache\icu\icu4c\CMakeLists.txt
404
-
405
- - uses : compnerd/gha-setup-vsdevenv@main
406
- with :
407
- host_arch : amd64
408
- components : ' Microsoft.VisualStudio.Component.VC.Tools.x86.x64;Microsoft.VisualStudio.Component.VC.Tools.ARM64'
409
- arch : amd64
410
-
411
- - name : Setup sccache
412
- uses : hendrikmuhs/ccache-action@2e0e89e8d74340a03f75d58d02aae4c5ee1b15c6
413
- with :
414
- max-size : 100M
415
- key : windows-amd64-icu_tools
416
- variant : sccache
417
- append-timestamp : false
418
-
419
- - name : Configure ICU Build Tools
420
- run :
421
- cmake -B ${{ github.workspace }}/BinaryCache/icu-tools-69.1 `
422
- -D BUILD_SHARED_LIBS=NO `
423
- -D BUILD_TOOLS=YES `
424
- -D CMAKE_BUILD_TYPE=Release `
425
- -D CMAKE_C_COMPILER=cl `
426
- -D CMAKE_C_COMPILER_LAUNCHER=sccache `
427
- -D CMAKE_C_FLAGS="${{ needs.context.outputs.WINDOWS_CMAKE_C_FLAGS }}" `
428
- -D CMAKE_CXX_COMPILER=cl `
429
- -D CMAKE_CXX_COMPILER_LAUNCHER=sccache `
430
- -D CMAKE_CXX_FLAGS="${{ needs.context.outputs.WINDOWS_CMAKE_CXX_FLAGS }}" `
431
- -D CMAKE_MT=mt `
432
- -D CMAKE_INSTALL_PREFIX=${{ github.workspace }}/BuildRoot/Library/icu-69.1/usr `
433
- -G Ninja `
434
- -S ${{ github.workspace }}/SourceCache/icu/icu4c
435
-
436
- - name : Build ICU Tools
437
- run : cmake --build ${{ github.workspace }}/BinaryCache/icu-tools-69.1
438
-
439
- - uses : actions/upload-artifact@v4
440
- with :
441
- name : icu-tools-69.1
442
- path : |
443
- ${{ github.workspace }}/BinaryCache/icu-tools-69.1/genbrk.exe
444
- ${{ github.workspace }}/BinaryCache/icu-tools-69.1/gencfu.exe
445
- ${{ github.workspace }}/BinaryCache/icu-tools-69.1/gencnval.exe
446
- ${{ github.workspace }}/BinaryCache/icu-tools-69.1/gendict.exe
447
- ${{ github.workspace }}/BinaryCache/icu-tools-69.1/genrb.exe
448
- ${{ github.workspace }}/BinaryCache/icu-tools-69.1/gensprep.exe
449
- ${{ github.workspace }}/BinaryCache/icu-tools-69.1/icupkg.exe
450
- ${{ github.workspace }}/BinaryCache/icu-tools-69.1/makeconv.exe
451
- ${{ github.workspace }}/BinaryCache/icu-tools-69.1/pkgdata.exe
452
- ${{ github.workspace }}/BinaryCache/icu-tools-69.1/genccode.exe
453
-
454
- # TODO(compnerd): remove this once android migrates to swift-foundation
455
- icu :
456
- needs : [context, icu_tools]
457
- runs-on : ${{ needs.context.outputs.windows_build_runner }}
458
-
459
- strategy :
460
- fail-fast : false
461
- matrix :
462
- include :
463
- - arch : arm64
464
- BUILD_TOOLS : NO
465
- BUILD_DATA : NO
466
- cc : clang
467
- cflags : ${{ needs.context.outputs.ANDROID_CMAKE_C_FLAGS }}
468
- cxx : clang++
469
- cxxflags : ${{ needs.context.outputs.ANDROID_CMAKE_CXX_FLAGS }}
470
- os : Android
471
- extra_flags : -DCMAKE_ANDROID_API=${{ needs.context.outputs.ANDROID_API_LEVEL }} -DCMAKE_ANDROID_ARCH_ABI=arm64-v8a
472
-
473
- - arch : armv7
474
- BUILD_TOOLS : NO
475
- BUILD_DATA : NO
476
- cc : clang
477
- cflags : ${{ needs.context.outputs.ANDROID_CMAKE_C_FLAGS }}
478
- cxx : clang++
479
- cxxflags : ${{ needs.context.outputs.ANDROID_CMAKE_CXX_FLAGS }}
480
- os : Android
481
- extra_flags : -DCMAKE_ANDROID_API=${{ needs.context.outputs.ANDROID_API_LEVEL }} -DCMAKE_ANDROID_ARCH_ABI=armeabi-v7a
482
-
483
- - arch : i686
484
- BUILD_TOOLS : NO
485
- BUILD_DATA : NO
486
- cc : clang
487
- cflags : ${{ needs.context.outputs.ANDROID_CMAKE_C_FLAGS }}
488
- cxx : clang++
489
- cxxflags : ${{ needs.context.outputs.ANDROID_CMAKE_CXX_FLAGS }}
490
- os : Android
491
- extra_flags : -DCMAKE_ANDROID_API=${{ needs.context.outputs.ANDROID_API_LEVEL }} -DCMAKE_ANDROID_ARCH_ABI=x86
492
-
493
- - arch : x86_64
494
- BUILD_TOOLS : NO
495
- BUILD_DATA : NO
496
- cc : clang
497
- cflags : ${{ needs.context.outputs.ANDROID_CMAKE_C_FLAGS }}
498
- cxx : clang++
499
- cxxflags : ${{ needs.context.outputs.ANDROID_CMAKE_CXX_FLAGS }}
500
- os : Android
501
- extra_flags : -DCMAKE_ANDROID_API=${{ needs.context.outputs.ANDROID_API_LEVEL }} -DCMAKE_ANDROID_ARCH_ABI=x86_64
502
-
503
- name : ${{ matrix.os }} ${{ matrix.arch }} ICU
504
-
505
- steps :
506
- - uses : actions/download-artifact@v4
507
- with :
508
- name : icu-tools-69.1
509
- path : ${{ github.workspace }}/BinaryCache/icu-tools-69.1/usr/bin
510
-
511
- - uses : actions/checkout@v4
512
- with :
513
- repository : apple/swift-installer-scripts
514
- ref : ${{ needs.context.outputs.swift_installer_scripts_revision }}
515
- path : ${{ github.workspace }}/SourceCache/swift-installer-scripts
516
- show-progress : false
517
-
518
- - uses : actions/checkout@v4
519
- with :
520
- repository : unicode-org/icu
521
- ref : ${{ needs.context.outputs.icu_revision }}
522
- path : ${{ github.workspace }}/SourceCache/icu
523
- show-progress : false
524
-
525
- - name : Copy CMakeLists.txt
526
- run : |
527
- Copy-Item ${{ github.workspace }}\SourceCache\swift-installer-scripts\shared\ICU\CMakeLists.txt -destination ${{ github.workspace }}\SourceCache\icu\icu4c\CMakeLists.txt
528
- Copy-Item ${{ github.workspace }}\SourceCache\swift-installer-scripts\shared\ICU\icupkg.inc.cmake -destination ${{ github.workspace }}\SourceCache\icu\icu4c\icupkg.inc.cmake
529
-
530
- - uses : compnerd/gha-setup-vsdevenv@main
531
- with :
532
- host_arch : amd64
533
- components : ' Microsoft.VisualStudio.Component.VC.Tools.x86.x64;Microsoft.VisualStudio.Component.VC.Tools.ARM64'
534
- arch : ${{ matrix.arch }}
535
-
536
- - name : Setup sccache
537
- uses : hendrikmuhs/ccache-action@2e0e89e8d74340a03f75d58d02aae4c5ee1b15c6
538
- with :
539
- max-size : 200M
540
- key : ${{ matrix.os }}-${{ matrix.arch }}-icu
541
- variant : sccache
542
- append-timestamp : false
543
-
544
- - uses : nttld/setup-ndk@v1
545
- id : setup-ndk
546
- with :
547
- ndk-version : r26b
548
-
549
- - name : Configure ICU
550
- run : |
551
- $NDKPATH = cygpath -m ${{ steps.setup-ndk.outputs.ndk-path }}
552
- cmake -B ${{ github.workspace }}/BinaryCache/icu-69.1 `
553
- -D BUILD_SHARED_LIBS=NO `
554
- -D BUILD_TOOLS=${{ matrix.BUILD_TOOLS }} `
555
- -D BUILD_DATA=${{ matrix.BUILD_DATA }} `
556
- -D CMAKE_BUILD_TYPE=Release `
557
- -D CMAKE_C_COMPILER=${{ matrix.cc }} `
558
- -D CMAKE_C_COMPILER_LAUNCHER=sccache `
559
- -D CMAKE_C_FLAGS="${{ matrix.cflags }}" `
560
- -D CMAKE_CXX_COMPILER=${{ matrix.cxx }} `
561
- -D CMAKE_CXX_COMPILER_LAUNCHER=sccache `
562
- -D CMAKE_CXX_FLAGS="${{ matrix.cxxflags }}" `
563
- -D CMAKE_MT=mt `
564
- -D CMAKE_INSTALL_PREFIX=${{ github.workspace }}/BuildRoot/Library/icu-69.1/usr `
565
- -D MSVC_C_ARCHITECTURE_ID=${{ matrix.arch }} `
566
- -D CMAKE_SYSTEM_NAME=${{ matrix.os }} `
567
- -D ICU_TOOLS_DIR=${{ github.workspace }}/BinaryCache/icu-tools-69.1/usr/bin `
568
- -D CMAKE_ANDROID_NDK=$NDKPATH `
569
- ${{ matrix.extra_flags }} `
570
- -G Ninja `
571
- -S ${{ github.workspace }}/SourceCache/icu/icu4c
572
- - name : Build ICU
573
- run : cmake --build ${{ github.workspace }}/BinaryCache/icu-69.1
574
- - name : Install ICU
575
- run : cmake --build ${{ github.workspace }}/BinaryCache/icu-69.1 --target install
576
-
577
- - uses : actions/upload-artifact@v4
578
- with :
579
- name : icu-${{ matrix.os }}-${{ matrix.arch }}-69.1
580
- path : ${{ github.workspace }}/BuildRoot/Library/icu-69.1/usr
581
-
582
380
cmark_gfm :
583
381
needs : [context]
584
382
runs-on : ${{ needs.context.outputs.windows_build_runner }}
@@ -1453,7 +1251,7 @@ jobs:
1453
1251
1454
1252
sdk :
1455
1253
continue-on-error : ${{ matrix.arch != 'amd64' }}
1456
- needs : [context, icu, libxml2, curl, zlib, compilers, cmark_gfm]
1254
+ needs : [context, libxml2, curl, zlib, compilers, cmark_gfm]
1457
1255
runs-on : ${{ needs.context.outputs.windows_build_runner }}
1458
1256
1459
1257
strategy :
@@ -1561,11 +1359,6 @@ jobs:
1561
1359
name : ${{ matrix.os }} ${{ matrix.arch }} SDK
1562
1360
1563
1361
steps :
1564
- - uses : actions/download-artifact@v4
1565
- if : matrix.os == 'Android'
1566
- with :
1567
- name : icu-${{ matrix.os }}-${{ matrix.arch }}-69.1
1568
- path : ${{ github.workspace }}/BuildRoot/Library/icu-69.1/usr
1569
1362
- uses : actions/download-artifact@v4
1570
1363
with :
1571
1364
name : libxml2-${{ matrix.os }}-${{ matrix.arch }}-2.11.5
@@ -1615,6 +1408,13 @@ jobs:
1615
1408
ref : ${{ needs.context.outputs.swift_corelibs_libdispatch_revision }}
1616
1409
path : ${{ github.workspace }}/SourceCache/swift-corelibs-libdispatch
1617
1410
show-progress : false
1411
+ - uses : actions/checkout@v4
1412
+ if : matrix.os == 'Android'
1413
+ with :
1414
+ repository : hyp/swift-corelibs-foundation
1415
+ ref : eng/recore-android-build
1416
+ path : ${{ github.workspace }}/SourceCache/swift-corelibs-foundation
1417
+ show-progress : false
1618
1418
- uses : actions/checkout@v4
1619
1419
if : matrix.os == 'Windows'
1620
1420
with :
@@ -1623,33 +1423,23 @@ jobs:
1623
1423
path : ${{ github.workspace }}/SourceCache/swift-corelibs-foundation
1624
1424
show-progress : false
1625
1425
- uses : actions/checkout@v4
1626
- if : matrix.os == 'Windows'
1627
1426
with :
1628
1427
repository : apple/swift-foundation
1629
1428
ref : ${{ needs.context.outputs.swift_foundation_revision }}
1630
1429
path : ${{ github.workspace }}/SourceCache/swift-foundation
1631
1430
show-progress : false
1632
1431
- uses : actions/checkout@v4
1633
- if : matrix.os == 'Windows'
1634
1432
with :
1635
1433
repository : apple/swift-foundation-icu
1636
1434
ref : ${{ needs.context.outputs.swift_foundation_icu_revision }}
1637
1435
path : ${{ github.workspace }}/SourceCache/swift-foundation-icu
1638
1436
show-progress : false
1639
1437
- uses : actions/checkout@v4
1640
- if : matrix.os == 'Windows'
1641
1438
with :
1642
1439
repository : apple/swift-collections
1643
1440
ref : ${{ needs.context.outputs.swift_collections_revision }}
1644
1441
path : ${{ github.workspace }}/SourceCache/swift-collections
1645
1442
show-progress : false
1646
- - uses : actions/checkout@v4
1647
- if : matrix.os == 'Android'
1648
- with :
1649
- repository : hyp/swift-corelibs-foundation
1650
- ref : 6bf677693eb23030eb3646c9b121c665f40aa8b0
1651
- path : ${{ github.workspace }}/SourceCache/swift-corelibs-foundation
1652
- show-progress : false
1653
1443
- uses : actions/checkout@v4
1654
1444
with :
1655
1445
repository : apple/swift-corelibs-xctest
@@ -1834,16 +1624,6 @@ jobs:
1834
1624
$SWIFT_FOUNDATION_ICU_SOURCE_DIR = cygpath -m ${{ github.workspace }}/SourceCache/swift-foundation-icu
1835
1625
$SWIFT_COLLECTIONS_SOURCE_DIR = cygpath -m ${{ github.workspace }}/SourceCache/swift-collections
1836
1626
1837
- $ICU_FLAGS = if ("${{ matrix.os }}" -eq "Android") {
1838
- "-D","ICU_DATA_LIBRARY_RELEASE=${{ github.workspace }}/BuildRoot/Library/icu-69.1/usr/lib/libicudt69.a",
1839
- "-D","ICU_I18N_LIBRARY_RELEASE=${{ github.workspace }}/BuildRoot/Library/icu-69.1/usr/lib/libicuin69.a",
1840
- "-D","ICU_ROOT=${{ github.workspace }}/BuildRoot/Library/icu-69.1/usr",
1841
- "-D","ICU_INCLUDE_DIR=${{ github.workspace }}/BuildRoot/Library/icu-69.1/usr/include",
1842
- "-D","ICU_UC_LIBRARY_RELEASE=${{ github.workspace }}/BuildRoot/Library/icu-69.1/usr/lib/libicuuc69.a"
1843
- } else {
1844
- @()
1845
- }
1846
-
1847
1627
$build_tools = if ("${{ matrix.os }}" -eq "Windows") { "YES" } else { "NO" }
1848
1628
1849
1629
Remove-Item env:\SDKROOT
@@ -1879,7 +1659,6 @@ jobs:
1879
1659
-D CURL_DIR=${{ github.workspace }}/BuildRoot/Library/curl-7.77.0/usr/lib/cmake/CURL `
1880
1660
-D FOUNDATION_BUILD_TOOLS=${build_tools} `
1881
1661
-D ENABLE_TESTING=NO `
1882
- @ICU_FLAGS `
1883
1662
-D _SwiftFoundation_SourceDIR=$SWIFT_FOUNDATION_SOURCE_DIR `
1884
1663
-D _SwiftFoundationICU_SourceDIR=$SWIFT_FOUNDATION_ICU_SOURCE_DIR `
1885
1664
-D _SwiftCollections_SourceDIR=$SWIFT_COLLECTIONS_SOURCE_DIR `
0 commit comments