mirror of
https://github.com/trailofbits/buttercup
synced 2026-06-21 14:11:39 +00:00
7ab5da641e
* feat: add minimal pre-commit infrastructure - Add pre-commit configuration with essential checks only - Check YAML, TOML, JSON syntax - Check for merge conflicts and large files - Enforce LF line endings (fix 2 test files with CRLF) - Add debug statement detection - Integrate ruff for Python formatting and linting - Add GitHub workflow for pre-commit CI - No unnecessary Python code changes * fix: add explicit permissions to pre-commit workflow - Set GITHUB_TOKEN permissions to read-only for contents - Follows principle of least privilege - Addresses CodeQL security recommendation - Pre-commit checks only need to read code, not write * fix: exclude test data from line ending modifications - Exclude .proto files and test/data directories from mixed-line-ending hook - Revert changes to test data files (traced_crash.proto, java_stacktrace.txt) - These files need to preserve their original format for test integrity - Binary proto files could be corrupted by line ending changes * docs: add pre-commit hooks documentation to CONTRIBUTING.md - Add pre-commit installation instructions to development setup - Document pre-commit hooks in Code Quality Standards section - Update submission workflow to include pre-commit checks - Provide manual pre-commit run commands for contributors * docs: streamline CONTRIBUTING.md for better readability - Reduce from 214 to 124 lines (42% reduction) while keeping all essential info - Consolidate setup instructions into concise Quick Start section - Convert component descriptions to scannable table format - Streamline testing strategy with clear requirements and timing - Add back critical testing prerequisites (codequery, ripgrep, cscope) - Create actionable Getting Help section with common troubleshooting - Remove redundant command listings and verbose explanations - Maintain all security requirements and essential workflows
19 lines
314 B
YAML
19 lines
314 B
YAML
name: Pre-commit
|
|
|
|
on:
|
|
pull_request:
|
|
push:
|
|
branches: [main]
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
pre-commit:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v5
|
|
- uses: actions/setup-python@v5
|
|
with:
|
|
python-version: '3.12'
|
|
- uses: pre-commit/action@v3.0.1 |