fix(bindings): use the same library name for all platforms in the xcframework #9715
Workflow file for this run
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: Bindings tests | |
on: | |
workflow_dispatch: | |
push: | |
branches: [main] | |
pull_request: | |
branches: [main] | |
types: | |
- opened | |
- reopened | |
- synchronize | |
- ready_for_review | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
env: | |
CARGO_TERM_COLOR: always | |
jobs: | |
xtask: | |
uses: ./.github/workflows/xtask.yml | |
test-uniffi-codegen: | |
name: Test UniFFI bindings generation | |
needs: xtask | |
if: github.event_name == 'push' || !github.event.pull_request.draft | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Install protoc | |
uses: taiki-e/install-action@v2 | |
with: | |
tool: [email protected] | |
- name: Install Rust | |
uses: dtolnay/rust-toolchain@stable | |
# Cargo config can screw with caching and is only used for alias config | |
# and extra lints, which we don't care about here | |
- name: Delete cargo config | |
run: rm .cargo/config.toml | |
- name: Load cache | |
uses: Swatinem/rust-cache@v2 | |
with: | |
save-if: ${{ github.ref == 'refs/heads/main' }} | |
- name: Get xtask | |
uses: actions/cache/restore@v4 | |
with: | |
path: target/debug/xtask | |
key: "${{ needs.xtask.outputs.cachekey-linux }}" | |
fail-on-cache-miss: true | |
- name: Build library & generate bindings | |
run: target/debug/xtask ci bindings | |
test-apple: | |
name: matrix-rust-components-swift | |
needs: xtask | |
runs-on: macos-12 | |
if: github.event_name == 'push' || !github.event.pull_request.draft | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
# install protoc in case we end up rebuilding opentelemetry-proto | |
- name: Install protoc | |
uses: taiki-e/install-action@v2 | |
with: | |
tool: [email protected] | |
- name: Install Rust | |
uses: dtolnay/rust-toolchain@stable | |
- name: Install aarch64-apple-ios target | |
run: rustup target install aarch64-apple-ios | |
# Cargo config can screw with caching and is only used for alias config | |
# and extra lints, which we don't care about here | |
- name: Delete cargo config | |
run: rm .cargo/config.toml | |
- name: Load cache | |
uses: Swatinem/rust-cache@v2 | |
with: | |
save-if: ${{ github.ref == 'refs/heads/main' }} | |
- name: Get xtask | |
uses: actions/cache/restore@v4 | |
with: | |
path: target/debug/xtask | |
key: "${{ needs.xtask.outputs.cachekey-macos }}" | |
fail-on-cache-miss: true | |
- name: Build library & bindings | |
run: target/debug/xtask swift build-library | |
- name: Run XCTests | |
working-directory: bindings/apple | |
run: swift test | |
- name: Build Framework | |
run: target/debug/xtask swift build-framework --target=aarch64-apple-ios | |
complement-crypto: | |
name: "Run Complement Crypto tests" | |
uses: matrix-org/complement-crypto/.github/workflows/single_sdk_tests.yml@main | |
with: | |
use_rust_sdk: "." # use local checkout | |
use_complement_crypto: "MATCHING_BRANCH" | |
test-crypto-apple-framework-generation: | |
name: Generate Crypto FFI Apple XCFramework | |
runs-on: macos-12 | |
if: github.event_name == 'push' || !github.event.pull_request.draft | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
# install protoc in case we end up rebuilding opentelemetry-proto | |
- name: Install protoc | |
uses: taiki-e/install-action@v2 | |
with: | |
tool: [email protected] | |
- name: Install Rust | |
uses: dtolnay/rust-toolchain@stable | |
- name: Add rust targets | |
run: | | |
rustup target add aarch64-apple-ios | |
# Cargo config can screw with caching and is only used for alias config | |
# and extra lints, which we don't care about here | |
- name: Delete cargo config | |
run: rm .cargo/config.toml | |
- name: Load cache | |
uses: Swatinem/rust-cache@v2 | |
with: | |
save-if: ${{ github.ref == 'refs/heads/main' }} | |
- name: Run the Build Framework script | |
run: ./bindings/apple/build_crypto_xcframework.sh -i | |
- name: Is XCFramework generated? | |
if: ${{ hashFiles('generated/MatrixSDKCryptoFFI.zip') != '' }} | |
run: echo "XCFramework exists" |