37 lines
1.1 KiB
YAML
37 lines
1.1 KiB
YAML
name: iOS and Rust
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
|
|
jobs:
|
|
rust:
|
|
runs-on: macos-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: dtolnay/rust-toolchain@stable
|
|
- name: Format
|
|
run: cargo fmt -- --check
|
|
- name: Core check
|
|
run: cargo check -p tele-core
|
|
- name: Workspace clippy
|
|
run: cargo clippy --workspace --all-targets --all-features -- -D warnings
|
|
- name: Workspace tests
|
|
run: cargo test --workspace --all-features
|
|
- name: Generate iOS FFI bindings
|
|
run: scripts/generate-ios-ffi-bindings.sh /tmp/tele-ios-ffi
|
|
- name: Swift bindings typecheck
|
|
run: swiftc -typecheck -I /tmp/tele-ios-ffi/Headers /tmp/tele-ios-ffi/Swift/tele_ios_ffi.swift
|
|
|
|
ios-shell:
|
|
runs-on: macos-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Build SwiftUI app shell
|
|
working-directory: apps/ios/TeleTuiIOS
|
|
run: swift build --product TeleTuiIOSApp
|
|
- name: Run SwiftUI smoke tests
|
|
working-directory: apps/ios/TeleTuiIOS
|
|
run: swift run TeleTuiIOSSmokeTests
|