diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 52945f7..fea47ca 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -3,9 +3,9 @@ repos: rev: master hooks: - id: check-ast - - id: check-json - - id: check-xml - id: check-yaml + - id: check-merge-conflict + - id: check-symlinks - repo: https://github.com/pre-commit/mirrors-mypy rev: master hooks: @@ -26,3 +26,16 @@ repos: types: [python] args: - --disable=C,R,W0613,W0511,W0212,W0201,W0311,W0106,W0603,W0621,W0703,E1136 +- repo: local + hooks: + - id: cppcheck + name: cppcheck + entry: cppcheck + language: system + types: [c++] + exclude: 'can/dbc_template.cc' + args: + - --error-exitcode=1 + - --force + - --quiet + - -j4 diff --git a/Dockerfile b/Dockerfile index 4b5a2fe..cedbce4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,32 @@ -from ubuntu:16.04 +FROM ubuntu:16.04 -RUN apt-get update && apt-get install -y libzmq3-dev capnproto libcapnp-dev clang wget git autoconf libtool curl make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl +RUN apt-get update && apt-get install -y --no-install-recommends \ + autoconf \ + build-essential \ + ca-certificates \ + capnproto \ + clang \ + cppcheck \ + curl \ + git \ + libtool \ + make \ + libbz2-dev \ + libffi-dev \ + libcapnp-dev \ + liblzma-dev \ + libncurses5-dev \ + libncursesw5-dev \ + libreadline-dev \ + libssl-dev \ + libsqlite3-dev \ + libzmq3-dev \ + llvm \ + tk-dev \ + python-openssl \ + xz-utils \ + zlib1g-dev \ + && rm -rf /var/lib/apt/lists/* RUN curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash ENV PATH="/root/.pyenv/bin:/root/.pyenv/shims:${PATH}" @@ -9,8 +35,8 @@ RUN pyenv global 3.7.3 RUN pyenv rehash COPY requirements.txt /tmp/ -RUN pip install -r /tmp/requirements.txt -RUN pip install pre-commit==2.4.0 pylint==2.5.2 +RUN pip install --no-cache-dir -r /tmp/requirements.txt +RUN pip install --no-cache-dir pre-commit==2.4.0 pylint==2.5.2 ENV PYTHONPATH=/project