Sign inSign up

lpenz/omnilint

By lpenz

Updated 5 days ago

Collection of static analysers in an easy-to-use container that checks files in an exported path

Image
1

10K+

lpenz/omnilint repository overview

Build Status Docker Automated build

omnilint

TL;DR

Add the following to your .travis.yml to get a job that performs static analysis on the files of your repository:

jobs:
  include:
    - name: omnilint
      language: generic
      install: docker pull lpenz/omnilint
      script: docker run --rm -u "$UID" -v "$PWD:$PWD" -w "$PWD" lpenz/omnilint

Or use it as a github action with a workflow file like the following:

name: CI
on: push
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@master
      - uses: docker://lpenz/omnilint:latest

What is omnilint

omnilint is a container-based tool that provides a unified interface for the static analysis of any file, using the appropriate tool.

File                    Linter
.c  \                  / cppcheck
.sh  -    omnilint    -  shelcheck
.py /        |         \ pyflakes
      gcc-like output
        json output

omnilint is specially useful when combined with CI tools like travis, jenkins, etc.

Installation and local usage

Requirements:

  • docker

The easier way to install omnilint is by pulling the container from docker hub:

docker pull lpenz/omnilint

Using omnilint is a matter of starting the container with the directory with the files to be analyzed mapped:

docker run --rm -u "$UID" -v "$PWD:$PWD" -w "$PWD" omnilint

You can also simply call the script bin/omnilint-docker-run that is present in the repository.

Tag summary

Content type

Image

Digest

sha256:7c460094a

Size

1.1 GB

Last updated

6 days ago

docker pull lpenz/omnilint