66 name : Baremetal Embedded ARM
77 runs-on : ubuntu-latest
88 container : swiftlang/swift:nightly-jammy
9+ strategy :
10+ matrix :
11+ target : ["Bluetooth", "BluetoothGAP"]
912 steps :
1013 - name : Install dependencies
1114 run : apt update -y; apt install libtool-bin -y;
@@ -14,30 +17,89 @@ jobs:
1417 - name : Swift Version
1518 run : swift --version
1619 - name : Build Bluetooth
17- run : SWIFTPM_ENABLE_MACROS=0 SWIFTPM_ENABLE_PLUGINS=0 SWIFTPM_BLUETOOTH_METADATA=0 swift build --triple armv6m-apple-none-macho --configuration release --verbose -Xswiftc -enable-experimental-feature -Xswiftc Embedded -Xswiftc -disable-stack-protector -Xcc -D__MACH__ -Xcc -ffreestanding -Xcc -mcpu=cortex-m0plus -Xcc -mthumb --target Bluetooth
18- - name : Build BluetoothGAP
19- run : SWIFTPM_ENABLE_MACROS=0 SWIFTPM_ENABLE_PLUGINS=0 SWIFTPM_BLUETOOTH_METADATA=0 swift build --triple armv6m-apple-none-macho --configuration release --verbose -Xswiftc -enable-experimental-feature -Xswiftc Embedded -Xswiftc -disable-stack-protector -Xcc -D__MACH__ -Xcc -ffreestanding -Xcc -mcpu=cortex-m0plus -Xcc -mthumb --target BluetoothGAP
20+ run : SWIFTPM_ENABLE_MACROS=0 SWIFTPM_ENABLE_PLUGINS=0 SWIFTPM_BLUETOOTH_METADATA=0 SWIFT_BLUETOOTH_C_SHIMS=0 swift build --triple armv6m-apple-none-macho --configuration release --verbose -Xswiftc -enable-experimental-feature -Xswiftc Embedded -Xcc -D__MACH__ -Xcc -ffreestanding -Xcc -mcpu=cortex-m0plus -Xcc -mthumb --target ${{ matrix.target }}
21+
22+ linux-arm-raspios-build :
23+ name : Linux (Build)
24+ runs-on : ubuntu-latest
25+ strategy :
26+ matrix :
27+ config : ["debug" , "release"]
28+ swift : ["6.1.2"]
29+ linux : ["raspios"]
30+ release : ["bookworm"]
31+ arch : ["armv6", "armv7"]
32+ container : swift:${{ matrix.swift }}
33+ steps :
34+ - name : Checkout
35+ uses : actions/checkout@v4
36+ - name : Install dependencies
37+ run : apt update -y; apt install wget -y
38+ - name : Install SDK
39+ run : |
40+ wget https://github.com/xtremekforever/swift-armv7/releases/download/${{ matrix.swift }}/swift-${{ matrix.swift }}-RELEASE-${{ matrix.linux }}-${{ matrix.release }}-${{ matrix.arch }}-sdk.tar.gz
41+ tar -xvf swift-${{ matrix.swift }}-RELEASE-${{ matrix.linux }}-${{ matrix.release }}-${{ matrix.arch }}-sdk.tar.gz
42+ mv swift-${{ matrix.swift }}-RELEASE-${{ matrix.linux }}-${{ matrix.release }}-${{ matrix.arch }} /opt/swift-${{ matrix.swift }}-RELEASE-${{ matrix.linux }}-${{ matrix.release }}-${{ matrix.arch }}
43+ - name : Swift Version
44+ run : swift --version
45+ - name : Build
46+ run : SWIFT_BUILD_DYNAMIC_LIBRARY=1 swift build -c ${{ matrix.config }} --destination /opt/swift-${{ matrix.swift }}-RELEASE-${{ matrix.linux }}-${{ matrix.release }}-${{ matrix.arch }}/${{ matrix.linux }}-${{ matrix.release }}.json
47+
48+ linux-arm-debian-build :
49+ name : Linux (Build)
50+ runs-on : ubuntu-latest
51+ strategy :
52+ matrix :
53+ config : ["debug" , "release"]
54+ swift : ["6.1.2"]
55+ linux : ["debian"]
56+ release : ["bookworm", "bullseye"]
57+ arch : ["armv7"]
58+ container : swift:${{ matrix.swift }}
59+ steps :
60+ - name : Checkout
61+ uses : actions/checkout@v4
62+ - name : Install dependencies
63+ run : apt update -y; apt install wget -y
64+ - name : Install SDK
65+ run : |
66+ wget https://github.com/xtremekforever/swift-armv7/releases/download/${{ matrix.swift }}/swift-${{ matrix.swift }}-RELEASE-${{ matrix.linux }}-${{ matrix.release }}-${{ matrix.arch }}-sdk.tar.gz
67+ tar -xvf swift-${{ matrix.swift }}-RELEASE-${{ matrix.linux }}-${{ matrix.release }}-${{ matrix.arch }}-sdk.tar.gz
68+ mv swift-${{ matrix.swift }}-RELEASE-${{ matrix.linux }}-${{ matrix.release }}-${{ matrix.arch }} /opt/swift-${{ matrix.swift }}-RELEASE-${{ matrix.linux }}-${{ matrix.release }}-${{ matrix.arch }}
69+ - name : Swift Version
70+ run : swift --version
71+ - name : Build
72+ run : SWIFT_BUILD_DYNAMIC_LIBRARY=1 swift build -c ${{ matrix.config }} --destination /opt/swift-${{ matrix.swift }}-RELEASE-${{ matrix.linux }}-${{ matrix.release }}-${{ matrix.arch }}/${{ matrix.linux }}-${{ matrix.release }}.json
73+ - name : Upload artifacts
74+ uses : actions/upload-artifact@v4
75+ with :
76+ name : " swift-${{ matrix.swift }}-RELEASE-${{ matrix.linux }}-${{ matrix.release }}-${{ matrix.arch }}-bluetooth-${{ matrix.config }}"
77+ path : .build/armv7-unknown-linux-gnueabihf/${{ matrix.config }}/libBluetooth.so
78+
2079
21- armv7-bookworm :
22- name : Armv7 Debian Bookworm
80+ linux-arm-test :
81+ name : Linux (Test)
2382 runs-on : ubuntu-latest
24- container : swift:6.0.3
83+ strategy :
84+ matrix :
85+ swift : ["6.0.3"]
86+ container : swift:${{ matrix.swift }}
2587 steps :
2688 - name : Checkout
2789 uses : actions/checkout@v4
2890 - name : Install dependencies
2991 run : apt update -y; apt install wget -y
3092 - name : Install SDK
3193 run : |
32- wget https://github.com/xtremekforever/swift-armv7/releases/download/6.0.3 /swift-6.0.3 -RELEASE-debian-bookworm-armv7-sdk.tar.gz
33- tar -xvf swift-6.0.3 -RELEASE-debian-bookworm-armv7-sdk.tar.gz
34- mv swift-6.0.3 -RELEASE-debian-bookworm-armv7 /opt/swift-6.0.3 -RELEASE-debian-bookworm-armv7
94+ wget https://github.com/xtremekforever/swift-armv7/releases/download/${{ matrix.swift }} /swift-${{ matrix.swift }} -RELEASE-debian-bookworm-armv7-sdk.tar.gz
95+ tar -xvf swift-${{ matrix.swift }} -RELEASE-debian-bookworm-armv7-sdk.tar.gz
96+ mv swift-${{ matrix.swift }} -RELEASE-debian-bookworm-armv7 /opt/swift-${{ matrix.swift }} -RELEASE-debian-bookworm-armv7
3597 - name : Swift Version
3698 run : swift --version
3799 - name : Build
38- run : swift build --build-tests --destination /opt/swift-6.0.3 -RELEASE-debian-bookworm-armv7/debian-bookworm.json
100+ run : SWIFT_BUILD_DYNAMIC_LIBRARY=0 swift build --build-tests --destination /opt/swift-${{ matrix.swift }} -RELEASE-debian-bookworm-armv7/debian-bookworm.json
39101 - name : Upload artifacts
40102 uses : actions/upload-artifact@v4
41103 with :
42- name : " armv7-bookworm"
104+ name : " linux- armv7-bookworm-tests-${{ matrix.swift }} "
43105 path : .build/armv7-unknown-linux-gnueabihf/debug/BluetoothPackageTests.xctest
0 commit comments