Tracking rewrite #4577
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: Rust | |
on: | |
push: | |
branches: [master] | |
pull_request: | |
branches: [master] | |
env: | |
CARGO_TERM_COLOR: always | |
jobs: | |
check-windows: | |
runs-on: windows-2022 | |
env: | |
LIBCLANG_PATH: 'C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\Llvm\x64\bin' | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- uses: dtolnay/rust-toolchain@stable | |
with: | |
components: clippy | |
- uses: Swatinem/rust-cache@v2 | |
- name: Prepare deps | |
env: | |
RUST_BACKTRACE: 1 | |
run: cargo xtask prepare-deps --platform windows | |
- run: cargo xtask clippy --ci | |
check-linux: | |
runs-on: ubuntu-24.04 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- uses: dtolnay/rust-toolchain@stable | |
with: | |
components: clippy | |
- uses: Swatinem/rust-cache@v2 | |
- name: Install dependencies | |
run: | | |
sudo apt update | |
sudo apt install build-essential pkg-config nasm libva-dev libdrm-dev libvulkan-dev libx264-dev libasound2-dev libxrandr-dev libunwind-dev libgtk-3-dev libpipewire-0.3-dev libspa-0.2-dev | |
- name: Prepare deps | |
env: | |
RUST_BACKTRACE: 1 | |
run: cargo xtask prepare-deps --platform linux --no-nvidia | |
- run: cargo xtask clippy --ci | |
check-macos: | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- uses: dtolnay/rust-toolchain@stable | |
with: | |
components: clippy | |
- uses: Swatinem/rust-cache@v2 | |
# This step currently does nothing on macos, but might in the future | |
# - run: cargo xtask prepare-deps --platform macos | |
- run: cargo clippy | |
build-android: | |
runs-on: ubuntu-24.04 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- uses: dtolnay/rust-toolchain@stable | |
with: | |
targets: aarch64-linux-android | |
- uses: Swatinem/rust-cache@v2 | |
- uses: actions/setup-java@v2 | |
with: | |
distribution: 'temurin' | |
java-version: '17' | |
- uses: android-actions/setup-android@v3 | |
with: | |
packages: 'platforms;android-32' | |
- uses: nttld/setup-ndk@v1 | |
id: setup-ndk | |
with: | |
ndk-version: r26b | |
- name: Install deps | |
run: cargo install cargo-apk | |
# Create folder without content to make the build succeed | |
- run: mkdir -p deps/android_openxr/arm64-v8a | |
- name: Build client | |
env: | |
ANDROID_NDK_HOME: ${{ steps.setup-ndk.outputs.ndk-path }} | |
working-directory: ./alvr/client_openxr | |
run: cargo xtask build-client | |
tests: | |
runs-on: ubuntu-24.04 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- uses: dtolnay/rust-toolchain@stable | |
- uses: Swatinem/rust-cache@v2 | |
- name: Run tests | |
run: cargo test -p alvr_session | |
check-format: | |
runs-on: ubuntu-24.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@stable | |
with: | |
components: rustfmt | |
- run: cargo xtask check-format | |
check-msrv-windows: | |
runs-on: windows-2022 | |
env: | |
LIBCLANG_PATH: 'C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\Llvm\x64\bin' | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- uses: dtolnay/rust-toolchain@stable | |
- uses: Swatinem/rust-cache@v2 | |
# Fix actions rust install and msrv both being stupid | |
- run: rustup update | |
- name: Prepare deps | |
env: | |
RUST_BACKTRACE: 1 | |
run: cargo xtask prepare-deps --platform windows | |
- run: cargo xtask check-msrv | |
check-msrv-linux: | |
runs-on: ubuntu-24.04 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- uses: dtolnay/rust-toolchain@stable | |
- uses: Swatinem/rust-cache@v2 | |
- name: Install dependencies | |
run: | | |
sudo apt update | |
sudo apt install build-essential pkg-config nasm libva-dev libdrm-dev libvulkan-dev libx264-dev libasound2-dev libxrandr-dev libunwind-dev libgtk-3-dev libpipewire-0.3-dev libspa-0.2-dev | |
- name: Prepare deps | |
env: | |
RUST_BACKTRACE: 1 | |
run: cargo xtask prepare-deps --platform linux --no-nvidia | |
- run: cargo xtask check-msrv |