Skip to content

Commit

Permalink
Merge pull request Nukesor#316 from Nukesor/ci-improvements
Browse files Browse the repository at this point in the history
Ci improvements
  • Loading branch information
Nukesor authored Jun 23, 2022
2 parents 7ae4ee7 + e37340f commit 1819fef
Show file tree
Hide file tree
Showing 3 changed files with 115 additions and 10 deletions.
88 changes: 88 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
name: Lint the code

on:
push:
branches:
- main
- development
paths:
- '.github/**/*'
- '**.rs'
- 'Cargo.toml'
- 'Cargo.lock'
pull_request:
paths:
- '.github/**/*'
- '**.rs'
- 'Cargo.toml'
- 'Cargo.lock'


jobs:
publish:
name: Test on ${{ matrix.os }} for ${{ matrix.target }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
target:
- x86_64-unknown-linux-gnu
- aarch64-unknown-linux-musl
- armv7-unknown-linux-musleabihf
- arm-unknown-linux-musleabihf
- x86_64-pc-windows-msvc
- x86_64-apple-darwin
- aarch64-apple-ios
include:
- os: ubuntu-latest
target: x86_64-unknown-linux-gnu
cross: false
strip: true
- os: ubuntu-latest
target: aarch64-unknown-linux-musl
cross: true
strip: false
- os: ubuntu-latest
target: armv7-unknown-linux-musleabihf
cross: true
strip: false
- os: ubuntu-latest
target: arm-unknown-linux-musleabihf
cross: true
strip: false
- os: windows-latest
target: x86_64-pc-windows-msvc
cross: false
strip: true
- os: macos-latest
target: x86_64-apple-darwin
cross: false
strip: true
- os: macos-latest
target: aarch64-apple-ios
cross: true
strip: true

steps:
- name: Checkout code
uses: actions/checkout@v3

- name: Setup Rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
override: true
components: rustfmt, clippy

- name: cargo fmt
uses: actions-rs/cargo@v1
if: ${{ matrix.os == 'ubuntu-latest' && matrix.target == 'x86_64-unknown-linux-gnu' }}
with:
command: fmt
args: --all -- --check

- name: cargo clippy
uses: actions-rs/cargo@v1
if: ${{ matrix.os == 'ubuntu-latest' && matrix.target == 'x86_64-unknown-linux-gnu' }}
with:
command: clippy
args: --tests --workspace -- -D warnings
21 changes: 11 additions & 10 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ jobs:
with:
toolchain: stable
override: true
components: rustfmt, clippy
components: llvm-tools-preview

- name: cargo build
uses: actions-rs/cargo@v1
Expand All @@ -88,16 +88,17 @@ jobs:
args: --workspace --target=${{ matrix.target }}
use-cross: ${{ matrix.cross }}

- name: cargo fmt
uses: actions-rs/cargo@v1
- name: Install cargo-llvm-cov
uses: taiki-e/install-action@cargo-llvm-cov
if: ${{ matrix.os == 'ubuntu-latest' && matrix.target == 'x86_64-unknown-linux-gnu' }}
with:
command: fmt
args: --all -- --check

- name: cargo clippy
uses: actions-rs/cargo@v1
- name: Generate code coverage
run: cargo llvm-cov --all-features --workspace --lcov --output-path lcov.info
if: ${{ matrix.os == 'ubuntu-latest' && matrix.target == 'x86_64-unknown-linux-gnu' }}

- name: Upload coverage to Codecov
uses: codecov/codecov-action@v1
with:
command: clippy
args: --tests --workspace -- -D warnings
files: lcov.info
fail_ci_if_error: true
if: ${{ matrix.os == 'ubuntu-latest' && matrix.target == 'x86_64-unknown-linux-gnu' }}
16 changes: 16 additions & 0 deletions codecov.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
ignore:
- "utils"
- "tests"
- "ARCHITECTURE.md"
- "Cargo.lock"
- "Cargo.toml"
- "CHANGELOG.md"
- "LICENSE"
- "README.md"

codecov:
status:
project:
default:
target: auto
threshold: 2%

0 comments on commit 1819fef

Please sign in to comment.