Skip to content

Commit cf1451a

Browse files
authored
Adding Android CI (#189)
1 parent 2d620fc commit cf1451a

3 files changed

Lines changed: 43 additions & 10 deletions

File tree

.github/workflows/MistKit.yml

Lines changed: 39 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222

2323
steps:
2424
- uses: actions/checkout@v4
25-
- uses: brightdigit/swift-build@v1.3.3
25+
- uses: brightdigit/swift-build@v1.4.1
2626
- uses: sersoft-gmbh/swift-coverage-action@v4
2727
id: coverage-files
2828
with:
@@ -49,7 +49,7 @@ jobs:
4949
build: 6.2-RELEASE
5050
steps:
5151
- uses: actions/checkout@v4
52-
- uses: brightdigit/swift-build@v1.3.3
52+
- uses: brightdigit/swift-build@v1.4.1
5353
with:
5454
windows-swift-version: ${{ matrix.swift.version }}
5555
windows-swift-build: ${{ matrix.swift.build }}
@@ -62,7 +62,40 @@ jobs:
6262
token: ${{ secrets.CODECOV_TOKEN }}
6363
os: windows
6464
swift_project: MistKit
65-
# files: ${{ join(fromJSON(steps.coverage-files.outputs.files), ',') }}
65+
# files: ${{ join(fromJSON(steps.coverage-files.outputs.files), ',') }}
66+
build-android:
67+
name: Build on Android
68+
runs-on: ubuntu-latest
69+
if: ${{ !contains(github.event.head_commit.message, 'ci skip') }}
70+
strategy:
71+
fail-fast: false
72+
matrix:
73+
swift:
74+
- version: "6.1"
75+
- version: "6.2"
76+
android-api-level: [28, 33, 34]
77+
steps:
78+
- uses: actions/checkout@v4
79+
- name: Free disk space
80+
if: matrix.build-only == false
81+
uses: jlumbroso/free-disk-space@main
82+
with:
83+
tool-cache: false
84+
android: false
85+
dotnet: true
86+
haskell: true
87+
large-packages: true
88+
docker-images: true
89+
swap-storage: true
90+
- uses: brightdigit/swift-build@v1.4.1
91+
with:
92+
scheme: ${{ env.PACKAGE_NAME }}
93+
type: android
94+
android-swift-version: ${{ matrix.swift.version }}
95+
android-api-level: ${{ matrix.android-api-level }}
96+
android-run-tests: true
97+
# Note: Code coverage is not supported on Android builds
98+
# The Swift Android SDK does not include LLVM coverage tools (llvm-profdata, llvm-cov)
6699
build-macos:
67100
name: Build on macOS
68101
env:
@@ -132,7 +165,7 @@ jobs:
132165
- uses: actions/checkout@v4
133166

134167
- name: Build and Test
135-
uses: brightdigit/swift-build@v1.3.3
168+
uses: brightdigit/swift-build@v1.4.1
136169
with:
137170
scheme: ${{ env.PACKAGE_NAME }}
138171
type: ${{ matrix.type }}
@@ -153,9 +186,9 @@ jobs:
153186

154187
lint:
155188
name: Linting
156-
if: "!contains(github.event.head_commit.message, 'ci skip')"
189+
if: "!contains(github.event.head_commit.message, 'ci skip')"
157190
runs-on: ubuntu-latest
158-
needs: [build-ubuntu, build-macos, build-windows]
191+
needs: [build-ubuntu, build-macos, build-windows, build-android]
159192
env:
160193
MINT_PATH: .mint/lib
161194
MINT_LINK_PATH: .mint/bin

Package.resolved

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Package.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ let package = Package(
9797
dependencies: [
9898
// Swift OpenAPI Runtime dependencies
9999
.package(url: "https://github.com/apple/swift-openapi-runtime", from: "1.8.0"),
100-
.package(url: "https://github.com/apple/swift-openapi-urlsession", from: "1.1.0"),
100+
.package(url: "https://github.com/apple/swift-openapi-urlsession", from: "1.2.0"),
101101
// Crypto library for cross-platform cryptographic operations
102102
.package(url: "https://github.com/apple/swift-crypto.git", from: "3.0.0"),
103103
// Logging library for cross-platform logging

0 commit comments

Comments
 (0)