Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 11 additions & 19 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,22 +31,14 @@ jobs:
permissions: contents:read
configure-git: true

- name: Lint
run: |
cargo fmt -- --check &&
cargo clippy -- --no-deps --deny warnings &&
cargo clippy --tests -- --no-deps --deny warnings

- name: Build
run: cargo build --locked

- name: Install nextest
uses: taiki-e/install-action@nextest
- name: Install just and nextest
uses: taiki-e/install-action@v2
with:
tool: just,nextest

- name: Test
run: |
cargo nextest run --run-ignored all &&
cargo test --doc
# The recipe is the source of truth shared with local runs.
- name: CI
run: just ci

# The permslip feature pulls in permission-slip, which is private,
# so this job only runs where the OIDC exchange can succeed.
Expand Down Expand Up @@ -74,8 +66,8 @@ jobs:
permissions: contents:read
configure-git: true

- name: Lint
run: cargo clippy --package sush-client --features permslip -- --no-deps --deny warnings
- name: Install just
uses: taiki-e/install-action@just

- name: Build
run: cargo build --locked --package sush-client --features permslip
- name: CI
run: just ci-client
26 changes: 26 additions & 0 deletions justfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
set shell := ["bash", "-euo", "pipefail", "-c"]

check:
cargo check --workspace --all-targets

lint:
cargo fmt --check && cargo clippy --tests

test *FILTER:
cargo nextest run --workspace {{FILTER}}

openapi:
cargo xtask openapi

ci:
cargo fmt --check
cargo clippy -- --no-deps --deny warnings
cargo clippy --tests -- --no-deps --deny warnings
cargo build --locked
cargo nextest run --run-ignored all
cargo test --doc
cargo xtask openapi && git diff --exit-code sush.json

ci-client:
cargo clippy --package sush-client --features permslip -- --no-deps --deny warnings
cargo build --locked --package sush-client --features permslip