Implement comprehensive CI/CD pipeline with best practices
Major improvements: - Matrix testing across Linux (stable/beta/nightly), Windows, and macOS - Test with multiple feature combinations (default, yara-scanning, no-default) - Code coverage reporting with codecov integration - Security auditing with cargo-audit and dependency review - Automated release builds for multiple targets - Performance benchmarking with trend tracking - Concurrency control to cancel outdated runs - Rust cache optimization for faster builds - Documentation generation checks - Weekly scheduled runs for proactive monitoring Additional workflows: - Automated dependency updates via Dependabot - Weekly Cargo dependency update PRs - Stale issue and PR management Project templates: - Pull request template with checklist - Bug report issue template - Feature request issue template - Codecov configuration with 70% coverage target
This commit is contained in:
36
.github/workflows/dependencies.yml
vendored
Normal file
36
.github/workflows/dependencies.yml
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
name: Dependency Management
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: '0 0 * * 1'
|
||||
workflow_dispatch:
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
pull-requests: write
|
||||
|
||||
jobs:
|
||||
update-dependencies:
|
||||
name: Update Dependencies
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Install Rust toolchain
|
||||
uses: dtolnay/rust-toolchain@stable
|
||||
|
||||
- name: Update dependencies
|
||||
run: cargo update
|
||||
|
||||
- name: Create Pull Request
|
||||
uses: peter-evans/create-pull-request@v5
|
||||
with:
|
||||
commit-message: Update Cargo dependencies
|
||||
title: 'chore: update Cargo dependencies'
|
||||
body: |
|
||||
Automated dependency update generated by GitHub Actions.
|
||||
|
||||
Please review the changes and ensure all tests pass before merging.
|
||||
branch: deps/cargo-update
|
||||
delete-branch: true
|
||||
Reference in New Issue
Block a user