Skip to content

Commit

Permalink
Merge torrust#364: Overhaul Testing Workflow
Browse files Browse the repository at this point in the history
adcbf35 ci: overhaul testing workflow (Cameron Garnham)

Pull request description:

  Rework Testing Workflow

ACKs for top commit:
  da2ce7:
    ACK adcbf35

Tree-SHA512: 403f7f0d6b55dfd53d0ab3f903c7cf6f6a5a99c8bbd99a3f21e0f196c1c313a137b1c0ea2759c662232a4f9c473e4aaf705d7dc7e0eca38e49f2fbe59b7f6f86
  • Loading branch information
da2ce7 committed Aug 22, 2023
2 parents 8a51b32 + adcbf35 commit d36d655
Show file tree
Hide file tree
Showing 3 changed files with 111 additions and 81 deletions.
81 changes: 0 additions & 81 deletions .github/workflows/test_build_release.yml

This file was deleted.

109 changes: 109 additions & 0 deletions .github/workflows/testing.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
name: Testing

on:
push:
pull_request:

env:
CARGO_TERM_COLOR: always

jobs:
format:
name: Formatting
runs-on: ubuntu-latest

steps:
- id: checkout
name: Checkout Repository
uses: actions/checkout@v3

- id: setup
name: Setup Toolchain
uses: dtolnay/rust-toolchain@stable
with:
toolchain: nightly
components: rustfmt

- id: cache
name: Enable Workflow Cache
uses: Swatinem/rust-cache@v2

- id: format
name: Run Formatting-Checks
run: cargo fmt --check

check:
name: Static Analysis
runs-on: ubuntu-latest
needs: format

strategy:
matrix:
toolchain: [stable, nightly]

steps:
- id: checkout
name: Checkout Repository
uses: actions/checkout@v3

- id: setup
name: Setup Toolchain
uses: dtolnay/rust-toolchain@stable
with:
toolchain: nightly
components: clippy

- id: cache
name: Enable Workflow Cache
uses: Swatinem/rust-cache@v2

- id: check
name: Run Build Checks
run: cargo check --tests --benches --examples --workspace --all-targets --all-features

- id: lint
name: Run Lint Checks
run: cargo clippy --tests --benches --examples --workspace --all-targets --all-features -- -D clippy::correctness -D clippy::suspicious -D clippy::complexity -D clippy::perf -D clippy::style -D clippy::pedantic

- id: doc
name: Run Documentation Checks
run: cargo test --doc

unit:
name: Units
runs-on: ubuntu-latest
needs: check

strategy:
matrix:
toolchain: [stable, nightly]

steps:
- id: checkout
name: Checkout Repository
uses: actions/checkout@v3

- id: setup
name: Setup Toolchain
uses: dtolnay/rust-toolchain@stable
with:
toolchain: ${{ matrix.toolchain }}
components: llvm-tools-preview

- id: cache
name: Enable Job Cache
uses: Swatinem/rust-cache@v2

- id: tools
name: Install Tools
uses: taiki-e/install-action@v2
with:
tool: cargo-llvm-cov, cargo-nextest

- id: test
name: Run Unit Tests
run: cargo test --tests --benches --examples --workspace --all-targets --all-features

- id: coverage
name: Generate Coverage Report
run: cargo llvm-cov nextest --tests --benches --examples --workspace --all-targets --all-features
2 changes: 2 additions & 0 deletions cSpell.json
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,12 @@
"hlocalhost",
"Hydranode",
"Icelake",
"imdl",
"incompletei",
"infohash",
"infohashes",
"infoschema",
"Intermodal",
"intervali",
"lcov",
"leecher",
Expand Down

0 comments on commit d36d655

Please sign in to comment.