Makefiles

June 19, 2020 ยท View on GitHub

Build Status Tag Type License

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).

Collection

Project typeDescription
genericMakefile for generic projects
terraform-moduleMakefile 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.

Dependency-less Makefiles made possible by the following Docker images.

Docker imageTypeDescription
awesome-ciBasicTools for git, file and static source code analysis
file-lintBasicBasic source code analysis
jsonlintBasicLint JSON files
yamllintBasicLint Yaml files
ansibleAnsibleMultiple versions of Ansible
ansible-lintAnsibleLint Ansible
gofmtGoFormat Go source code
golintGoLint Go code
eslintJavascriptLint Javascript code
checkmakeMakeLint Makefiles
phpcsPHPPHPCodeSniffer and Code Beautifier and Fixer
blackPythonThe uncompromising Python code formatter
pycodestylePythonPython style guide checker
pylintPythonPython source code, bug and quality checker
terraform-docsTerraformTerraform doc generator (TF 0.12 ready)
terragruntTerraformTerragrunt and Terraform

Contributing

See guidelines here: CONTRIBUTING

License

MIT License

Copyright (c) 2019 cytopia