Skip to content

ci: Remove --feature dart #967

ci: Remove --feature dart

ci: Remove --feature dart #967

Workflow file for this run

name: CI
on: [push]
env:
PROPTEST_CASES: 32
jobs:
check_and_test_on_linux:
name: check and test (linux)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
components: clippy
- uses: actions/cache@v3
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.toml') }}
- name: "Install dependencies"
# NOTE: libfuse-dev is required only to build and run the ouisync
# application. It is not required for building and using the ouisync
# library.
run: sudo apt-get install libfuse-dev
- name: "Run clippy"
run: cargo clippy --all-targets --no-deps -- -Dwarnings
- name: "Run unit tests"
run: cargo test --lib
- name: "Run lib integration tests"
env:
RUST_LOG: ouisync=debug,gc=debug,network=debug,sync=debug
run: cargo test -p ouisync --test gc --test network --test sync
- name: "Run cli integration tests"
run: cargo test -p ouisync-cli --test cli
check_on_windows:
name: check (windows)
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
components: clippy
- uses: actions/cache@v3
with:
path: |
~\cargo\bin
~\cargo\registry\index
~\cargo\registry\cache
~\cargo\git\db
target
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.toml') }}
- uses: actions-rs/cargo@v1
with:
command: clippy
args: --all-targets --no-deps -- -Dwarnings
check_on_android:
name: check (android)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
components: clippy
target: aarch64-linux-android
override: true
- uses: actions/cache@v3
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-android-cargo-${{ hashFiles('**/Cargo.toml') }}
- uses: actions-rs/cargo@v1
with:
command: clippy
args: --package ouisync --target aarch64-linux-android --all-targets --no-deps -- -Dwarnings
use-cross: true
build_and_test_kotlin_bindings:
name: build and test kolin bindings
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup rust
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
- name: Add rust targets
run: rustup target add x86_64-linux-android armv7-linux-androideabi aarch64-linux-android
- name: Setup java
uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: '17'
- name: Setup gradle
uses: gradle/gradle-build-action@v2
- name: Install dependencies
# NOTE: fuse isn't used by the bindings themselves but it's required for the unit tests
# because they use the linux version of the ouisync_ffi library, not the android one and
# the linux version does currently unconditionally depend on fuse.
run: sudo apt-get install libfuse-dev
- name: Cache cargo artifacts
uses: actions/cache@v3
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.toml') }}
- name: Cache gradle artifacts
uses: actions/cache@v3
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-gradle-
- name: Run unit tests
run: cd bindings/kotlin; ./gradlew lib:test
- name: Build the example app
run: cd bindings/kotlin; ./gradlew example:assembleDebug