makefiles
makefiles copied to clipboard
Makefiles
This #awesome-ci-based[1] repository holds a collection of cross-platform compatible Makefiles for various different types of projects, which will add the very basic and best-practice linting and file checking to your code.
The default provided stage is lint
[2] and will ensure your code is clean, git-diff
safe and according to best practices (depending on whatever linter configuration is provided).
- [1] See all awesome-ci projects here: https://github.com/topics/awesome-ci
-
[2] Some Makefiles might provide more targets (e.g.:
test
,gen
, ...).
Collection
Project type | Description |
---|---|
generic | Makefile for generic projects |
terraform-module | Makefile for Terraform module (for Terraform < 0.12 and >= 0.12) |
Requirements
- Docker
- GNU Make
Installation
Copy the appropriate Makefile to your project root and you're all set. The only required dependencies are Docker and GNU Make.
Usage
The general usage will always be:
$ make lint
For a more specific description see the project's README.md in each collection.
Related #awesome-ci Docker images
Dependency-less Makefiles made possible by the following Docker images.
Docker image | Type | Description |
---|---|---|
awesome-ci | Basic | Tools for git, file and static source code analysis |
file-lint | Basic | Basic source code analysis |
jsonlint | Basic | Lint JSON files |
yamllint | Basic | Lint Yaml files |
ansible | Ansible | Multiple versions of Ansible |
ansible-lint | Ansible | Lint Ansible |
gofmt | Go | Format Go source code |
golint | Go | Lint Go code |
eslint | Javascript | Lint Javascript code |
checkmake | Make | Lint Makefiles |
phpcs | PHP | PHPCodeSniffer and Code Beautifier and Fixer |
black | Python | The uncompromising Python code formatter |
pycodestyle | Python | Python style guide checker |
pylint | Python | Python source code, bug and quality checker |
terraform-docs | Terraform | Terraform doc generator (TF 0.12 ready) |
terragrunt | Terraform | Terragrunt and Terraform |
Contributing
See guidelines here: CONTRIBUTING
License
MIT License
Copyright (c) 2019 cytopia