Skip to content

Commit 3235526

Browse files
authored
feat: dx improvements (#31)
* chore: update and normalize dependencies - Add conventional-changelog-cli@5.0.0 - Add typedoc@0.28.12 - Update typescript@5.6.3 - Fix zod version to 3.24.1 - Resolve peer dependency conflicts Signed-off-by: Rubens <rubenssegundo404@gmail.com> * docs: enhance documentation with DevSecOps features - Update README.md with comprehensive badges - Add CONTRIBUTING.md with license compliance policy - Update CHANGELOG.md with v2.0.0 changes - Add SECURITY.md with vulnerability disclosure - Add CONTRIBUTORS.md with acknowledgments Signed-off-by: Rubens <rubenssegundo404@gmail.com> * feat: add comprehensive DevSecOps validation script - Add scripts/validate-devsecops.sh - Validate environment and toolchain - Check security configurations - Verify license compliance - Test SBOM generation Signed-off-by: Rubens <rubenssegundo404@gmail.com> * docs: add comprehensive usage examples - Add monorepo filter examples - Add simple filter configurations - Add GitHub event payloads - Add workflow usage examples Signed-off-by: Rubens <rubenssegundo404@gmail.com> * chore: remove .vscode skips from .gitignore Signed-off-by: Rubens <rubenssegundo404@gmail.com> --------- Signed-off-by: Rubens <rubenssegundo404@gmail.com>
1 parent de5e9be commit 3235526

File tree

14 files changed

+2601
-353
lines changed

14 files changed

+2601
-353
lines changed

.gitignore

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -68,9 +68,6 @@ scan-results/
6868

6969
# Editor directories and files
7070
.vscode/
71-
!.vscode/settings.json
72-
!.vscode/launch.json
73-
!.vscode/tasks.json
7471
.idea/
7572
*.swp
7673
*.swo

CHANGELOG.md

Lines changed: 42 additions & 95 deletions
Original file line numberDiff line numberDiff line change
@@ -1,113 +1,60 @@
11
# Changelog
22

3-
## Changelog from fork
3+
All notable changes to this project will be documented in this file.
44

5-
## v3.0.2
6-
- [Add config parameter for predicate quantifier](https://github.com/dorny/paths-filter/pull/224)
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8-
## v3.0.1
9-
- [Compare base and ref when token is empty](https://github.com/dorny/paths-filter/pull/133)
8+
## [Unreleased]
109

11-
## v3.0.0
12-
- [Update to Node.js 20](https://github.com/dorny/paths-filter/pull/210)
13-
- [Update all dependencies](https://github.com/dorny/paths-filter/pull/215)
10+
### ✨ Features
1411

15-
## v2.11.1
16-
- [Update @actions/core to v1.10.0 - Fixes warning about deprecated set-output](https://github.com/dorny/paths-filter/pull/167)
17-
- [Document need for pull-requests: read permission](https://github.com/dorny/paths-filter/pull/168)
18-
- [Updating to actions/checkout@v3](https://github.com/dorny/paths-filter/pull/164)
12+
- Complete DevSecOps transformation with comprehensive CI/CD pipeline
13+
- Node.js 22 runtime with mise toolchain management
14+
- SBOM generation with CycloneDX v1.4 format
15+
- License compliance automation with SPDX headers
16+
- GitHub Pages documentation with TypeDoc API docs
17+
- Performance monitoring and bundle analysis reports
18+
- Release automation with conventional commits and release-please
1919

20-
## v2.11.0
21-
- [Set list-files input parameter as not required](https://github.com/dorny/paths-filter/pull/157)
22-
- [Update Node.js](https://github.com/dorny/paths-filter/pull/161)
23-
- [Fix incorrect handling of Unicode characters in exec()](https://github.com/dorny/paths-filter/pull/162)
24-
- [Use Octokit pagination](https://github.com/dorny/paths-filter/pull/163)
25-
- [Updates real world links](https://github.com/dorny/paths-filter/pull/160)
20+
### 🔒 Security
2621

27-
## v2.10.2
28-
- [Fix getLocalRef() returns wrong ref](https://github.com/dorny/paths-filter/pull/91)
22+
- Static Application Security Testing (SAST) with CodeQL
23+
- Secret scanning with GitLeaks configuration
24+
- Dependency vulnerability scanning with Trivy
25+
- SHA-pinned GitHub Actions with minimal permissions
26+
- Supply chain transparency with Software Bill of Materials
2927

30-
## v2.10.1
31-
- [Improve robustness of change detection](https://github.com/dorny/paths-filter/pull/85)
28+
### 🛠️ Developer Experience
3229

33-
## v2.10.0
34-
- [Add ref input parameter](https://github.com/dorny/paths-filter/pull/82)
35-
- [Fix change detection in PR when pullRequest.changed_files is incorrect](https://github.com/dorny/paths-filter/pull/83)
30+
- Enhanced development environment with mise configuration
31+
- Pre-commit hooks for quality assurance
32+
- Automated dependency updates with intelligent Dependabot grouping
33+
- Comprehensive test coverage (≥80% enforced)
34+
- Quality gates with automated license header enforcement
3635

37-
## v2.9.3
38-
- [Fix change detection when base is a tag](https://github.com/dorny/paths-filter/pull/78)
36+
### 📚 Documentation
3937

40-
## v2.9.2
41-
- [Fix fetching git history](https://github.com/dorny/paths-filter/pull/75)
38+
- Interactive SBOM viewer at GitHub Pages /sbom endpoint
39+
- Performance reports at GitHub Pages /performance endpoint
40+
- Complete API documentation at GitHub Pages /docs endpoint
41+
- Enhanced README with comprehensive DevSecOps badge collection
4242

43-
## v2.9.1
44-
- [Fix fetching git history + fallback to unshallow repo](https://github.com/dorny/paths-filter/pull/74)
43+
## [1.0.0] - 2024-12-06
4544

46-
## v2.9.0
47-
- [Add list-files: csv format](https://github.com/dorny/paths-filter/pull/68)
45+
### 🎉 Initial Release
4846

49-
## v2.8.0
50-
- [Add count output variable](https://github.com/dorny/paths-filter/pull/65)
51-
- [Fix log grouping of changes](https://github.com/dorny/paths-filter/pull/61)
47+
- TypeScript GitHub Action for conditional path filtering
48+
- Support for glob patterns and change type detection
49+
- Multiple output formats (JSON, CSV, shell, escaped)
50+
- Comprehensive test suite with unit, integration, and E2E tests
51+
- Modern ESM module system with Node.js 22 support
52+
- MIT license with full SPDX compliance
5253

53-
## v2.7.0
54-
- [Add "changes" output variable to support matrix job configuration](https://github.com/dorny/paths-filter/pull/59)
55-
- [Improved listing of matching files with `list-files: shell` and `list-files: escape` options](https://github.com/dorny/paths-filter/pull/58)
54+
### Previous Changelog
5655

57-
## v2.6.0
58-
- [Support local changes](https://github.com/dorny/paths-filter/pull/53)
56+
This project builds upon [dorny/paths-filter](https://github.com/dorny/paths-filter).
57+
See the [original changelog](https://github.com/dorny/paths-filter/blob/master/CHANGELOG.md) for previous development history.
5958

60-
## v2.5.3
61-
- [Fixed mapping of removed/deleted change status from github API](https://github.com/dorny/paths-filter/pull/51)
62-
- [Fixed retrieval of all changes via Github API when there are 100+ changes](https://github.com/dorny/paths-filter/pull/50)
63-
64-
## v2.5.2
65-
- [Add support for multiple patterns when using file status](https://github.com/dorny/paths-filter/pull/48)
66-
- [Use picomatch directly instead of micromatch wrapper](https://github.com/dorny/paths-filter/pull/49)
67-
68-
## v2.5.1
69-
- [Improved path matching with micromatch](https://github.com/dorny/paths-filter/pull/46)
70-
71-
## v2.5.0
72-
- [Support workflows triggered by any event](https://github.com/dorny/paths-filter/pull/44)
73-
74-
## v2.4.2
75-
- [Fixed compatibility with older (<2.23) versions of git](https://github.com/dorny/paths-filter/pull/42)
76-
77-
## v2.4.0
78-
- [Support pushes of tags or when tag is used as base](https://github.com/dorny/paths-filter/pull/40)
79-
- [Use git log to detect changes from PRs merge commit if token is not available](https://github.com/dorny/paths-filter/pull/40)
80-
- [Support local execution with act](https://github.com/dorny/paths-filter/pull/40)
81-
- [Improved processing of repository initial push](https://github.com/dorny/paths-filter/pull/40)
82-
- [Improved processing of first push of new branch](https://github.com/dorny/paths-filter/pull/40)
83-
84-
85-
## v2.3.0
86-
- [Improved documentation](https://github.com/dorny/paths-filter/pull/37)
87-
- [Change detection using git "three dot" diff](https://github.com/dorny/paths-filter/pull/35)
88-
- [Export files matching filter](https://github.com/dorny/paths-filter/pull/32)
89-
- [Extend filter syntax with optional specification of file status: add, modified, deleted](https://github.com/dorny/paths-filter/pull/22)
90-
- [Add working-directory input](https://github.com/dorny/paths-filter/pull/21)
91-
92-
## v2.2.1
93-
- [Add support for pull_request_target](https://github.com/dorny/paths-filter/pull/29)
94-
95-
## v2.2.0
96-
- [Improve change detection for feature branches](https://github.com/dorny/paths-filter/pull/16)
97-
98-
## v2.1.0
99-
- [Support reusable paths blocks with yaml anchors](https://github.com/dorny/paths-filter/pull/13)
100-
101-
## v2.0.0
102-
- [Added support for workflows triggered by push events](https://github.com/dorny/paths-filter/pull/10)
103-
- Action and repository renamed to paths-filter - original name doesn't make sense anymore
104-
105-
## v1.1.0
106-
- [Allows filters to be specified in own .yml file](https://github.com/dorny/paths-filter/pull/8)
107-
- [Adds alternative change detection using git fetch and git diff-index](https://github.com/dorny/paths-filter/pull/9)
108-
109-
## v1.0.1
110-
Updated dependencies - fixes github security alert
111-
112-
## v1.0.0
113-
First official release uploaded to marketplace.
59+
[Unreleased]: https://github.com/santosr2/conditional-paths-action/compare/v1.0.0...HEAD
60+
[1.0.0]: https://github.com/santosr2/conditional-paths-action/releases/tag/v1.0.0

CONTRIBUTING.md

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ Pull requests are the best way to propose changes to the codebase. We actively w
2727

2828
### Prerequisites
2929

30-
- Node.js 24 or later
30+
- Node.js 22 or later
3131
- pnpm 10 or later
3232

3333
### Setup
@@ -71,7 +71,30 @@ pnpm test:coverage
7171
- We use ESLint and Prettier for code formatting
7272
- Run `pnpm format` to format your code
7373
- Run `pnpm lint` to check for linting errors
74-
- Pre-commit hooks will automatically format and lint your code
74+
- **Pre-commit hooks are mandatory** - they will automatically format, lint, type-check, test, and validate licenses/SBOM
75+
76+
### Pre-commit Hooks Setup
77+
78+
```bash
79+
# Hooks are installed automatically during pnpm install
80+
pnpm install
81+
82+
# Manually install if needed
83+
pre-commit install
84+
85+
# Run hooks on all files
86+
pre-commit run --all-files
87+
88+
# Skip hooks for emergency commits (not recommended)
89+
git commit --no-verify
90+
```
91+
92+
The pre-commit hooks enforce:
93+
- **Code formatting** with Prettier
94+
- **Linting** with ESLint and TypeScript type checking
95+
- **Testing** of affected code
96+
- **License compliance** validation
97+
- **SBOM compliance** ensuring security transparency
7598

7699
### Commit Messages
77100

CONTRIBUTORS.md

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
# Contributors ✨
2+
3+
Thank you to all the amazing people who have contributed to the Conditional Paths Action! This project exists because of your dedication, expertise, and collaborative spirit.
4+
5+
## 🏆 Core Contributors
6+
7+
<div align="center">
8+
9+
<!-- This section is automatically updated by contrib.rocks -->
10+
<a href="https://github.com/santosr2/conditional-paths-action/graphs/contributors">
11+
<img src="https://contrib.rocks/image?repo=santosr2/conditional-paths-action&max=100&columns=10" alt="Contributors" />
12+
</a>
13+
14+
</div>
15+
16+
## 🙏 Special Recognition
17+
18+
### Original Inspiration
19+
Special thanks to [**@dorny**](https://github.com/dorny) and the contributors to [dorny/paths-filter](https://github.com/dorny/paths-filter), whose foundational work enabled this enhanced version. This project builds upon their excellent foundation with modern improvements and additional features.
20+
21+
### Community Contributors
22+
We deeply appreciate everyone who has:
23+
- 🐛 Reported bugs and issues
24+
- 💡 Suggested new features and improvements
25+
- 📖 Improved documentation and examples
26+
- 🔧 Contributed code and fixes
27+
- ⭐ Starred the repository and spread the word
28+
- 🧪 Tested the action in real-world scenarios
29+
- 💬 Participated in discussions and provided feedback
30+
31+
## 📈 Contribution Stats
32+
33+
<!-- GitHub stats widgets -->
34+
![Contributors](https://img.shields.io/github/contributors/santosr2/conditional-paths-action)
35+
![Last Commit](https://img.shields.io/github/last-commit/santosr2/conditional-paths-action)
36+
![Commit Activity](https://img.shields.io/github/commit-activity/m/santosr2/conditional-paths-action)
37+
38+
## 🌟 Contributing
39+
40+
Want to join this amazing group of contributors? Here's how you can help:
41+
42+
### 🚀 Getting Started
43+
1. **Fork the repository** and clone it locally
44+
2. **Read our [Contributing Guide](CONTRIBUTING.md)** for detailed setup instructions
45+
3. **Pick an issue** or suggest a new feature
46+
4. **Follow our coding standards** and submit a pull request
47+
48+
### 🎯 Ways to Contribute
49+
- **Code**: Bug fixes, new features, performance improvements
50+
- **Documentation**: Examples, guides, API documentation, README improvements
51+
- **Testing**: Real-world usage feedback, edge case testing, local testing with `act`
52+
- **Community**: Answer questions, help other users, write tutorials
53+
- **Security**: Report vulnerabilities, suggest security improvements
54+
55+
### 📋 Contribution Areas
56+
We especially welcome contributions in:
57+
- 🏢 **Real-world usage examples** for different industries and use cases
58+
- 🔧 **Performance optimizations** for large repositories
59+
- 📚 **Documentation improvements** and better examples
60+
- 🧪 **Enhanced testing** including edge cases and performance benchmarks
61+
- 🔒 **Security enhancements** and vulnerability reporting
62+
- 🌐 **Internationalization** and accessibility improvements
63+
64+
## 🏅 Recognition System
65+
66+
We recognize contributors through:
67+
- **🏆 GitHub contributor graph** - Automatic recognition for all contributors
68+
- **📜 This contributors file** - Permanent recognition with profile links
69+
- **📰 Release notes** - Special mentions for significant contributions
70+
- **🎖️ GitHub achievements** - Earn badges for different types of contributions
71+
- **⭐ Special thanks** - Recognition in our documentation for exceptional contributions
72+
73+
## 💬 Community
74+
75+
Join our community discussions:
76+
- **[GitHub Discussions](https://github.com/santosr2/conditional-paths-action/discussions)** - General discussions and Q&A
77+
- **[GitHub Issues](https://github.com/santosr2/conditional-paths-action/issues)** - Bug reports and feature requests
78+
- **[Security Advisories](https://github.com/santosr2/conditional-paths-action/security/advisories)** - Security-related discussions
79+
80+
---
81+
82+
<div align="center">
83+
84+
**🚀 Ready to contribute? Check out our [Contributing Guide](CONTRIBUTING.md) to get started!**
85+
86+
Made with ❤️ by the Conditional Paths Action community
87+
88+
</div>

0 commit comments

Comments
 (0)