Skip to content

Expose phonex-channels-clients to FFI #48

Expose phonex-channels-clients to FFI

Expose phonex-channels-clients to FFI #48

name: Uniffi Swift Package Tests
on: pull_request
env:
CARGO_TERM_COLOR: always
TOOLCHAIN: nightly
CARGO_MAKE_TOOLCHAIN: nightly
jobs:
integration_tests:
runs-on: macos-14
steps:
- uses: actions/checkout@v4
- name: Install Rust Nightly
uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ env.TOOLCHAIN }}
components: rust-src
targets:
aarch64-apple-ios-sim
aarch64-apple-ios
x86_64-apple-ios
aarch64-apple-darwin
x86_64-apple-darwin
- name: Cache deps
id: cache-deps
uses: actions/cache@v4
env:
cache-name: cache-elixir-deps
with:
path: tests/support/test_server/deps
key: ${{ runner.os }}-mix-${{ env.cache-name }}-2-${{ hashFiles('**/mix.lock') }}
restore-keys: |
${{ runner.os }}-mix-${{ env.cache-name }}-
- name: Cache compiled build
id: cache-build
uses: actions/cache@v4
env:
cache-name: cache-compiled-build
with:
path: tests/support/test_server/_build
key: ${{ runner.os }}-mix-${{ env.cache-name }}-2-${{ hashFiles('**/mix.lock') }}
restore-keys: |
${{ runner.os }}-mix-${{ env.cache-name }}-
${{ runner.os }}-mix-
- name: Set up Elixir
run: brew install elixir
- name: Install test server dependencies, compile and run in background
working-directory: ./tests/support/test_server
run: |
mix deps.get
mix compile
mix phx.server &
- uses: taiki-e/install-action@v2
with:
tool: cargo-make
- name: Cache
uses: actions/cache@v4
with:
path: |
~/.cargo/bin
~/.cargo/git
~/.cargo/registry
target
key: ${{ github.workflow }}-${{ github.job }}-toolchain-${{ env.TOOLCHAIN }}-cargo-${{ hashFiles('**/Cargo.lock') }}
- name: Build swift package
uses: actions-rs/cargo@v1
with:
command: make
args: uniffi-swift-package
- name: Test swift package
uses: actions-rs/cargo@v1
with:
command: make
args: uniffi-swift-test # This also runs the uniffi-swift-package step.