name: Build and test on: push: branches: - master pull_request: jobs: build_and_test: runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: [ubuntu-latest] rust: [nightly, beta, stable] steps: - uses: actions/checkout@v2 - name: Set current week of the year in environnement if: startsWith(matrix.os, 'ubuntu') || startsWith(matrix.os, 'macOS') run: echo "::set-env name=CURRENT_WEEK::$(date +%V)" - name: Set current week of the year in environnement if: startsWith(matrix.os, 'windows') run: echo "::set-env name=CURRENT_WEEK::$(Get-Date -UFormat %V)" - name: Install latest ${{ matrix.rust }} uses: actions-rs/toolchain@v1 with: toolchain: ${{ matrix.rust }} profile: minimal override: true - name: Run cargo check uses: actions-rs/cargo@v1 with: command: check args: --all --bins --examples --tests --all-features - name: Run cargo check (without dev-dependencies to catch missing feature flags) if: startsWith(matrix.rust, 'nightly') uses: actions-rs/cargo@v1 with: command: check args: -Z features=dev_dep - name: Run cargo test uses: actions-rs/cargo@v1 with: command: test