mirror of
https://github.com/sunnypilot/sunnypilot.git
synced 2026-08-23 06:43:47 +08:00
f51a6f5462
This commit updates the release_files.py script to include .git-crypt and .venv in the list of blacklisted files. This ensures that these directories are excluded from the release process, maintaining cleaner and more secure releases.
228 lines
6.5 KiB
Python
Executable File
228 lines
6.5 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
import os
|
|
import re
|
|
from pathlib import Path
|
|
|
|
HERE = os.path.abspath(os.path.dirname(__file__))
|
|
ROOT = HERE + "/.."
|
|
|
|
# blacklisting is for two purposes:
|
|
# - minimizing release download size
|
|
# - keeping the diff readable
|
|
blacklist = [
|
|
"body/STL/",
|
|
|
|
"panda/drivers/",
|
|
"panda/examples/",
|
|
"panda/tests/safety/",
|
|
|
|
"opendbc/.*.dbc$",
|
|
"opendbc/generator/",
|
|
|
|
"cereal/.*test.*",
|
|
"^common/tests/",
|
|
|
|
# particularly large text files
|
|
"uv.lock",
|
|
"third_party/catch2",
|
|
"selfdrive/car/tests/test_models.*",
|
|
|
|
"^tools/",
|
|
"^scripts/",
|
|
"^tinygrad_repo/",
|
|
|
|
"matlab.*.md",
|
|
|
|
".git/",
|
|
".github/",
|
|
".devcontainer/",
|
|
"Darwin/",
|
|
".vscode/",
|
|
|
|
# common things
|
|
"LICENSE",
|
|
"Dockerfile",
|
|
".pre-commit",
|
|
|
|
# no LFS or submodules in release
|
|
".lfsconfig",
|
|
".gitattributes",
|
|
".git$",
|
|
".gitmodules",
|
|
]
|
|
|
|
# Sunnypilot blacklist
|
|
sunnypilot_blacklist = [
|
|
"system/loggerd/sunnylink_uploader.py", # Temporarily, until we are ready to roll it out widely
|
|
"system/manager/gitlab_runner.sh",
|
|
".idea/",
|
|
".run/",
|
|
".run/",
|
|
".*__pycache__/.*",
|
|
".*\.pyc",
|
|
"tinygrad/*",
|
|
"teleoprtc/*",
|
|
"third_party/snpe/x86_64/*",
|
|
"body/board/canloader.py",
|
|
"body/board/flash_base.sh",
|
|
"body/board/flash_knee.sh",
|
|
"body/board/recover.sh",
|
|
".*/test/",
|
|
".*/tests/",
|
|
".*tinygrad_repo/tinygrad/renderer/",
|
|
"README.md",
|
|
".*internal/",
|
|
"docs/.*",
|
|
".sconsign.dblite",
|
|
"release/ci/scons_cache/",
|
|
".gitlab-ci.yml",
|
|
".clang-tidy",
|
|
".dockerignore",
|
|
".editorconfig",
|
|
".gitmodules",
|
|
".pre-commit-config.yaml",
|
|
".python-version",
|
|
"Dockerfile",
|
|
"dockerfile",
|
|
"SECURITY.md",
|
|
"codecov.yml",
|
|
"conftest.py",
|
|
"poetry.lock",
|
|
".git-crypt/",
|
|
".venv"
|
|
]
|
|
|
|
# Merge the blacklists
|
|
blacklist += sunnypilot_blacklist
|
|
|
|
# gets you through the blacklist
|
|
whitelist = [
|
|
"^tools/lib/(?!.*__pycache__).*$",
|
|
"tools/bodyteleop/(?!.*__pycache__).*$",
|
|
|
|
"tinygrad_repo/openpilot/compile2.py",
|
|
"tinygrad_repo/extra/onnx.py",
|
|
"tinygrad_repo/extra/onnx_ops.py",
|
|
"tinygrad_repo/extra/thneed.py",
|
|
"tinygrad_repo/extra/utils.py",
|
|
"tinygrad_repo/tinygrad/codegen/kernel.py",
|
|
"tinygrad_repo/tinygrad/codegen/linearizer.py",
|
|
"tinygrad_repo/tinygrad/features/image.py",
|
|
"tinygrad_repo/tinygrad/features/search.py",
|
|
"tinygrad_repo/tinygrad/nn/*",
|
|
"tinygrad_repo/tinygrad/renderer/cstyle.py",
|
|
"tinygrad_repo/tinygrad/renderer/opencl.py",
|
|
"tinygrad_repo/tinygrad/runtime/lib.py",
|
|
"tinygrad_repo/tinygrad/runtime/ops_cpu.py",
|
|
"tinygrad_repo/tinygrad/runtime/ops_disk.py",
|
|
"tinygrad_repo/tinygrad/runtime/ops_gpu.py",
|
|
"tinygrad_repo/tinygrad/shape/*",
|
|
"tinygrad_repo/tinygrad/.*.py",
|
|
|
|
# TODO: do this automatically
|
|
"opendbc/comma_body.dbc",
|
|
"opendbc/chrysler_ram_hd_generated.dbc",
|
|
"opendbc/chrysler_ram_dt_generated.dbc",
|
|
"opendbc/chrysler_pacifica_2017_hybrid_generated.dbc",
|
|
"opendbc/chrysler_pacifica_2017_hybrid_private_fusion.dbc",
|
|
"opendbc/gm_global_a_powertrain_generated.dbc",
|
|
"opendbc/gm_global_a_object.dbc",
|
|
"opendbc/gm_global_a_chassis.dbc",
|
|
"opendbc/FORD_CADS.dbc",
|
|
"opendbc/ford_fusion_2018_adas.dbc",
|
|
"opendbc/ford_lincoln_base_pt.dbc",
|
|
"opendbc/honda_accord_2018_can_generated.dbc",
|
|
"opendbc/acura_ilx_2016_can_generated.dbc",
|
|
"opendbc/acura_rdx_2018_can_generated.dbc",
|
|
"opendbc/acura_rdx_2020_can_generated.dbc",
|
|
"opendbc/honda_civic_touring_2016_can_generated.dbc",
|
|
"opendbc/honda_civic_hatchback_ex_2017_can_generated.dbc",
|
|
"opendbc/honda_crv_touring_2016_can_generated.dbc",
|
|
"opendbc/honda_crv_ex_2017_can_generated.dbc",
|
|
"opendbc/honda_crv_ex_2017_body_generated.dbc",
|
|
"opendbc/honda_crv_executive_2016_can_generated.dbc",
|
|
"opendbc/honda_fit_ex_2018_can_generated.dbc",
|
|
"opendbc/honda_odyssey_exl_2018_generated.dbc",
|
|
"opendbc/honda_odyssey_extreme_edition_2018_china_can_generated.dbc",
|
|
"opendbc/honda_insight_ex_2019_can_generated.dbc",
|
|
"opendbc/acura_ilx_2016_nidec.dbc",
|
|
"opendbc/honda_civic_ex_2022_can_generated.dbc",
|
|
"opendbc/hyundai_canfd.dbc",
|
|
"opendbc/hyundai_kia_generic.dbc",
|
|
"opendbc/hyundai_kia_mando_front_radar_generated.dbc",
|
|
"opendbc/mazda_2017.dbc",
|
|
"opendbc/nissan_x_trail_2017_generated.dbc",
|
|
"opendbc/nissan_leaf_2018_generated.dbc",
|
|
"opendbc/subaru_global_2017_generated.dbc",
|
|
"opendbc/subaru_global_2020_hybrid_generated.dbc",
|
|
"opendbc/subaru_outback_2015_generated.dbc",
|
|
"opendbc/subaru_outback_2019_generated.dbc",
|
|
"opendbc/subaru_forester_2017_generated.dbc",
|
|
"opendbc/toyota_tnga_k_pt_generated.dbc",
|
|
"opendbc/toyota_new_mc_pt_generated.dbc",
|
|
"opendbc/toyota_nodsu_pt_generated.dbc",
|
|
"opendbc/toyota_adas.dbc",
|
|
"opendbc/toyota_tss2_adas.dbc",
|
|
"opendbc/vw_golf_mk4.dbc",
|
|
"opendbc/vw_mqb_2010.dbc",
|
|
"opendbc/tesla_can.dbc",
|
|
"opendbc/tesla_radar_bosch_generated.dbc",
|
|
"opendbc/tesla_radar_continental_generated.dbc",
|
|
"opendbc/tesla_powertrain.dbc",
|
|
]
|
|
|
|
# Sunnypilot whitelist
|
|
sunnypilot_whitelist = [
|
|
"^README.md",
|
|
".*selfdrive/test/fuzzy_generation.py",
|
|
".*selfdrive/test/helpers.py",
|
|
".*selfdrive/test/__init__.py",
|
|
".*selfdrive/test/setup_device_ci.sh",
|
|
".*selfdrive/test/test_time_to_onroad.py",
|
|
".*selfdrive/test/test_onroad.py",
|
|
".*system/manager/test/test_manager.py",
|
|
".*system/manager/test/__init__.py",
|
|
".*system/qcomgpsd/tests/test_qcomgpsd.py",
|
|
".*system/updated/casync/tests/test_casync.py",
|
|
".*system/updated/tests/test_git.py",
|
|
".*system/updated/tests/test_base.py",
|
|
".*tools/lib/tests/test_route_library.py",
|
|
".*tools/lib/tests/test_caching.py",
|
|
".*tools/lib/tests/test_logreader.py",
|
|
".*tools/lib/tests/test_readers.py",
|
|
".*tools/lib/tests/__init__.py",
|
|
".*tools/lib/tests/test_comma_car_segments.py",
|
|
".*selfdrive/ui/tests/test_translations.py",
|
|
".*selfdrive/car/tests/__init__.py",
|
|
".*selfdrive/car/tests/test_car_interfaces.py",
|
|
".*selfdrive/navd/tests/test_navd.py",
|
|
".*selfdrive/navd/tests/test_map_renderer.py",
|
|
".*selfdrive/boardd/tests/test_boardd_loopback.py",
|
|
".*tinygrad_repo/tinygrad/renderer/opencl.py",
|
|
".*tinygrad_repo/tinygrad/renderer/cstyle.py",
|
|
".*INTEGRATION.md",
|
|
".*HOW-TOS.md",
|
|
".*CARS.md",
|
|
".*LIMITATIONS.md",
|
|
".*CONTRIBUTING.md",
|
|
".*sunnyhaibin0850_qrcode_paypal.me.png",
|
|
"opendbc/.*.dbc",
|
|
]
|
|
|
|
# Merge the whitelists
|
|
whitelist += sunnypilot_whitelist
|
|
|
|
|
|
if __name__ == "__main__":
|
|
for f in Path(ROOT).rglob("**/*"):
|
|
if not (f.is_file() or f.is_symlink()):
|
|
continue
|
|
|
|
rf = str(f.relative_to(ROOT))
|
|
blacklisted = any(re.search(p, rf) for p in blacklist)
|
|
whitelisted = any(re.search(p, rf) for p in whitelist)
|
|
if blacklisted and not whitelisted:
|
|
continue
|
|
|
|
print(rf)
|