Modal Modes #1513
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@v4 | |
- name: Setup Rust toolchain | |
uses: actions-rust-lang/[email protected] | |
- name: Setup nextest | |
uses: taiki-e/install-action@nextest | |
- name: Rustfmt | |
run: cargo fmt --all -- --check | |
- name: Clippy | |
run: cargo clippy ${{ matrix.flags }} --all-targets --all -- -D warnings | |
- name: Tests | |
run: cargo nextest run --all ${{ matrix.flags }} | |
- name: Check for clean repo | |
shell: bash | |
run: | | |
if [ -n "$(git status --porcelain)" ]; then | |
echo "there are changes"; | |
git status --porcelain | |
exit 1 | |
else | |
echo "no changes in working directory"; | |
fi | |
- name: Check lockfile | |
run: cargo check --locked ${{ matrix.flags }} --all-targets --all | |
- name: Doctests | |
run: cargo test --doc ${{ matrix.flags }} |