Support automated UX testing #1493
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
on: | |
pull_request: | |
push: # Run CI on the main branch after every merge. This is important to fill the GitHub Actions cache in a way that pull requests can see it | |
branches: | |
- main | |
name: continuous-integration | |
jobs: | |
build-lint-test: | |
strategy: | |
fail-fast: false | |
matrix: | |
platform: [ubuntu-latest] | |
rust: | |
- stable | |
# Define the feature sets that will be built here (for caching you define a separate name) | |
style: [bashisms, default, sqlite, basqlite, external_printer] | |
include: | |
- style: bashisms | |
flags: "--features bashisms" | |
- style: external_printer | |
flags: "--features external_printer" | |
- style: default | |
flags: "" | |
- style: sqlite | |
flags: "--features sqlite" | |
- style: basqlite | |
flags: "--features bashisms,sqlite" | |
runs-on: ${{ matrix.platform }} | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Setup Rust toolchain | |
uses: actions-rust-lang/setup-rust-toolchain@v1.3.4 | |
- name: Setup nextest | |
uses: taiki-e/install-action@nextest | |
- name: Setup cargo-llvm-cov | |
uses: taiki-e/install-action@cargo-llvm-cov | |
- name: Rustfmt | |
run: cargo fmt --all -- --check | |
- name: Clippy | |
run: cargo clippy ${{ matrix.flags }} --all-targets --all -- -D warnings | |
- name: Tests | |
run: cargo llvm-cov nextest --all ${{ matrix.flags }} --lcov --output-path lcov.info | |
- name: Check lockfile | |
run: cargo check --locked ${{ matrix.flags }} --all-targets --all | |
- name: Doctests | |
run: cargo test --doc ${{ matrix.flags }} |