on: [pull_request] name: CI jobs: check: name: Check runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions-rust-lang/setup-rust-toolchain@v1 with: toolchain: stable override: true - uses: clechasseur/rs-cargo@v2 with: command: check test: name: Test Suite runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Install Taskwarrior uses: ./.github/actions/install-taskwarrior with: secret_gh_token: ${{ secrets.GITHUB_TOKEN }} - run: | # prepare taskwarrior, initial setup task rc.confirmation=off || echo 0 - uses: actions-rust-lang/setup-rust-toolchain@v1 with: toolchain: stable override: true - name: Install testdata uses: actions/checkout@v4 with: repository: kdheepak/taskwarrior-testdata path: taskwarrior-testdata - uses: clechasseur/rs-cargo@v2 with: command: test args: --workspace -- --nocapture env: TASKRC: taskwarrior-testdata/.taskrc TASKDATA: taskwarrior-testdata/.task RUST_BACKTRACE: full generate_coverage: uses: ./.github/workflows/generate_coverage.yml # Avoid double-compiling taskwarrior if not cached, or wasting CI time if tests fail needs: test fmt: name: Rustfm runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions-rust-lang/setup-rust-toolchain@v1 with: toolchain: nightly override: true components: rustfmt - uses: clechasseur/rs-cargo@v2 with: command: fmt args: --all -- --check clippy: name: Clippy runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions-rust-lang/setup-rust-toolchain@v1 with: toolchain: stable override: true components: clippy - uses: clechasseur/rs-cargo@v2 with: command: clippy args: -- -D warnings