cleanup and make linting part of ci work

pull/960/head
Willem Melching 2020-01-17 13:03:37 -08:00
parent 59b3d06417
commit 7f813d23ce
9 changed files with 423 additions and 432 deletions

View File

@ -1,156 +0,0 @@
[style]
# Align closing bracket with visual indentation.
ALIGN_CLOSING_BRACKET_WITH_VISUAL_INDENT=True
# Allow lambdas to be formatted on more than one line.
ALLOW_MULTILINE_LAMBDAS=False
# Insert a blank line before a 'def' or 'class' immediately nested
# within another 'def' or 'class'. For example:
#
# class Foo:
# # <------ this blank line
# def method():
# ...
BLANK_LINE_BEFORE_NESTED_CLASS_OR_DEF=False
# Do not split consecutive brackets. Only relevant when
# dedent_closing_brackets is set. For example:
#
# call_func_that_takes_a_dict(
# {
# 'key1': 'value1',
# 'key2': 'value2',
# }
# )
#
# would reformat to:
#
# call_func_that_takes_a_dict({
# 'key1': 'value1',
# 'key2': 'value2',
# })
COALESCE_BRACKETS=False
# The column limit.
COLUMN_LIMIT=90
# Indent width used for line continuations.
CONTINUATION_INDENT_WIDTH=2
# Put closing brackets on a separate line, dedented, if the bracketed
# expression can't fit in a single line. Applies to all kinds of brackets,
# including function definitions and calls. For example:
#
# config = {
# 'key1': 'value1',
# 'key2': 'value2',
# } # <--- this bracket is dedented and on a separate line
#
# time_series = self.remote_client.query_entity_counters(
# entity='dev3246.region1',
# key='dns.query_latency_tcp',
# transform=Transformation.AVERAGE(window=timedelta(seconds=60)),
# start_ts=now()-timedelta(days=3),
# end_ts=now(),
# ) # <--- this bracket is dedented and on a separate line
DEDENT_CLOSING_BRACKETS=False
# The regex for an i18n comment. The presence of this comment stops
# reformatting of that line, because the comments are required to be
# next to the string they translate.
I18N_COMMENT=
# The i18n function call names. The presence of this function stops
# reformattting on that line, because the string it has cannot be moved
# away from the i18n comment.
I18N_FUNCTION_CALL=
# Indent the dictionary value if it cannot fit on the same line as the
# dictionary key. For example:
#
# config = {
# 'key1':
# 'value1',
# 'key2': value1 +
# value2,
# }
INDENT_DICTIONARY_VALUE=False
# The number of columns to use for indentation.
INDENT_WIDTH=2
# Join short lines into one line. E.g., single line 'if' statements.
JOIN_MULTIPLE_LINES=True
# Use spaces around default or named assigns.
SPACES_AROUND_DEFAULT_OR_NAMED_ASSIGN=False
# Use spaces around the power operator.
SPACES_AROUND_POWER_OPERATOR=False
# The number of spaces required before a trailing comment.
SPACES_BEFORE_COMMENT=2
# Insert a space between the ending comma and closing bracket of a list,
# etc.
SPACE_BETWEEN_ENDING_COMMA_AND_CLOSING_BRACKET=True
# Split before arguments if the argument list is terminated by a
# comma.
SPLIT_ARGUMENTS_WHEN_COMMA_TERMINATED=False
# Set to True to prefer splitting before '&', '|' or '^' rather than
# after.
SPLIT_BEFORE_BITWISE_OPERATOR=False
# If an argument / parameter list is going to be split, then split before
# the first argument.
SPLIT_BEFORE_FIRST_ARGUMENT=False
# Set to True to prefer splitting before 'and' or 'or' rather than
# after.
SPLIT_BEFORE_LOGICAL_OPERATOR=False
# Split named assignments onto individual lines.
SPLIT_BEFORE_NAMED_ASSIGNS=True
# The penalty for splitting right after the opening bracket.
SPLIT_PENALTY_AFTER_OPENING_BRACKET=30
# The penalty for splitting the line after a unary operator.
SPLIT_PENALTY_AFTER_UNARY_OPERATOR=10000
# The penalty for splitting right before an if expression.
SPLIT_PENALTY_BEFORE_IF_EXPR=0
# The penalty of splitting the line around the '&', '|', and '^'
# operators.
SPLIT_PENALTY_BITWISE_OPERATOR=300
# The penalty for characters over the column limit.
SPLIT_PENALTY_EXCESS_CHARACTER=2600
# The penalty incurred by adding a line split to the unwrapped line. The
# more line splits added the higher the penalty.
SPLIT_PENALTY_FOR_ADDED_LINE_SPLIT=30
# The penalty of splitting a list of "import as" names. For example:
#
# from a_very_long_or_indented_module_name_yada_yad import (long_argument_1,
# long_argument_2,
# long_argument_3)
#
# would reformat to something like:
#
# from a_very_long_or_indented_module_name_yada_yad import (
# long_argument_1, long_argument_2, long_argument_3)
SPLIT_PENALTY_IMPORT_NAMES=0
# The penalty of splitting the line around the 'and' and 'or'
# operators.
SPLIT_PENALTY_LOGICAL_OPERATOR=300
# Use the Tab character for indentation.
USE_TABS=False

View File

@ -1,99 +0,0 @@
FROM ubuntu:16.04
ENV PYTHONUNBUFFERED 1
RUN apt-get update && apt-get install -y \
build-essential \
bzip2 \
clang \
cmake \
curl \
ffmpeg \
git \
libarchive-dev \
libbz2-dev \
libcurl4-openssl-dev \
libeigen3-dev \
libffi-dev \
libglew-dev \
libglfw3-dev \
libglib2.0-0 \
liblzma-dev \
libmysqlclient-dev \
libomp-dev \
libopencv-dev \
libssl-dev \
libsqlite3-dev \
libusb-1.0-0-dev \
libzmq5-dev \
locales \
ocl-icd-libopencl1 \
ocl-icd-opencl-dev \
opencl-headers \
python-dev \
python-pip \
screen \
sudo \
vim \
wget
RUN sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && locale-gen
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8
COPY ./external/opencl /tmp/openpilot/external/opencl
RUN dpkg -i /tmp/openpilot/external/opencl/*.deb
RUN mkdir -p /etc/OpenCL/vendors; cp /tmp/openpilot/external/opencl/intel.icd /etc/OpenCL/vendors/intel.icd
RUN curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
ENV PATH="/root/.pyenv/bin:/root/.pyenv/shims:${PATH}"
RUN pyenv install 3.7.3
RUN pyenv global 3.7.3
RUN pyenv rehash
RUN pip install pipenv==2018.11.26
COPY Pipfile /tmp/
COPY Pipfile.lock /tmp/
RUN python --version
RUN cd /tmp && pipenv install --system --deploy --dev
RUN mkdir -p /home/batman
ENV HOME /home/batman
ENV PATH /tmp/openpilot/external/capnp/bin/:${PATH}
ENV PYTHONPATH /tmp/openpilot:${PYTHONPATH}
COPY ./apk /tmp/openpilot/apk
COPY ./cereal /tmp/openpilot/cereal
COPY ./common /tmp/openpilot/common
COPY ./external /tmp/openpilot/external
COPY ./laika /tmp/openpilot/laika
COPY ./models /tmp/openpilot/models
COPY ./opendbc /tmp/openpilot/opendbc
COPY ./tools /tmp/openpilot/tools
COPY ./panda /tmp/openpilot/panda
COPY ./phonelibs /tmp/openpilot/phonelibs
COPY ./pyextra /tmp/openpilot/pyextra
COPY ./release /tmp/openpilot/release
COPY ./selfdrive /tmp/openpilot/selfdrive
COPY ./xx/__init__.py /tmp/openpilot/xx/__init__.py
COPY ./xx/chffr /tmp/openpilot/xx/chffr
COPY ./xx/pipeline /tmp/openpilot/xx/pipeline
COPY ./xx/uncommon /tmp/openpilot/xx/uncommon
COPY ./xx/tools/__init__.py /tmp/openpilot/xx/tools/__init__.py
COPY ./xx/tools/rldriving /tmp/openpilot/xx/tools/rldriving
COPY ./xx/models /tmp/openpilot/xx/models/
COPY ./xx/tools/mlmonitoring /tmp/openpilot/xx/tools/mlmonitoring
COPY ./xx/tools/reporter /tmp/openpilot/xx/tools/reporter
COPY flake8_openpilot.sh /tmp/openpilot/flake8_openpilot.sh
COPY pylint_openpilot.sh /tmp/openpilot/pylint_openpilot.sh
COPY .pylintrc /tmp/openpilot/.pylintrc
# Azure keys
ENV EXTERNAL 1
ENV CI 1
ENV AZUTIL_KEYS /tmp/openpilot/selfdrive/test/commadataci.json

View File

@ -69,7 +69,11 @@ RUN /tmp/install_capnp.sh
RUN git clone --branch v0.7 https://github.com/commaai/openpilot-tools.git /tmp/openpilot/tools
ENV PYTHONPATH /tmp/openpilot:${PYTHONPATH}
COPY ./.pylintrc /tmp/openpilot/.pylintrc
COPY ./flake8_openpilot.sh /tmp/openpilot
COPY ./pylint_openpilot.sh /tmp/openpilot
COPY ./.pylintrc /tmp/openpilot/
COPY ./release /tmp/openpilot/release
COPY ./common /tmp/openpilot/common
COPY ./cereal /tmp/openpilot/cereal
COPY ./opendbc /tmp/openpilot/opendbc

View File

@ -1,105 +0,0 @@
FROM ubuntu:16.04
ENV PYTHONUNBUFFERED 1
RUN apt-get update && apt-get install -y \
build-essential \
bzip2 \
clang \
cmake \
curl \
ffmpeg \
git \
libarchive-dev \
libbz2-dev \
libcurl4-openssl-dev \
libeigen3-dev \
libffi-dev \
libglew-dev \
libgles2-mesa-dev \
libglfw3-dev \
libglib2.0-0 \
liblzma-dev \
libmysqlclient-dev \
libomp-dev \
libopencv-dev \
libssl-dev \
libsqlite3-dev \
libusb-1.0-0-dev \
libzmq5-dev \
locales \
ocl-icd-libopencl1 \
ocl-icd-opencl-dev \
opencl-headers \
python-dev \
python-pip \
screen \
sudo \
vim \
wget
RUN sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && locale-gen
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8
COPY ./external/opencl /tmp/openpilot/external/opencl
RUN dpkg -i /tmp/openpilot/external/opencl/*.deb
RUN mkdir -p /etc/OpenCL/vendors; cp /tmp/openpilot/external/opencl/intel.icd /etc/OpenCL/vendors/intel.icd
RUN curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
ENV PATH="/root/.pyenv/bin:/root/.pyenv/shims:${PATH}"
RUN pyenv install 3.7.3
RUN pyenv global 3.7.3
RUN pyenv rehash
RUN pip install pipenv==2018.11.26
COPY Pipfile /tmp/
COPY Pipfile.lock /tmp/
RUN python --version
RUN cd /tmp && pipenv install --system --deploy
# Install subset of dev dependencies needed for CI
RUN pip install matplotlib==3.1.1 dictdiffer==0.8.0 fastcluster==1.1.25 aenum==2.2.1 scipy==1.3.1 lru-dict==1.1.6 tenacity==5.1.1 azure-common==1.1.23 azure-nspkg==3.0.2 azure-storage-blob==2.1.0 azure-storage-common==2.1.0 azure-storage-nspkg==3.1.0 pycurl==7.43.0.3
RUN mkdir -p /home/batman
ENV HOME /home/batman
ENV PATH /tmp/openpilot/external/capnp/bin/:${PATH}
ENV PYTHONPATH /tmp/openpilot:${PYTHONPATH}
COPY ./apk /tmp/openpilot/apk
COPY ./cereal /tmp/openpilot/cereal
COPY ./common /tmp/openpilot/common
COPY ./external /tmp/openpilot/external
COPY ./laika /tmp/openpilot/laika
COPY ./models /tmp/openpilot/models
COPY ./opendbc /tmp/openpilot/opendbc
COPY ./tools /tmp/openpilot/tools
COPY ./panda /tmp/openpilot/panda
COPY ./phonelibs /tmp/openpilot/phonelibs
COPY ./pyextra /tmp/openpilot/pyextra
COPY ./release /tmp/openpilot/release
COPY ./selfdrive /tmp/openpilot/selfdrive
COPY ./xx/__init__.py /tmp/openpilot/xx/__init__.py
COPY ./xx/chffr /tmp/openpilot/xx/chffr
COPY ./xx/pipeline /tmp/openpilot/xx/pipeline
COPY ./xx/uncommon /tmp/openpilot/xx/uncommon
COPY ./xx/tools/__init__.py /tmp/openpilot/xx/tools/__init__.py
COPY ./xx/tools/rldriving /tmp/openpilot/xx/tools/rldriving
COPY ./xx/models /tmp/openpilot/xx/models/
COPY flake8_openpilot.sh /tmp/openpilot/flake8_openpilot.sh
COPY pylint_openpilot.sh /tmp/openpilot/pylint_openpilot.sh
COPY .pylintrc /tmp/openpilot/.pylintrc
COPY SConstruct /tmp/openpilot/SConstruct
# Azure keys
ENV EXTERNAL 1
ENV CI 1
ENV AZUTIL_KEYS /tmp/openpilot/selfdrive/test/commadataci.json
RUN cd /tmp/openpilot && scons -c && scons -j$(nproc)

55
Jenkinsfile vendored
View File

@ -1,55 +0,0 @@
pipeline {
agent any
environment {
AUTHOR = """${sh(
returnStdout: true,
script: "git --no-pager show -s --format='%an' ${GIT_COMMIT}"
).trim()}"""
GIT_COMMIT_DESC = """${sh(
returnStdout: true,
script: "git log --format=%B -n 1 ${GIT_COMMIT}"
).trim()}"""
GIT_COMMIT_SHORT = """${sh(
returnStdout: true,
script: "git rev-parse --short=8 ${GIT_COMMIT}"
).trim()}"""
COMMA_JWT = credentials('athena-test-jwt')
}
stages {
stage('Builds') {
parallel {
stage('EON Build/Test') {
steps {
lock(resource: "", label: 'eon', inversePrecedence: true, variable: 'eon_name', quantity: 1){
timeout(time: 90, unit: 'MINUTES') {
dir(path: 'selfdrive/test') {
ansiColor('xterm') {
sh './release_build.py'
}
}
}
}
}
}
stage('LEON Build/Test') {
steps {
lock(resource: "", label: 'leon', inversePrecedence: true, variable: 'leon_name', quantity: 1){
timeout(time: 90, unit: 'MINUTES') {
dir(path: 'selfdrive/test') {
ansiColor('xterm') {
sh './release_build.py'
}
}
}
}
}
}
}
}
}
post {
failure {
slackSend(color:'danger', message:"Failed: one » ${env.JOB_NAME} [${env.BUILD_NUMBER}] (<${env.RUN_DISPLAY_URL}|Open>)\n- ${env.GIT_COMMIT_DESC} (<https://github.com/commaai/one/commit/${env.GIT_COMMIT}|${env.GIT_COMMIT_SHORT}> on ${env.GIT_BRANCH} by ${env.CHANGE_AUTHOR})")
}
}
}

View File

@ -1,12 +0,0 @@
#!/bin/bash
# Only pyflakes checks (--select=F)
flake8 --select=F $(find . -iname "*.py" | grep -vi "^\./pyextra.*" | grep -vi "^\./panda")
RESULT=$?
if [ $RESULT -eq 0 ]; then
pylint $(find . -iname "*.py" | grep -vi "^\./pyextra.*" | grep -vi "^\./panda")
RESULT=$? & 3
fi
[ $RESULT -ne 0 ] && exit 1
exit 0

View File

@ -0,0 +1,416 @@
README.md
launch_openpilot.sh
SAFETY.md
.travis.yml
.pylintrc
run_docker_tests.sh
Dockerfile.openpilot
phonelibs/install_capnp.sh
check_code_quality.sh
Pipfile
Pipfile.lock
.gitignore
LICENSE
Makefile
launch_chffrplus.sh
CONTRIBUTING.md
RELEASES.md
SConstruct
.github/**
apk/ai.comma*.apk
common/.gitignore
common/__init__.py
common/android.py
common/realtime.py
common/clock.pyx
common/timeout.py
common/ffi_wrapper.py
common/file_helpers.py
common/logging_extra.py
common/numpy_fast.py
common/params.py
common/profiler.py
common/testing.py
common/basedir.py
common/filter_simple.py
common/sympy_helpers.py
common/stat_live.py
common/spinner.py
common/cython_hacks.py
common/apk.py
common/SConscript
common/common_pyx_setup.py
common/kalman/.gitignore
common/kalman/*
common/kalman/tests/*
common/transformations/__init__.py
common/transformations/camera.py
common/transformations/coordinates.py
common/transformations/model.py
common/transformations/orientation.py
common/api/__init__.py
models/supercombo.dlc
models/monitoring_model_q.dlc
selfdrive/version.py
selfdrive/__init__.py
selfdrive/registration.py
selfdrive/config.py
selfdrive/crash.py
selfdrive/launcher.py
selfdrive/manager.py
selfdrive/swaglog.py
selfdrive/thermald.py
selfdrive/logmessaged.py
selfdrive/tombstoned.py
selfdrive/pandad.py
selfdrive/updated.py
selfdrive/athena/__init__.py
selfdrive/athena/athenad.py
selfdrive/athena/manage_athenad.py
selfdrive/athena/test.py
selfdrive/athena/test_helpers.py
selfdrive/boardd/.gitignore
selfdrive/boardd/SConscript
selfdrive/boardd/__init__.py
selfdrive/boardd/boardd.cc
selfdrive/boardd/boardd.py
selfdrive/boardd/boardd_api_impl.pyx
selfdrive/boardd/boardd_setup.py
selfdrive/boardd/can_list_to_can_capnp.cc
selfdrive/boardd/tests/**
selfdrive/car/__init__.py
selfdrive/car/car_helpers.py
selfdrive/car/fingerprints.py
selfdrive/car/interfaces.py
selfdrive/car/vin.py
selfdrive/car/fw_versions.py
selfdrive/car/isotp_parallel_query.py
selfdrive/car/chrysler/__init__.py
selfdrive/car/chrysler/carstate.py
selfdrive/car/chrysler/interface.py
selfdrive/car/chrysler/radar_interface.py
selfdrive/car/chrysler/values.py
selfdrive/car/chrysler/carcontroller.py
selfdrive/car/chrysler/chryslercan.py
selfdrive/car/chrysler/test_chryslercan.py
selfdrive/car/honda/__init__.py
selfdrive/car/honda/carstate.py
selfdrive/car/honda/interface.py
selfdrive/car/honda/radar_interface.py
selfdrive/car/honda/values.py
selfdrive/car/honda/carcontroller.py
selfdrive/car/honda/hondacan.py
selfdrive/car/hyundai/__init__.py
selfdrive/car/hyundai/carstate.py
selfdrive/car/hyundai/interface.py
selfdrive/car/hyundai/radar_interface.py
selfdrive/car/hyundai/values.py
selfdrive/car/hyundai/carcontroller.py
selfdrive/car/hyundai/hyundaican.py
selfdrive/car/toyota/__init__.py
selfdrive/car/toyota/carstate.py
selfdrive/car/toyota/interface.py
selfdrive/car/toyota/radar_interface.py
selfdrive/car/toyota/values.py
selfdrive/car/toyota/carcontroller.py
selfdrive/car/toyota/toyotacan.py
selfdrive/car/volkswagen/__init__.py
selfdrive/car/volkswagen/carstate.py
selfdrive/car/volkswagen/interface.py
selfdrive/car/volkswagen/radar_interface.py
selfdrive/car/volkswagen/values.py
selfdrive/car/volkswagen/carcontroller.py
selfdrive/car/volkswagen/volkswagencan.py
selfdrive/car/gm/__init__.py
selfdrive/car/gm/carstate.py
selfdrive/car/gm/interface.py
selfdrive/car/gm/radar_interface.py
selfdrive/car/gm/values.py
selfdrive/car/gm/carcontroller.py
selfdrive/car/gm/gmcan.py
selfdrive/car/ford/__init__.py
selfdrive/car/ford/carstate.py
selfdrive/car/ford/interface.py
selfdrive/car/ford/radar_interface.py
selfdrive/car/ford/values.py
selfdrive/car/ford/carcontroller.py
selfdrive/car/ford/fordcan.py
selfdrive/car/subaru/__init__.py
selfdrive/car/subaru/carstate.py
selfdrive/car/subaru/interface.py
selfdrive/car/subaru/radar_interface.py
selfdrive/car/subaru/values.py
selfdrive/car/subaru/carcontroller.py
selfdrive/car/subaru/subarucan.py
selfdrive/car/mock/*.py
selfdrive/clocksd/.gitignore
selfdrive/clocksd/SConscript
selfdrive/clocksd/clocksd.cc
selfdrive/debug/mpc/*
selfdrive/debug/*.py
selfdrive/common/SConscript
selfdrive/common/version.h
selfdrive/common/buffering.[c,h]
selfdrive/common/framebuffer.h
selfdrive/common/framebuffer.cc
selfdrive/common/glutil.[c,h]
selfdrive/common/touch.[c,h]
selfdrive/common/visionipc.[c,h]
selfdrive/common/visionbuf_cl.c
selfdrive/common/ipc.[c,h]
selfdrive/common/swaglog.[c,h]
selfdrive/common/util.[c,h]
selfdrive/common/efd.[c,h]
selfdrive/common/cqueue.[c,h]
selfdrive/common/clutil.[c,h]
selfdrive/common/messaging.h
selfdrive/common/params.h
selfdrive/common/params.cc
selfdrive/common/mutex.h
selfdrive/common/modeldata.h
selfdrive/common/mat.h
selfdrive/common/timing.h
selfdrive/common/utilpp.h
selfdrive/common/visionbuf.h
selfdrive/common/visionbuf_ion.c
selfdrive/common/visionimg.cc
selfdrive/common/visionimg.h
selfdrive/common/spinner.c
selfdrive/common/spinner.h
selfdrive/controls/__init__.py
selfdrive/controls/tests/*
selfdrive/controls/controlsd.py
selfdrive/controls/plannerd.py
selfdrive/controls/radard.py
selfdrive/controls/lib/__init__.py
selfdrive/controls/lib/alertmanager.py
selfdrive/controls/lib/alerts.py
selfdrive/controls/lib/alerts_offroad.json
selfdrive/controls/lib/drive_helpers.py
selfdrive/controls/lib/driver_monitor.py
selfdrive/controls/lib/latcontrol_pid.py
selfdrive/controls/lib/latcontrol_indi.py
selfdrive/controls/lib/latcontrol_lqr.py
selfdrive/controls/lib/longcontrol.py
selfdrive/controls/lib/pathplanner.py
selfdrive/controls/lib/lane_planner.py
selfdrive/controls/lib/pid.py
selfdrive/controls/lib/planner.py
selfdrive/controls/lib/radar_helpers.py
selfdrive/controls/lib/vehicle_model.py
selfdrive/controls/lib/speed_smoother.py
selfdrive/controls/lib/fcw.py
selfdrive/controls/lib/long_mpc.py
selfdrive/controls/lib/gps_helpers.py
selfdrive/controls/lib/cluster/*
selfdrive/controls/lib/lateral_mpc/lib_mpc_export/*
selfdrive/controls/lib/lateral_mpc/.gitignore
selfdrive/controls/lib/lateral_mpc/SConscript
selfdrive/controls/lib/lateral_mpc/__init__.py
selfdrive/controls/lib/lateral_mpc/generator.cpp
selfdrive/controls/lib/lateral_mpc/libmpc_py.py
selfdrive/controls/lib/lateral_mpc/lateral_mpc.c
selfdrive/controls/lib/longitudinal_mpc/lib_mpc_export/*
selfdrive/controls/lib/longitudinal_mpc/.gitignore
selfdrive/controls/lib/longitudinal_mpc/SConscript
selfdrive/controls/lib/longitudinal_mpc/__init__.py
selfdrive/controls/lib/longitudinal_mpc/generator.cpp
selfdrive/controls/lib/longitudinal_mpc/libmpc_py.py
selfdrive/controls/lib/longitudinal_mpc/longitudinal_mpc.c
selfdrive/locationd/__init__.py
selfdrive/locationd/.gitignore
selfdrive/locationd/SConscript
selfdrive/locationd/ubloxd.cc
selfdrive/locationd/ubloxd_main.cc
selfdrive/locationd/ubloxd_test.cc
selfdrive/locationd/ublox_msg.cc
selfdrive/locationd/ublox_msg.h
selfdrive/locationd/test/*.py
selfdrive/locationd/calibrationd.py
selfdrive/locationd/calibration_helpers.py
selfdrive/locationd/locationd_yawrate.cc
selfdrive/locationd/locationd_yawrate.h
selfdrive/locationd/params_learner.cc
selfdrive/locationd/params_learner.h
selfdrive/locationd/paramsd.cc
selfdrive/logcatd/SConscript
selfdrive/logcatd/logcatd.cc
selfdrive/proclogd/SConscript
selfdrive/proclogd/proclogd.cc
selfdrive/loggerd/SConscript
selfdrive/loggerd/encoder.[c,h]
selfdrive/loggerd/frame_logger.h
selfdrive/loggerd/logger.[c,h]
selfdrive/loggerd/loggerd.cc
selfdrive/loggerd/raw_logger.cc
selfdrive/loggerd/raw_logger.h
selfdrive/loggerd/include/msm_media_info.h
selfdrive/loggerd/__init__.py
selfdrive/loggerd/config.py
selfdrive/loggerd/uploader.py
selfdrive/loggerd/deleter.py
selfdrive/loggerd/tests/*
selfdrive/sensord/SConscript
selfdrive/sensord/gpsd.cc
selfdrive/sensord/libdiag.h
selfdrive/sensord/rawgps.cc
selfdrive/sensord/rawgps.h
selfdrive/sensord/sensors.cc
selfdrive/sensord/sensord
selfdrive/sensord/gpsd
selfdrive/test/__init__.py
selfdrive/test/longitudinal_maneuvers/*.py
selfdrive/test/test_openpilot.py
selfdrive/test/test_fingerprints.py
selfdrive/test/test_car_models.py
selfdrive/test/openpilotci_upload.py
selfdrive/test/process_replay/.gitignore
selfdrive/test/process_replay/__init__.py
selfdrive/test/process_replay/compare_logs.py
selfdrive/test/process_replay/process_replay.py
selfdrive/test/process_replay/test_processes.py
selfdrive/test/process_replay/update_refs.py
selfdrive/test/process_replay/ref_commit
selfdrive/test/process_replay/README.md
selfdrive/ui/.gitignore
selfdrive/ui/SConscript
selfdrive/ui/*.c
selfdrive/ui/*.cc
selfdrive/ui/*.h
selfdrive/ui/*.hpp
selfdrive/ui/ui
selfdrive/ui/spinner/Makefile
selfdrive/ui/spinner/spinner
selfdrive/ui/spinner/spinner.c
selfdrive/camerad/SConscript
selfdrive/camerad/main.cc
selfdrive/camerad/bufs.h
selfdrive/camerad/snapshot/*
selfdrive/camerad/include/*
selfdrive/camerad/cameras/camera_common.h
selfdrive/camerad/cameras/camera_frame_stream.cc
selfdrive/camerad/cameras/camera_frame_stream.h
selfdrive/camerad/cameras/camera_qcom.[c,h]
selfdrive/camerad/cameras/debayer.cl
selfdrive/camerad/cameras/sensor_i2c.h
selfdrive/camerad/transforms/rgb_to_yuv.c
selfdrive/camerad/transforms/rgb_to_yuv.h
selfdrive/camerad/transforms/rgb_to_yuv.cl
selfdrive/camerad/transforms/rgb_to_yuv_test.cc
selfdrive/modeld/SConscript
selfdrive/modeld/modeld.cc
selfdrive/modeld/monitoringd.cc
selfdrive/modeld/constants.py
selfdrive/modeld/modeld
selfdrive/modeld/monitoringd
selfdrive/modeld/models/commonmodel.c
selfdrive/modeld/models/commonmodel.h
selfdrive/modeld/models/driving.cc
selfdrive/modeld/models/driving.h
selfdrive/modeld/models/monitoring.cc
selfdrive/modeld/models/monitoring.h
selfdrive/modeld/transforms/loadyuv.[c,h]
selfdrive/modeld/transforms/loadyuv.cl
selfdrive/modeld/transforms/transform.[c,h]
selfdrive/modeld/transforms/transform.cl
selfdrive/modeld/runners/snpemodel.cc
selfdrive/modeld/runners/snpemodel.h
selfdrive/modeld/runners/runmodel.h
selfdrive/modeld/runners/run.h
selfdrive/assets
selfdrive/assets/fonts/*.ttf
phonelibs/SConscript
phonelibs/eigen/**
phonelibs/yaml-cpp/include/**
phonelibs/yaml-cpp/lib/**
phonelibs/yaml-cpp/x64/**
phonelibs/yaml-cpp/LICENSE
phonelibs/nanovg/*.c
phonelibs/nanovg/*.h
phonelibs/zmq/x64/**
phonelibs/libgralloc/**
phonelibs/linux/**
phonelibs/opencl/**
phonelibs/curl/*
phonelibs/zlib/*
phonelibs/boringssl/*
phonelibs/bzip2/*
phonelibs/openmax/**
phonelibs/zmq/aarch64/lib/*
phonelibs/json/src/json.c
phonelibs/json/src/json.h
phonelibs/json11/json11.cpp
phonelibs/json11/json11.hpp
phonelibs/qpoases/**
phonelibs/libyuv/**
phonelibs/snpe/**
phonelibs/fastcv/**
phonelibs/android_frameworks_native/**
phonelibs/android_hardware_libhardware/**
phonelibs/android_system_core/**
installer/updater/updater
installer/updater/updater.cc
installer/updater/update.json
installer/updater/Makefile
scripts/update_now.sh
scripts/stop_updater.sh

View File

@ -7,8 +7,8 @@ RUN="docker run --shm-size 1G --rm tmppilot /bin/sh -c"
docker build -t tmppilot -f Dockerfile.openpilot .
$RUN "$SETUP cd /tmp/openpilot/selfdrive/test/ && ./test_fingerprints.py"
$RUN 'cd /tmp/openpilot/ && flake8 --select=F $(find . -iname "*.py" | grep -vi "^\./pyextra.*" | grep -vi "^\./panda" | grep -vi "^\./tools")'
$RUN 'cd /tmp/openpilot/ && pylint --disable=R,C,W $(find . -iname "*.py" | grep -vi "^\./pyextra.*" | grep -vi "^\./panda" | grep -vi "^\./tools"); exit $(($? & 3))'
$RUN "$SETUP ./flake8_openpilot.sh"
$RUN "$SETUP ./pylint_openpilot.sh"
$RUN "$SETUP python -m unittest discover common"
$RUN "$SETUP python -m unittest discover opendbc/can"
$RUN "$SETUP python -m unittest discover selfdrive/boardd"

View File

@ -1,2 +0,0 @@
#!/usr/bin/env bash
sudo -- bash -c "source /etc/profile.d/comma_dev.sh; pyenv global 3.7.3"