name: devel on: pull_request: push: branches: - 1.x schedule: - cron: '00 04 * * *' jobs: test: name: test runs-on: ${{ matrix.os }} env: CARGO_BIN: cargo # When CARGO_BIN is set to CROSS, this is set to `--target matrix.target` TARGET_FLAGS: "" # When CARGO_BIN is set to CROSS, TARGET_DIR includes matrix.target TARGET_DIR: ./target # Emit backtraces on panics RUST_BACKTRACE: 1 strategy: matrix: build: - pinned - stable - beta - linux-musl - linux-musl-arm64 - linux-gnu - linux-gnu-arm64 - linux-arm-gnueabihf - macos - macos-arm64 - windows-msvc - windows-msvc-arm64 include: - build: pinned os: ubuntu-20.04 rust: 1.58.1 - build: stable os: ubuntu-20.04 rust: stable - build: beta os: ubuntu-20.04 rust: beta - build: linux-musl os: ubuntu-20.04 rust: stable target: x86_64-unknown-linux-musl - build: linux-musl-arm64 os: ubuntu-20.04 rust: stable target: aarch64-unknown-linux-musl - build: linux-gnu os: ubuntu-20.04 rust: stable target: x86_64-unknown-linux-gnu - build: linux-gnu-arm64 os: ubuntu-20.04 rust: stable target: aarch64-unknown-linux-gnu - build: linux-arm-gnueabihf os: ubuntu-20.04 rust: nightly target: arm-unknown-linux-gnueabihf - build: macos os: macos-11 rust: stable target: x86_64-apple-darwin - build: macos-arm64 os: macos-11 rust: stable target: aarch64-apple-darwin - build: windows-msvc os: windows-2019 rust: stable target: x86_64-pc-windows-msvc - build: windows-msvc-arm64 os: windows-2019 rust: stable target: aarch64-pc-windows-msvc steps: - name: Checkout repository uses: actions/checkout@v3 - name: Install Rust uses: dtolnay/rust-toolchain@stable with: toolchain: ${{ matrix.rust }} - name: Use Cross if: matrix.target != '' run: | cargo install cross echo "CARGO_BIN=cross" >> $GITHUB_ENV echo "TARGET_FLAGS=--target ${{ matrix.target }}" >> $GITHUB_ENV echo "TARGET_DIR=./target/${{ matrix.target }}" >> $GITHUB_ENV - name: Run tests run: ${{ env.CARGO_BIN }} test --verbose - name: Build static-web-server and crates run: ${{ env.CARGO_BIN }} build --verbose checks: name: checks runs-on: ubuntu-20.04 steps: - name: Checkout repository uses: actions/checkout@v2 - name: Install stable toolchain uses: dtolnay/rust-toolchain@stable with: toolchain: stable components: rustfmt, clippy - name: Check formatting run: | cargo fmt --all -- --check - name: Check via Clippy uses: actions-rs/clippy-check@v1 with: token: ${{ secrets.GITHUB_TOKEN }} args: --all-features -- -D warnings