The reason for this project's existence is to provide real-world, working examples of the most useful elements of GitHub's Reusable Actions and Workflows. You CAN make use of this code as-is ... but you'll get a LOT more mileage out of it if you use it as a template to build your own workflows.
RagsWorks Reusable Linters
provides a collection of the most common code linters you're likely to use and makes them available as Reusable GitHub Actions and Workflow Templates that you can use to implement your own reusable actions and workflows.
The Branch Reliability Table is a way for you to determine how close to the bleeding edge you're comfortable getting.
If you need stability, then download a branch marked with 🟢
If you're contributing code to the project, you'll want 🔴
Branch | Stability | Code Age | Reliability |
---|---|---|---|
master |
latest stable | latest release | 🟢 |
develop |
latest unstable | most recent code | 🔴 |
This project contains the following Reusable GitHub Actions and Workflows
LEGEND:
- ☑️ = WIP
- ✅ = AVAILABLE NOW
- ☑️
ActionLint
- ☑️
ESLint
(Typescript) - ☑️
ESLint-JSON
- ☑️
GitLeaks
(Secrets) - ✅
HadoLint
- ☑️
HTMLLint
- ☑️
LibXML
- ☑️
MarkdownLint
- ☑️
PHPStan
- ☑️
PyLint
- ☑️
RuboCop
- ✅
ShellCheck Linter Action
- ☑️
SQL-Lint
- ☑️
TextLint
- ☑️
YAMLLint
- ✅
Docker Build & Push Image
- Generic Docker Image Builder capable of building multi-platform images and pushing them to multiple registries (DockerHub & GHCR)
- ✅
Docker Build ShellCheck Image
- ✅
ShellCheck Linter Template
📛 Badges
COMING SOON
🔐 Security
While the RagsWorks
Organization follows good security practices, 100% security can never be guaranteed in any software package. The RagsWorks Reusable Linters
is provided AS IS, and without warranty. You can find more details in the LICENSE file included with this repository.
If you discover any issue regarding the security of this project, please disclose that information responsibly by sending a security advisory. PLEASE DO NOT CREATE AN ISSUE OR DISCUSSION TOPIC. You can read more about this project's security policies HERE
If you'd like to make a contribution, then please see the Bash Bits Contributor's Guide
It's not just contributions of code that I'm looking for. If you have any ideas or suggestions about how this project may be improved, don't hesitate to open an issue and let me know! Contributions of ALL kinds will be recognised here if they are made part of this project - thanks to the All-Contributors bot.
This project incorporates ideas and / or code crafted by the following talented individuals:
"We see much further, and reach much higher,
only because we stand upon the shoulders of giants"
⚖️ License
Copyright © 2023 Darren (Ragdata) Poulton
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.