on: [push, pull_request, workflow_dispatch] name: CI env: RUSTFLAGS: -D warnings RUSTDOCFLAGS: -D warnings jobs: check: name: Check runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: stable override: true - uses: actions-rs/cargo@v1 with: command: check args: --all-features check_wasm: name: Check wasm32 runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: stable target: wasm32-unknown-unknown override: true - uses: actions-rs/cargo@v1 with: command: check args: --all-features --lib --target wasm32-unknown-unknown test: name: Test Suite runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: stable override: true - run: sudo apt-get install libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libxkbcommon-dev libssl-dev - uses: actions-rs/cargo@v1 with: command: test args: --lib fmt: name: Rustfmt runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: stable override: true components: rustfmt - uses: actions-rs/cargo@v1 with: command: fmt args: --all -- --check clippy: name: Clippy runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: stable override: true components: clippy - uses: actions-rs/cargo@v1 with: command: clippy args: -- -D warnings trunk: name: trunk runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: 1.88.0 target: wasm32-unknown-unknown override: true - name: Download and install Trunk binary run: wget -qO- https://github.com/thedodd/trunk/releases/latest/download/trunk-x86_64-unknown-linux-gnu.tar.gz | tar -xzf- - name: Build run: ./trunk build build: runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: include: - os: macos-latest TARGET: aarch64-apple-darwin - os: macos-latest TARGET: x86_64-apple-darwin - os: ubuntu-latest TARGET: arm-unknown-linux-musleabihf - os: ubuntu-latest TARGET: armv7-unknown-linux-musleabihf - os: ubuntu-latest TARGET: x86_64-unknown-linux-musl - os: windows-latest TARGET: x86_64-pc-windows-msvc EXTENSION: .exe steps: - name: Building ${{ matrix.TARGET }} run: echo "${{ matrix.TARGET }}" - uses: actions/checkout@master - uses: actions-rs/toolchain@v1.0.1 with: toolchain: stable target: ${{ matrix.TARGET }} override: true - uses: actions-rs/cargo@v1 with: use-cross: true command: build args: --verbose --release --target=${{ matrix.TARGET }}