mirror of
https://github.com/danbulant/cushy
synced 2026-06-15 12:31:11 +00:00
This snippet was copied from BonsaiDb, it basically clears up some things that aren't needed from the default Github CI.
62 lines
No EOL
2.1 KiB
YAML
62 lines
No EOL
2.1 KiB
YAML
name: Tests
|
|
|
|
on: [push]
|
|
|
|
jobs:
|
|
test:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
version: ["stable", "1.70.0"]
|
|
os: ["ubuntu-latest", "windows-latest", "macos-latest"]
|
|
runs-on: ${{ matrix.os }}
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
|
|
-
|
|
name: Free disk space
|
|
if: matrix.os == 'ubuntu-latest'
|
|
run: |
|
|
sudo docker rmi $(docker image ls -aq) || true
|
|
sudo rm -rf /usr/share/dotnet /usr/local/lib/android /opt/ghc || true
|
|
|
|
- name: Install x11 dependencies for Kludgine
|
|
if: matrix.os == 'ubuntu-latest'
|
|
run: |
|
|
sudo apt-get update -y -qq
|
|
|
|
# vulkan sdk
|
|
wget -qO - https://packages.lunarg.com/lunarg-signing-key-pub.asc | sudo apt-key add -
|
|
sudo wget -qO /etc/apt/sources.list.d/lunarg-vulkan-jammy.list https://packages.lunarg.com/vulkan/lunarg-vulkan-jammy.list
|
|
|
|
# install dependencies
|
|
sudo apt-get update
|
|
sudo apt-get install -y \
|
|
libegl-mesa0 libgl1-mesa-dri libxcb-xfixes0-dev vulkan-sdk mesa-vulkan-drivers
|
|
|
|
- uses: dtolnay/rust-toolchain@stable
|
|
with:
|
|
toolchain: ${{ matrix.version }}
|
|
|
|
- name: Run clippy
|
|
if: matrix.version == 'stable'
|
|
run: |
|
|
cargo clippy --all-features --all-targets
|
|
|
|
- name: Compile with all features
|
|
run: |
|
|
cargo build --all-features --all-targets
|
|
|
|
- name: Run all features unit tests
|
|
# for msrv, we only check build compatibility, as it's possible bugs are
|
|
# fixed purely by updating the rust version.
|
|
if: matrix.version == 'stable'
|
|
run: |
|
|
cargo test --all-features --all-targets -- --nocapture
|
|
env:
|
|
# When running on Mac OS CI, it's pretty common to not get an adapter
|
|
# returned. We don't want errors specifically caused by not being able
|
|
# to create a wgpu Adapter to cause unit test failures on CI. Long
|
|
# term it would be nice to have a reliable way to run Mac CI with a
|
|
# GPU adapter available.
|
|
NO_ADAPTER: ${{ matrix.os == 'macos-latest' && 'github-ci' || '' }} |