Modern development is so complex that it is simply impossible to keep everything in mind, especially various practices for writing code. This is where linters come to the rescue. They help maintain certain standards in the project and keep the code base in order.

At Evrone, we develop  projects in a variety of programming languages, including Ruby, Go, Rust, Python, Elixir, etc., and we connect different linters to each project. To make sure our code meets all quality standards, we run linters using CI services for every commit submitted to GitHub.

Reviewdog

It is very important to us that the result of linters’ work is always visible on GitHub, for example, in the form of comments to pull requests. To do this, we use reviewdog, which automates code review and provides seamless integration of any linter with GitHub. Here’s why reviewdog is so good:

  1. It is written in Go and can be compiled into a binary file and connected to any project, regardless of the programming language.
  2. It can work with any linters, you just need to redirect the linter result to the reviewdog input and define the linter output format, for example, $ dotenv-linter | reviewdog -efm="%f:%l %m"
  3. It supports a large number of linters out of the box, such as  dotenv-linter, rubocop and others.

#tech #github-actions #github #devops #docker

GitHub Actions To Bring You Consistency
1.20 GEEK