-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ci: add CI, pre-commit, rustfmt, and dependabot configs (#1)
* ci: add CI, pre-commit, rustfmt, and dependabot configs * ci: make CARGO_INCREMENTAL global env variable * ci: use Swatinem/rust-cache instead actions/cache * ci: improve clippy invocation * ci: add Cargo-audit workflow * ci: add miri * chore: make pre-commit happy * chore: make pre-commit happy v2 * ci: name all jobs * Revert "ci: add miri" Miri is currently generating "reached the type-length limit while instantiating" error in sqlx. Removing until we figure out how to fix it. This reverts commit b85831c. * ci: use cargo-nextest * ci: remove pre-commit workflow and use ci alternative * ci: add cargo machete * chore(deps): remove unused dependencies * ci: rename pre-commit.ci messages --------- Co-authored-by: Marek 'seqre' Grzelak <git@seqre.dev>
- Loading branch information
Showing
14 changed files
with
263 additions
and
30 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
version: 2 | ||
|
||
updates: | ||
- package-ecosystem: cargo | ||
directory: / | ||
schedule: | ||
interval: monthly | ||
groups: | ||
dependencies: | ||
update-types: | ||
- minor | ||
- patch | ||
|
||
- package-ecosystem: github-actions | ||
directory: / | ||
schedule: | ||
interval: monthly | ||
groups: | ||
dependencies: | ||
patterns: | ||
- "*" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
name: Security audit | ||
|
||
on: | ||
push: | ||
paths: | ||
- "**/Cargo.toml" | ||
- "**/Cargo.lock" | ||
schedule: | ||
- cron: "0 0 * * *" | ||
|
||
jobs: | ||
security_audit: | ||
name: Audit check | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- uses: rustsec/audit-check@v1.4.1 | ||
with: | ||
token: ${{ secrets.GITHUB_TOKEN }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,170 @@ | ||
name: Rust CI | ||
|
||
on: | ||
push: | ||
pull_request: | ||
schedule: | ||
- cron: "0 0 * * *" | ||
|
||
env: | ||
CARGO_TERM_COLOR: always | ||
CARGO_INCREMENTAL: 0 | ||
|
||
# See: https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#concurrency. | ||
# This will ensure that only one commit will be running tests at a time on each PR. | ||
concurrency: | ||
group: ${{ github.ref }}-${{ github.workflow }} | ||
cancel-in-progress: true | ||
|
||
jobs: | ||
build: | ||
# Run on external PRs and pushes to branches on the repo | ||
# This is to avoid double running on PRs from internal branches | ||
if: github.event_name == 'push' || github.event_name == 'schedule' || | ||
github.event.pull_request.head.repo.full_name != github.repository | ||
strategy: | ||
matrix: | ||
rust: [stable, nightly] | ||
os: [ubuntu-latest, macos-latest, windows-latest] | ||
|
||
name: Build & test | ||
runs-on: ${{ matrix.os }} | ||
steps: | ||
- name: Checkout source | ||
uses: actions/checkout@v4 | ||
|
||
- name: Install Rust toolchain | ||
uses: dtolnay/rust-toolchain@master | ||
with: | ||
toolchain: ${{ matrix.rust }} | ||
|
||
- name: Cache Cargo registry | ||
uses: Swatinem/rust-cache@v2 | ||
|
||
- name: Install cargo-nextest | ||
uses: taiki-e/install-action@v2 | ||
with: | ||
tool: nextest | ||
|
||
- name: Build | ||
run: cargo +${{ matrix.rust }} build | ||
|
||
- name: Test | ||
run: cargo +${{ matrix.rust }} nextest run | ||
|
||
# Nextest does not support doc tests as in stable Rust | ||
# they are not exposed in the same way as normal tests. | ||
# https://github.com/nextest-rs/nextest/issues/16 | ||
- name: Test docs | ||
run: cargo +${{ matrix.rust }} test --doc | ||
|
||
clippy: | ||
if: github.event_name == 'push' || github.event_name == 'schedule' || | ||
github.event.pull_request.head.repo.full_name != github.repository | ||
|
||
name: Clippy lint checks | ||
runs-on: ubuntu-latest | ||
needs: ["build"] | ||
steps: | ||
- name: Checkout source | ||
uses: actions/checkout@v4 | ||
|
||
- name: Install Rust toolchain | ||
uses: dtolnay/rust-toolchain@master | ||
with: | ||
toolchain: stable | ||
components: clippy | ||
|
||
- name: Cache Cargo registry | ||
uses: Swatinem/rust-cache@v2 | ||
|
||
- name: Run clippy | ||
run: cargo clippy --no-deps -- -Dclippy::all -Wclippy::pedantic | ||
|
||
coverage: | ||
if: github.event_name == 'push' || github.event_name == 'schedule' || | ||
github.event.pull_request.head.repo.full_name != github.repository | ||
|
||
name: Test coverage checks | ||
runs-on: ubuntu-latest | ||
needs: ["build"] | ||
steps: | ||
- name: Checkout source | ||
uses: actions/checkout@v4 | ||
|
||
- name: Install Rust toolchain | ||
uses: dtolnay/rust-toolchain@master | ||
with: | ||
toolchain: nightly | ||
components: llvm-tools-preview | ||
|
||
- name: Cache Cargo registry | ||
uses: Swatinem/rust-cache@v2 | ||
|
||
- name: Test | ||
run: cargo test --all-features --no-fail-fast | ||
env: | ||
RUSTFLAGS: "-Cinstrument-coverage" | ||
|
||
- name: Install grcov | ||
uses: baptiste0928/cargo-install@v3 | ||
with: | ||
crate: grcov | ||
# Remove --locked until this issue is fixed: https://github.com/mozilla/grcov/issues/1187 | ||
locked: false | ||
|
||
- name: Run grcov | ||
run: grcov . --binary-path target/debug/deps/ -s . -t lcov --branch --ignore-not-existing --ignore '../**' --ignore '/*' -o coverage.lcov | ||
|
||
- uses: codecov/codecov-action@v4 | ||
with: | ||
files: ./coverage.lcov | ||
flags: rust | ||
fail_ci_if_error: true | ||
env: | ||
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | ||
|
||
rustfmt: | ||
if: github.event_name == 'push' || github.event_name == 'schedule' || | ||
github.event.pull_request.head.repo.full_name != github.repository | ||
|
||
name: Code formatting checks | ||
runs-on: ubuntu-latest | ||
needs: ["build"] | ||
steps: | ||
- name: Checkout source | ||
uses: actions/checkout@v4 | ||
|
||
- name: Install Rust toolchain | ||
uses: dtolnay/rust-toolchain@master | ||
with: | ||
toolchain: nightly | ||
components: rustfmt | ||
|
||
- name: Cache Cargo registry | ||
uses: Swatinem/rust-cache@v2 | ||
|
||
- name: Run fmt | ||
run: cargo fmt --all -- --check | ||
|
||
machete: | ||
if: github.event_name == 'push' || github.event_name == 'schedule' || | ||
github.event.pull_request.head.repo.full_name != github.repository | ||
|
||
name: Machete dependencies checks | ||
runs-on: ubuntu-latest | ||
needs: ["build"] | ||
steps: | ||
- name: Checkout source | ||
uses: actions/checkout@v4 | ||
|
||
- name: Install Rust toolchain | ||
uses: dtolnay/rust-toolchain@master | ||
with: | ||
toolchain: stable | ||
|
||
- name: Cache Cargo registry | ||
uses: Swatinem/rust-cache@v2 | ||
|
||
- name: Run cargo-machete | ||
uses: bnjbvr/cargo-machete@v0.6.2 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
# See https://pre-commit.com for more information | ||
# See https://pre-commit.com/hooks.html for more hooks | ||
ci: | ||
autofix_commit_msg: "chore(pre-commit.ci): auto fixes from pre-commit hooks" | ||
autoupdate_commit_msg: "chore(pre-commit.ci): pre-commit autoupdate" | ||
autoupdate_schedule: "monthly" | ||
|
||
fail_fast: false | ||
repos: | ||
- repo: https://github.com/pre-commit/pre-commit-hooks | ||
rev: v4.6.0 | ||
hooks: | ||
- id: check-added-large-files | ||
- id: check-case-conflict | ||
- id: check-executables-have-shebangs | ||
- id: check-toml | ||
- id: detect-private-key | ||
- id: end-of-file-fixer | ||
- id: mixed-line-ending | ||
args: ["--fix=lf"] | ||
- id: trailing-whitespace | ||
|
||
- repo: https://github.com/pre-commit/mirrors-prettier | ||
rev: v3.1.0 | ||
hooks: | ||
- id: prettier | ||
types_or: [json, yaml] | ||
|
||
- repo: https://github.com/seqre/pre-commit-rust | ||
rev: v0.1.0 | ||
hooks: | ||
- id: fmt |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,5 @@ | ||
# flareon | ||
flareon | ||
======= | ||
|
||
[![Rust Build Status](https://github.com/flareon-rs/flareon/workflows/Rust%20CI/badge.svg)](https://github.com/flareon-rs/flareon/actions/workflows/rust.yml) | ||
[![codecov](https://codecov.io/gh/flareon-rs/flareon/branch/master/graph/badge.svg)](https://codecov.io/gh/flareon-rs/flareon) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1 @@ | ||
fn main() { | ||
|
||
} | ||
fn main() {} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
pub fn add(left: u64, right: u64) -> u64 { | ||
pub fn add(left: u64, right: u64) -> u64 { | ||
left + right | ||
} | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
use proc_macro::TokenStream; | ||
|
||
#[proc_macro] | ||
pub fn flareon(_input: TokenStream) -> TokenStream { | ||
unimplemented!() | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
unstable_features = true | ||
imports_granularity = "module" | ||
group_imports = "StdExternalCrate" | ||
normalize_comments = true | ||
reorder_impl_items = true | ||
use_field_init_shorthand = true | ||
wrap_comments = true |