feat: Add Docker testing, enhanced audit output, and v3.3.0 improvements#106
Merged
Conversation
… improvements This release modernizes Caulking with comprehensive testing infrastructure, improved documentation, and enhanced audit capabilities for federal compliance. Features: - Add Linux CI coverage with ubuntu-latest matrix build - Add Docker-based local testing (Dockerfile, docker-compose.yml) - Add multi-distro testing (Ubuntu, Debian, Alpine) - Add CI simulation and upgrade path testing - Add 'make status' for quick health checks - Add verification ID to audit output for compliance (NIST AU-10) - Add platform info (OS/arch) to audit output - Add caulking version to audit output - Add automated changelog via release-please Bug Fixes: - Fix 'find' argument order in check_repos.sh (-maxdepth before -name) - Improve error handling for Homebrew gitleaks installation Documentation: - Add Linux installation instructions to README - Add pre-push scanning flow documentation in hook-wrapper.sh Code Quality: - DRY refactor: Centralize XDG paths in lib.sh (caulking_export_paths) - Remove unused color variables from pretty.sh - Update pre-commit-shfmt to v3.13.1-1 - Update actionlint to v1.7.12 Testing: - Add test_prepush_ref_parsing.sh (5 test cases) - Add test_skip_gitleaks.sh (3 test cases) - Add test_gitleaks_missing.sh - Add test_local_hook_chain.sh (3 test cases) CI/CD: - Security-harden CI workflow (SHA-pinned actions, checksum verification) - Add concurrency control for CI runs - Separate install/verify/test steps Co-Authored-By: AI Agent <agent@gsa.gov>
The pre-commit/prek tooling is for linting the caulking repo itself, not for caulking's core functionality. In CI environments where these tools aren't installed, skip the check with a warning instead of failing. Co-Authored-By: AI Agent <agent@gsa.gov>
…clarity - Add 'What gets blocked' section documenting gitleaks patterns and filename denylist - Add GSA/cloud.gov operator attribution - Clarify SKIP=gitleaks only bypasses content scanning, not denylist - Add verification ID documentation for audit trail - Add XDG specification link and explanation - Add Windows/WSL section - Add upgrading instructions - Fix gitleaks version requirement (v8.21.0+ not just v8+) - Use actual repo URL in quick start - Clarify what 'make install' does vs showing commands - Document check_repos.sh purpose Co-Authored-By: AI Agent <agent@gsa.gov>
…igration - Revert run-tests.yml to original macOS-only workflow - Remove release-please workflow and config files - Add GITLAB_CI environment detection to verify-precommit-runner.sh The Linux CI matrix and release-please automation are being removed as the repository will be transitioning to GitLab CI. Docker-based local testing remains available for Linux verification. Co-Authored-By: AI Agent <agent@gsa.gov>
dandersonsw
approved these changes
Apr 30, 2026
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This release modernizes Caulking with comprehensive local testing infrastructure, improved documentation, and enhanced audit capabilities for federal compliance.
Features
make statusfor quick health checksBug Fixes
findargument order in check_repos.sh (-maxdepth before -name)Documentation
Code Quality
caulking_export_paths)Testing
Enhanced Audit Output
The
make verifyaudit box now includes compliance-friendly information:Docker Testing Commands
For local Linux testing (no CI required):
Testing
make testpasses on macOSmake docker-testpasses on Linux (Ubuntu)make docker-fullpasses (install + verify + test)make docker-debianpassesmake docker-alpinepasses