Skip to content

Tracking rewrite

Tracking rewrite #4577

Workflow file for this run

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