Skip to content

Commit

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

Pull request description:

  Rework Testing Workflow

ACKs for top commit:
  da2ce7:
    ACK 354cb7d

Tree-SHA512: c645ae9ff954cefbf301fc758355f57ef71d813190c97db522f86bf536f7d036f5a363b9738a8e63b83ae05b2d12ac03c4728a600a6b8ea2ea5c51c18409b358
  • Loading branch information
da2ce7 committed Aug 25, 2023
2 parents 2cf80bc + 354cb7d commit 5d73608
Show file tree
Hide file tree
Showing 4 changed files with 130 additions and 35 deletions.
34 changes: 0 additions & 34 deletions .github/workflows/develop.yml

This file was deleted.

126 changes: 126 additions & 0 deletions .github/workflows/testing.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
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: imdl
name: Install Intermodal
run: cargo install imdl

- 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

integration:
name: Integrations
runs-on: ubuntu-latest

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

- id: test
name: Run Integration Tests
run: ./docker/bin/e2e/run-e2e-tests.sh
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Torrust Index Backend

[![Development Checks](https://github.com/torrust/torrust-index-backend/actions/workflows/develop.yml/badge.svg)](https://github.com/torrust/torrust-index-backend/actions/workflows/develop.yml) [![Publish crate](https://github.com/torrust/torrust-index-backend/actions/workflows/publish_crate.yml/badge.svg)](https://github.com/torrust/torrust-index-backend/actions/workflows/publish_crate.yml) [![Publish Docker Image](https://github.com/torrust/torrust-index-backend/actions/workflows/publish_docker_image.yml/badge.svg)](https://github.com/torrust/torrust-index-backend/actions/workflows/publish_docker_image.yml) [![Publish Github Release](https://github.com/torrust/torrust-index-backend/actions/workflows/release.yml/badge.svg)](https://github.com/torrust/torrust-index-backend/actions/workflows/release.yml) [![Test Docker build](https://github.com/torrust/torrust-index-backend/actions/workflows/test_docker.yml/badge.svg)](https://github.com/torrust/torrust-index-backend/actions/workflows/test_docker.yml)
[![Testing](https://github.com/torrust/torrust-index-backend/actions/workflows/testing.yaml/badge.svg)](https://github.com/torrust/torrust-index-backend/actions/workflows/testing.yaml) [![Publish crate](https://github.com/torrust/torrust-index-backend/actions/workflows/publish_crate.yml/badge.svg)](https://github.com/torrust/torrust-index-backend/actions/workflows/publish_crate.yml) [![Publish Docker Image](https://github.com/torrust/torrust-index-backend/actions/workflows/publish_docker_image.yml/badge.svg)](https://github.com/torrust/torrust-index-backend/actions/workflows/publish_docker_image.yml) [![Publish Github Release](https://github.com/torrust/torrust-index-backend/actions/workflows/release.yml/badge.svg)](https://github.com/torrust/torrust-index-backend/actions/workflows/release.yml) [![Test Docker build](https://github.com/torrust/torrust-index-backend/actions/workflows/test_docker.yml/badge.svg)](https://github.com/torrust/torrust-index-backend/actions/workflows/test_docker.yml)

This repository serves as the backend for the [Torrust Index](https://github.com/torrust/torrust-index) project, which implements the [Torrust Index Application Interface](https://github.com/torrust/torrust-index-api-lib).

Expand Down
3 changes: 3 additions & 0 deletions project-words.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ Benoit
binascii
btih
chrono
clippy
codecov
codegen
compatiblelicenses
Expand Down Expand Up @@ -45,6 +46,7 @@ mandelbrotset
metainfo
nanos
NCCA
nextest
nilm
nocapture
Oberhachingerstr
Expand All @@ -57,6 +59,7 @@ ROADMAP
rowid
RUSTDOCFLAGS
RUSTFLAGS
rustfmt
sgxj
singlepart
sqlx
Expand Down

0 comments on commit 5d73608

Please sign in to comment.