name: CI
on:
pull_request:
push:
jobs:
check-and-build:
strategy:
matrix:
rust_version: ['1.70.0', stable]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: hecrj/setup-rust-action@v1
with:
rust-version: ${{ matrix.rust_version }}
components: clippy, rustfmt
- run: sudo apt-get -qq update
- run: sudo apt-get install -y libxkbcommon-dev
- run: cargo fmt --all -- --check
- run: cargo clippy --all-features -- -Dwarnings
- run: cargo build --all-features
if: matrix.rust_version != 'stable'
- run: cargo build --all-features --examples
if: matrix.rust_version == 'stable'
- uses: actions/upload-artifact@v3
with:
name: reis-demo-server
path: target/debug/examples/reis-demo-server
libei-test:
runs-on: ubuntu-latest
needs: check-and-build
steps:
- run: git clone https://gitlab.freedesktop.org/libinput/libei .
- uses: actions/download-artifact@v3
with:
name: reis-demo-server
- run: chmod +x reis-demo-server
- run: sudo apt-get -qq update
- run: sudo apt-get install -y meson libsystemd-dev python3-pytest python3-structlog python3-attr python3-dbusmock python3-pip
- run: pip3 install strenum
- run: meson setup build
- run: meson compile -C build
- run: |
mkdir xdg
export XDG_RUNTIME_DIR=$PWD/xdg
export LIBEI_TEST_SERVER=$PWD/reis-demo-server
export LIBEI_TEST_SOCKET=$PWD/xdg/eis-0
cd build && pytest-3