From 60466ef61c73d86f1617644f13eaa65b2ff4084b Mon Sep 17 00:00:00 2001 From: Kristofers Solo Date: Tue, 19 Mar 2024 12:05:18 +0200 Subject: [PATCH] chore(workflow): add CI --- .github/workflows/CI.yml | 47 +++++++++++++++++++++++++++++++++++++ .github/workflows/audit.yml | 16 +++++++++++++ 2 files changed, 63 insertions(+) create mode 100644 .github/workflows/CI.yml create mode 100644 .github/workflows/audit.yml diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml new file mode 100644 index 0000000..eb69bee --- /dev/null +++ b/.github/workflows/CI.yml @@ -0,0 +1,47 @@ +name: Rust +on: [push, pull_request] +env: + CARGO_TERM_COLOR: always +jobs: + test: + name: Test + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: dtolnay/rust-toolchain@stable + - uses: Swatinem/rust-cache@v2 + - name: Run tests + run: cargo test + fmt: + name: Rustfmt + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: dtolnay/rust-toolchain@stable + with: + components: rustfmt + - name: Enforce formatting + run: cargo fmt --check + clippy: + name: Clippy + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: dtolnay/rust-toolchain@stable + with: + components: clippy + - uses: Swatinem/rust-cache@v2 + - name: Linting + run: cargo clippy -- -D warnings + coverage: + name: Code coverage + runs-on: ubuntu-latest + container: + image: xd009642/tarpaulin + options: --security-opt seccomp=unconfined + steps: + - name: Checkout repository + uses: actions/checkout@v3 + - name: Generate code coverage + run: | + cargo tarpaulin --verbose --workspace diff --git a/.github/workflows/audit.yml b/.github/workflows/audit.yml new file mode 100644 index 0000000..2a5d565 --- /dev/null +++ b/.github/workflows/audit.yml @@ -0,0 +1,16 @@ +name: Security audit +on: + schedule: + - cron: "0 0 * * *" + push: + paths: + - "**/Cargo.toml" + - "**/Cargo.lock" +jobs: + security_audit: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: taiki-e/install-action@cargo-deny + - name: Scan for vulnerabilities + run: cargo deny check advisories