name: Build on: pull_request: push: branches: - master - staging - trying - bors/staging - bors/trying env: CARGO_TERM_COLOR: always jobs: # Run cargo fmt --check style: name: style runs-on: ubuntu-20.04 steps: - name: Checkout uses: actions/checkout@v2 - name: Install Rust uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: stable override: true components: rustfmt - name: Fail on warnings run: sed -i 's,//deny_warnings_placeholder_for_ci,#![deny(warnings)],' src/lib.rs - name: cargo fmt --check uses: actions-rs/cargo@v1 with: command: fmt args: --all -- --check # Compilation check check: name: check runs-on: ubuntu-20.04 strategy: matrix: target: - x86_64-unknown-linux-gnu toolchain: - stable steps: - name: Checkout uses: actions/checkout@v2 - name: Install Rust ${{ matrix.toolchain }} with target (${{ matrix.target }}) uses: actions-rs/toolchain@v1 with: toolchain: ${{ matrix.toolchain }} target: ${{ matrix.target }} override: true - name: Fail on warnings run: sed -i 's,//deny_warnings_placeholder_for_ci,#![deny(warnings)],' src/lib.rs - name: Cache Dependencies uses: Swatinem/rust-cache@v1 - name: cargo check uses: actions-rs/cargo@v1 with: use-cross: false command: check args: --target=${{ matrix.target }} # Clippy clippy: name: Cargo clippy runs-on: ubuntu-20.04 steps: - name: Checkout uses: actions/checkout@v2 - name: Install Rust stable uses: actions-rs/toolchain@v1 with: toolchain: stable target: x86_64-unknown-linux-gnu override: true - name: Fail on warnings run: sed -i 's,//deny_warnings_placeholder_for_ci,#![deny(warnings)],' src/lib.rs - name: Cache Dependencies uses: Swatinem/rust-cache@v1 - name: cargo clippy uses: actions-rs/cargo@v1 with: use-cross: false command: clippy # Verify all examples testexamples: name: testexamples runs-on: ubuntu-20.04 strategy: matrix: target: - x86_64-unknown-linux-gnu toolchain: - stable steps: - name: Checkout uses: actions/checkout@v2 - name: Install Rust ${{ matrix.toolchain }} with target (${{ matrix.target }}) uses: actions-rs/toolchain@v1 with: toolchain: ${{ matrix.toolchain }} target: ${{ matrix.target }} override: true - name: Cache Dependencies uses: Swatinem/rust-cache@v1 - name: Fail on warnings run: sed -i 's,//deny_warnings_placeholder_for_ci,#![deny(warnings)],' src/lib.rs - uses: actions-rs/cargo@v1 with: use-cross: false command: test args: --examples # Run test suite for UI testui: name: testui runs-on: ubuntu-20.04 strategy: matrix: target: - x86_64-unknown-linux-gnu toolchain: - stable steps: - name: Checkout uses: actions/checkout@v2 - name: Install Rust ${{ matrix.toolchain }} with target (${{ matrix.target }}) uses: actions-rs/toolchain@v1 with: toolchain: ${{ matrix.toolchain }} target: ${{ matrix.target }} override: true - name: Cache Dependencies uses: Swatinem/rust-cache@v1 - name: Fail on warnings run: sed -i 's,//deny_warnings_placeholder_for_ci,#![deny(warnings)],' src/lib.rs - uses: actions-rs/cargo@v1 with: use-cross: false command: test args: --test ui # Run test suite test: name: test runs-on: ubuntu-20.04 steps: - name: Checkout uses: actions/checkout@v2 - name: Install Rust uses: actions-rs/toolchain@v1 with: toolchain: stable target: thumbv7m-none-eabi override: true - name: Cache Dependencies uses: Swatinem/rust-cache@v1 - name: Fail on warnings run: sed -i 's,//deny_warnings_placeholder_for_ci,#![deny(warnings)],' src/lib.rs - uses: actions-rs/cargo@v1 with: use-cross: false command: test args: --lib # Refs: https://github.com/rust-lang/crater/blob/9ab6f9697c901c4a44025cf0a39b73ad5b37d198/.github/workflows/bors.yml#L125-L149 # # ALL THE PREVIOUS JOBS NEEDS TO BE ADDED TO THE `needs` SECTION OF THIS JOB! ci-success: name: ci if: github.event_name == 'push' && success() needs: - style - check - clippy - testexamples - test - testui runs-on: ubuntu-20.04 steps: - name: Mark the job as a success run: exit 0