on: push: branches: - master pull_request: branches: - master name: CI env: CI_CARGO_MAKE_VERSION: 0.35.16 jobs: linux: name: Linux runs-on: ubuntu-latest strategy: matrix: rust: ["1.56.1", "stable"] steps: - uses: hecrj/setup-rust-action@967aec96c6a27a0ce15c1dac3aaba332d60565e2 with: rust-version: ${{ matrix.rust }} components: rustfmt,clippy - uses: actions/checkout@v1 - name: "Get cargo bin directory" id: cargo-bin-dir run: echo "::set-output name=dir::$HOME/.cargo/bin" - name: "Cache cargo make" id: cache-cargo-make uses: actions/cache@v2 with: path: ${{ steps.cargo-bin-dir.outputs.dir }}/cargo-make key: ${{ runner.os }}-${{ matrix.rust }}-cargo-make-${{ env.CI_CARGO_MAKE_VERSION }} - name: "Install cargo-make" if: steps.cache-cargo-make.outputs.cache-hit != 'true' run: cargo install cargo-make --version ${{ env.CI_CARGO_MAKE_VERSION }} - name: "Format / Build / Test" run: cargo make ci env: RUST_BACKTRACE: full windows: name: Windows runs-on: windows-latest strategy: matrix: rust: ["1.56.1", "stable"] steps: - uses: actions/checkout@v1 - uses: hecrj/setup-rust-action@967aec96c6a27a0ce15c1dac3aaba332d60565e2 with: rust-version: ${{ matrix.rust }} components: rustfmt,clippy - uses: actions/checkout@v1 - name: "Get cargo bin directory" id: cargo-bin-dir run: echo "::set-output name=dir::$HOME\.cargo\bin" - name: "Cache cargo make" id: cache-cargo-make uses: actions/cache@v2 with: path: ${{ steps.cargo-bin-dir.outputs.dir }}\cargo-make.exe key: ${{ runner.os }}-${{ matrix.rust }}-cargo-make-${{ env.CI_CARGO_MAKE_VERSION }} - name: "Install cargo-make" if: steps.cache-cargo-make.outputs.cache-hit != 'true' run: cargo install cargo-make --version ${{ env.CI_CARGO_MAKE_VERSION }} - name: "Format / Build / Test" run: cargo make ci env: RUST_BACKTRACE: full