Added helper functions #202
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
push: | |
branches: [master, trunk] | |
pull_request: | |
jobs: | |
fmt: | |
name: Check formatting | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: nightly | |
components: rustfmt | |
override: true | |
- name: Check formatting | |
uses: actions-rs/cargo@v1 | |
with: | |
command: fmt | |
args: -- --check | |
test: | |
name: Check that examples build | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
override: true | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: test | |
build: | |
name: Check that the code builds | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
override: true | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: build | |
examples: | |
name: Check that examples build | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
override: true | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: build | |
args: --features webview --example webview_custom_protocol | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
override: true | |
target: x86_64-apple-ios | |
# Since it's all Objective-C message passing under the hood, we're | |
# really just looking for whether we've broken the iOS build. It is likely | |
# that more robust tests/checking infrastructure should exist for this side | |
# of things as the iOS portion gets iterated on. | |
# | |
# (e.g, this at the moment will not catch invalid selector calls, like if an appkit-specific | |
# selector is used for something on iOS) | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: build | |
args: --target x86_64-apple-ios --example ios-beta --no-default-features --features uikit,autolayout | |
ios: | |
name: Check that iOS tests pass via dinghy. | |
runs-on: macos-latest | |
steps: | |
- name: Install cargo-dinghy | |
uses: baptiste0928/cargo-install@v2 | |
with: | |
crate: cargo-dinghy | |
- uses: actions/checkout@v4 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
override: true | |
target: x86_64-apple-ios | |
- name: Launch XCode Simulator and prepare Dinghy | |
run: | | |
# Get system info | |
xcrun simctl list runtimes | |
# Launch the simulator | |
RUNTIME_ID=$(xcrun simctl list runtimes | grep iOS | cut -d ' ' -f 7 | tail -1) | |
SIM_ID=$(xcrun simctl create My-iphone-se com.apple.CoreSimulator.SimDeviceType.iPhone-14 $RUNTIME_ID) | |
xcrun simctl boot $SIM_ID | |
- name: Dinghy test | |
run: | | |
cargo dinghy --platform auto-ios-x86_64 test --no-default-features --features uikit,autolayout |