name: Rust
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
env:
CARGO_TERM_COLOR: always
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install GLFW dependencies
run: |
sudo apt-get update
sudo apt-get install -y libglfw3-dev libgl-dev libxrandr-dev libxi-dev libxcursor-dev libxinerama-dev
- name: Install XVFB and dependencies
if: runner.os == 'Linux'
run: |
sudo apt-get update
sudo apt-get install -y xvfb libgtk2.0-0 libgtk-3-0 libgbm-dev libnotify-dev libnss3 libxss1 libxtst6 xauth x11-apps imagemagick
- name: Start XVFB
if: runner.os == 'Linux'
run: |
Xvfb :99 -screen 0 1920x1080x24 &
export DISPLAY=:99.0
- name: Build
run: cargo build --release --verbose
- name: Run tests
run: |
export DISPLAY=:99.0
cargo test --release --verbose -- --nocapture