# Huge thanks to Alacritty, as their configuration served as a starting point for this one! # See: https://github.com/alacritty/alacritty name: CI on: [push, pull_request] env: CARGO_TERM_COLOR: always jobs: build: strategy: matrix: os: [windows-latest, macos-latest, ubuntu-latest] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v2 - name: Check formatting run: | rustup component add rustfmt cargo fmt --all -- --check - name: Install Linux dependencies if: ${{ runner.os == 'Linux' }} run: | sudo apt-get update sudo apt-get install -y libx11-dev libxtst-dev libxkbcommon-dev libdbus-1-dev libwxgtk3.0-gtk3-dev - name: Check clippy run: | rustup component add clippy cargo clippy -- -D warnings env: MACOSX_DEPLOYMENT_TARGET: "10.13" - name: Install cargo-make run: | cargo install --force cargo-make --version 0.34.0 - name: Run test suite run: cargo make test-binary - name: Build run: | cargo make build-binary build-wayland: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Check formatting run: | rustup component add rustfmt cargo fmt --all -- --check - name: Install Linux dependencies run: | sudo apt-get update sudo apt-get install -y libxkbcommon-dev libwxgtk3.0-gtk3-dev libdbus-1-dev - name: Check clippy run: | rustup component add clippy cargo clippy -p espanso --features wayland -- -D warnings - name: Install cargo-make run: | cargo install --force cargo-make --version 0.34.0 - name: Run test suite run: cargo make test-binary --env NO_X11=true - name: Build run: cargo make build-binary --env NO_X11=true build-macos-arm: runs-on: macos-11 steps: - uses: actions/checkout@v2 - name: Install target run: rustup update && rustup target add aarch64-apple-darwin - name: Install cargo-make run: | cargo install --force cargo-make --version 0.34.0 - name: Build run: | cargo make build-macos-arm-binary # - name: Setup tmate session # uses: mxschmitt/action-tmate@v3 # with: # limit-access-to-actor: true # TODO: add clippy check