Split CI into test and quality runs

The test jobs run on the MSRV (1.70 at this time).
They also check instead of build, which should improve times.

The quality jobs run on stable.
On sr.ht, documentation is now checked.
This commit is contained in:
TheDaemoness
2024-04-07 09:36:59 -07:00
parent 37a27a725b
commit 538decd155
4 changed files with 84 additions and 60 deletions

View File

@@ -1,31 +0,0 @@
image: archlinux # We need rustup, and Arch happily packages it.
packages:
- rustup
sources:
- https://git.sr.ht/~daemoness/vinezombie
environment:
CARGO_TERM_COLOR: always
tasks:
- setup: |
rustup install 1.70
- build-min: |
cd vinezombie
cargo build --no-default-features --message-format short
- build-min-client: |
cd vinezombie
cargo build --no-default-features --features client --message-format short
- build-default: |
cd vinezombie
cargo build --message-format short
- build-max: |
cd vinezombie
cargo build --all-features --message-format short
- test: |
cd vinezombie
cargo test --all-features
- lint: |
cd vinezombie
cargo clippy --all-features
- fmt: |
cd vinezombie
cargo fmt --check

19
.builds/quality.yml Normal file
View File

@@ -0,0 +1,19 @@
image: archlinux # We need rustup, and Arch happily packages it.
packages:
- rustup
sources:
- https://git.sr.ht/~daemoness/vinezombie
environment:
CARGO_TERM_COLOR: always
tasks:
- setup: |
rustup install stable
- clippy: |
cd vinezombie
cargo clippy --all-features --message-format short
- doc: |
cd vinezombie
cargo doc --all-features --no-deps --message-format short
- fmt: |
cd vinezombie
cargo fmt --check

25
.builds/test.yml Normal file
View File

@@ -0,0 +1,25 @@
image: archlinux # We need rustup, and Arch happily packages it.
packages:
- rustup
sources:
- https://git.sr.ht/~daemoness/vinezombie
environment:
CARGO_TERM_COLOR: always
tasks:
- setup: |
rustup install --profile minimal 1.70
- check-min: |
cd vinezombie
cargo check --no-default-features --message-format short
- check-min-client: |
cd vinezombie
cargo check --no-default-features --features client --message-format short
- check-default: |
cd vinezombie
cargo check --message-format short
- check-max: |
cd vinezombie
cargo check --all-features --message-format short
- test: |
cd vinezombie
cargo test --all-features --message-format short

View File

@@ -7,8 +7,43 @@ on:
- main
jobs:
test:
name: MSRV Test
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Install Rust
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: 1.70
- name: Check (No Features)
uses: actions-rs/cargo@v1
with:
command: check
args: "--no-default-features"
- name: Check (Min Client)
uses: actions-rs/cargo@v1
with:
command: check
args: "--no-default-features --features client"
- name: Check (Default Features)
uses: actions-rs/cargo@v1
with:
command: check
- name: Check (All Features)
uses: actions-rs/cargo@v1
with:
command: check
args: "--all-features"
- name: Test
uses: actions-rs/cargo@v1
with:
command: test
args: "--all-features"
quality:
name: Build+Test
name: Code Quality
runs-on: ubuntu-latest
steps:
- name: Checkout
@@ -17,42 +52,18 @@ jobs:
uses: actions-rs/toolchain@v1
with:
profile: default
toolchain: 1.70
- name: Build (No Features)
uses: actions-rs/cargo@v1
with:
command: build
args: "--no-default-features"
- name: Build (Min Client)
uses: actions-rs/cargo@v1
with:
command: build
args: "--no-default-features --features client"
- name: Build (Default Features)
uses: actions-rs/cargo@v1
with:
command: build
- name: Build (All Features)
uses: actions-rs/cargo@v1
with:
command: build
args: "--all-features"
- name: Test
uses: actions-rs/cargo@v1
with:
command: test
args: "--all-features"
- name: Check Clippy
toolchain: stable
- name: Clippy
uses: actions-rs/cargo@v1
with:
command: clippy
args: "--all-features"
- name: Check Docs
- name: Check Rustdoc
uses: actions-rs/cargo@v1
with:
command: doc
args: "--all-features --no-deps"
- name: Check Style
- name: Check Format
uses: actions-rs/cargo@v1
with:
command: fmt