140 lines
3.6 KiB
YAML
140 lines
3.6 KiB
YAML
name: Rust
|
|
|
|
on:
|
|
push:
|
|
branches: [master]
|
|
pull_request:
|
|
branches: [master]
|
|
|
|
env:
|
|
CARGO_TERM_COLOR: always
|
|
|
|
jobs:
|
|
build_windows:
|
|
runs-on: windows-2019
|
|
env:
|
|
LIBCLANG_PATH: 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\Llvm\x64\bin'
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- uses: actions-rs/toolchain@v1
|
|
with:
|
|
toolchain: stable
|
|
override: true
|
|
- uses: Swatinem/rust-cache@v1
|
|
|
|
- uses: crazy-max/ghaction-chocolatey@v1
|
|
with:
|
|
args: install vulkan-sdk
|
|
|
|
- name: Build crates
|
|
uses: actions-rs/cargo@v1
|
|
with:
|
|
command: build
|
|
args: -p alvr_xtask -p alvr_server -p alvr_launcher --verbose
|
|
|
|
build_linux:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- uses: actions-rs/toolchain@v1
|
|
with:
|
|
toolchain: stable
|
|
override: true
|
|
- uses: Swatinem/rust-cache@v1
|
|
|
|
- name: Build and install dependencies
|
|
env:
|
|
RUST_BACKTRACE: 1
|
|
run: |
|
|
sudo apt update
|
|
sudo apt install build-essential pkg-config nasm libva-dev libdrm-dev libvulkan-dev libx264-dev libx265-dev cmake libasound2-dev libjack-jackd2-dev libxrandr-dev libunwind-dev
|
|
cargo xtask prepare-deps --platform linux --no-nvidia
|
|
|
|
- name: Build crates
|
|
uses: actions-rs/cargo@v1
|
|
with:
|
|
command: build
|
|
args: -p alvr_xtask -p alvr_launcher -p alvr_server --features gpl -p alvr_vulkan_layer -p alvr_vrcompositor_wrapper --verbose
|
|
|
|
build_client_core:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- uses: actions-rs/toolchain@v1
|
|
with:
|
|
toolchain: stable
|
|
override: true
|
|
- uses: actions-rs/toolchain@v1
|
|
with:
|
|
toolchain: stable
|
|
target: aarch64-linux-android
|
|
override: true
|
|
- uses: Swatinem/rust-cache@v1
|
|
- uses: nttld/setup-ndk@v1
|
|
id: setup-ndk
|
|
with:
|
|
ndk-version: r22b
|
|
|
|
- name: Install deps
|
|
uses: actions-rs/cargo@v1
|
|
with:
|
|
command: install
|
|
args: cargo-ndk
|
|
|
|
- name: Build client lib
|
|
env:
|
|
ANDROID_NDK_HOME: ${{ steps.setup-ndk.outputs.ndk-path }}
|
|
working-directory: ./alvr/client_core
|
|
run:
|
|
cargo ndk -t arm64-v8a build
|
|
|
|
tests:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- uses: actions-rs/toolchain@v1
|
|
with:
|
|
toolchain: stable
|
|
override: true
|
|
- uses: Swatinem/rust-cache@v1
|
|
|
|
- name: Run tests
|
|
uses: actions-rs/cargo@v1
|
|
with:
|
|
command: test
|
|
args: -p alvr_session --verbose
|
|
|
|
rustfmt:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- uses: actions-rs/toolchain@v1
|
|
with:
|
|
profile: minimal
|
|
toolchain: stable
|
|
override: true
|
|
components: rustfmt
|
|
- uses: actions-rs/cargo@v1
|
|
with:
|
|
command: fmt
|
|
args: --all -- --check
|
|
|
|
clippy:
|
|
runs-on: windows-2019
|
|
env:
|
|
LIBCLANG_PATH: 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\Llvm\x64\bin'
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- uses: actions-rs/toolchain@v1
|
|
with:
|
|
profile: minimal
|
|
toolchain: stable
|
|
override: true
|
|
components: clippy
|
|
- uses: Swatinem/rust-cache@v1
|
|
|
|
- uses: ErichDonGubler/clippy-check@fix-windows-lf-breaking-reports
|
|
with:
|
|
token: ${{ secrets.GITHUB_TOKEN }}
|
|
args: -p alvr_xtask -p alvr_common -p alvr_server -p alvr_launcher
|