ci: Remove --feature dart #967
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] | |
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 | |