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
# Based on https://github.com/actions-rs/meta/blob/master/recipes/quickstart.md | |
# | |
# While our "example" application has the platform-specific code, | |
# for simplicity we are compiling and testing everything on the Ubuntu environment only. | |
# For multi-OS testing see the `cross.yml` workflow. | |
on: | |
push: {} | |
name: Compile and check main project | |
# We specify the examples individually since they might need a different environment | |
jobs: | |
compile_and_check: | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest, windows-latest, macos-latest] | |
runs-on: ${{ matrix.os }} | |
defaults: | |
run: | |
shell: bash | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions-rust-lang/setup-rust-toolchain@v1 | |
- uses: jwlawson/actions-setup-cmake@v2 | |
- uses: ilammy/setup-nasm@v1 | |
- name: Checkout sources | |
uses: actions/checkout@v2 | |
- name: Install alsa-tools (ubuntu only) | |
if: matrix.os == 'ubuntu-latest' | |
run: sudo apt-get install -y alsa-tools libasound2-dev libudev-dev | |
- name: "Activate MSYS2 on Windows" | |
if: matrix.os == 'windows-latest' | |
uses: msys2/setup-msys2@v2 | |
with: | |
msystem: UCRT64 | |
update: true | |
install: >- | |
clang | |
- name: Cargo build main project (Default features) | |
run: cargo build | |
- name: Cargo build main project (Optional features) | |
run: cargo build --features serialize,output-threaded | |
- name: Cargo clippy main project | |
run: cargo clippy |