[uniffi] Expose RosterUpdate
on Commit
(#127)
#745
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: Native | |
on: [push, pull_request] | |
env: | |
CARGO_TERM_COLOR: always | |
SSH_AUTH_SOCK: /tmp/ssh_agent.sock | |
jobs: | |
BuildAndTest: | |
strategy: | |
matrix: | |
os: [ubuntu-latest, macos-latest, windows-latest] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: arduino/setup-protoc@v2 | |
with: | |
version: "25.x" | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
- uses: dtolnay/rust-toolchain@stable | |
- uses: ilammy/setup-nasm@v1 | |
if: runner.os == 'Windows' | |
- run: echo "VCPKG_ROOT=$env:VCPKG_INSTALLATION_ROOT" | Out-File -FilePath $env:GITHUB_ENV -Append | |
if: runner.os == 'Windows' | |
- run: vcpkg install openssl:x64-windows-static-md sqlite3:x64-windows-static-md | |
if: runner.os == 'Windows' | |
- run: echo "OPENSSL_DIR=C:/vcpkg/packages/openssl_x64-windows-static-md" | Out-File -FilePath $env:GITHUB_ENV -Append | |
if: runner.os == 'Windows' | |
- run: curl -o C:/cacert.pem https://curl.se/ca/cacert.pem | |
if: runner.os == 'Windows' | |
- run: echo "SSL_CERT_FILE=C:/cacert.pem" | Out-File -FilePath $env:GITHUB_ENV -Append | |
if: runner.os == 'Windows' | |
- name: Rust Fmt | |
run: cargo fmt --all -- --check | |
- name: Clippy Full RFC Compliance | |
run: cargo clippy --all-targets --all-features --workspace -- -D warnings | |
- name: Clippy Bare Bones | |
run: cargo clippy --all-targets --no-default-features --features std,test_util --workspace -- -D warnings | |
- name: Test Full RFC Compliance | |
run: cargo test --all-features --verbose --workspace | |
- name: Test Bare Bones | |
run: cargo test --no-default-features --features std,test_util --verbose --workspace | |
- name: Test Async Full RFC | |
run: cargo test --lib --test '*' --verbose --features test_util -p mls-rs | |
env: | |
RUSTFLAGS: '--cfg mls_build_async' | |
- name: Test Async Bare Bones | |
run: cargo test --no-default-features --lib --test '*' --features std,test_util --verbose -p mls-rs | |
env: | |
RUSTFLAGS: '--cfg mls_build_async' | |
- name: Examples | |
working-directory: mls-rs | |
run: cargo run --example basic_usage | |
CodeCoverage: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: dtolnay/rust-toolchain@nightly | |
- name: Setup code coverage | |
run: cargo install cargo-llvm-cov | |
- name: Run code coverage | |
# Using `cargo llvm-cov show-env` lets us capture coverage | |
# information from Python integration tests. | |
run: | | |
source <(cargo llvm-cov show-env --export-prefix) | |
cargo llvm-cov clean --workspace | |
cargo test --features "test_util" | |
cargo llvm-cov report --lcov --output-path lcov.info | |
- name: Upload coverage reports to Codecov | |
uses: codecov/codecov-action@v3 | |
with: | |
files: lcov.info | |
env: | |
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} |