Merge remote-tracking branch 'origin/master' into build-casync-releases-in-ci

pull/31880/head
Justin Newberry 1 year ago
commit 0c755f9dd6
  1. 2
      selfdrive/athena/manage_athenad.py
  2. 13
      selfdrive/car/honda/values.py
  3. 2
      selfdrive/manager/build.py
  4. 4
      selfdrive/manager/manager.py
  5. 2
      selfdrive/sentry.py
  6. 2
      selfdrive/statsd.py
  7. 2
      selfdrive/ui/qt/util.cc
  8. 4
      selfdrive/ui/translations/main_ar.ts
  9. 4
      selfdrive/ui/translations/main_de.ts
  10. 4
      selfdrive/ui/translations/main_fr.ts
  11. 4
      selfdrive/ui/translations/main_ja.ts
  12. 4
      selfdrive/ui/translations/main_ko.ts
  13. 4
      selfdrive/ui/translations/main_pt-BR.ts
  14. 4
      selfdrive/ui/translations/main_th.ts
  15. 4
      selfdrive/ui/translations/main_tr.ts
  16. 4
      selfdrive/ui/translations/main_zh-CHS.ts
  17. 4
      selfdrive/ui/translations/main_zh-CHT.ts
  18. 24
      system/version.py

@ -22,7 +22,7 @@ def main():
origin=build_metadata.openpilot.git_normalized_origin, origin=build_metadata.openpilot.git_normalized_origin,
branch=build_metadata.channel, branch=build_metadata.channel,
commit=build_metadata.openpilot.git_commit, commit=build_metadata.openpilot.git_commit,
dirty=build_metadata.openpilot.git_dirty, dirty=build_metadata.openpilot.is_dirty,
device=HARDWARE.get_device_type()) device=HARDWARE.get_device_type())
try: try:

@ -307,19 +307,20 @@ FW_QUERY_CONFIG = FwQueryConfig(
# We lose these ECUs without the comma power on these cars. # We lose these ECUs without the comma power on these cars.
# Note that we still attempt to match with them when they are present # Note that we still attempt to match with them when they are present
non_essential_ecus={ non_essential_ecus={
Ecu.programmedFuelInjection: [CAR.ACURA_RDX_3G, CAR.HONDA_ACCORD, CAR.HONDA_CIVIC, CAR.HONDA_CIVIC_BOSCH, CAR.HONDA_CRV_5G], Ecu.programmedFuelInjection: [CAR.ACURA_RDX_3G, CAR.HONDA_ACCORD, CAR.HONDA_CIVIC, CAR.HONDA_CIVIC_BOSCH, CAR.HONDA_CRV_5G, CAR.HONDA_PILOT],
Ecu.transmission: [CAR.ACURA_RDX_3G, CAR.HONDA_ACCORD, CAR.HONDA_CIVIC, CAR.HONDA_CIVIC_BOSCH, CAR.HONDA_CRV_5G], Ecu.transmission: [CAR.ACURA_RDX_3G, CAR.HONDA_ACCORD, CAR.HONDA_CIVIC, CAR.HONDA_CIVIC_BOSCH, CAR.HONDA_CRV_5G, CAR.HONDA_PILOT],
Ecu.srs: [CAR.ACURA_RDX_3G, CAR.HONDA_ACCORD, CAR.HONDA_E], Ecu.srs: [CAR.ACURA_RDX_3G, CAR.HONDA_ACCORD, CAR.HONDA_E],
Ecu.eps: [CAR.ACURA_RDX_3G, CAR.HONDA_ACCORD, CAR.HONDA_E], Ecu.eps: [CAR.ACURA_RDX_3G, CAR.HONDA_ACCORD, CAR.HONDA_E],
Ecu.vsa: [CAR.ACURA_RDX_3G, CAR.HONDA_ACCORD, CAR.HONDA_CIVIC, CAR.HONDA_CIVIC_BOSCH, CAR.HONDA_CRV_5G, CAR.HONDA_CRV_HYBRID, Ecu.vsa: [CAR.ACURA_RDX_3G, CAR.HONDA_ACCORD, CAR.HONDA_CIVIC, CAR.HONDA_CIVIC_BOSCH, CAR.HONDA_CRV_5G, CAR.HONDA_CRV_HYBRID,
CAR.HONDA_E, CAR.HONDA_INSIGHT], CAR.HONDA_E, CAR.HONDA_INSIGHT],
Ecu.combinationMeter: [CAR.ACURA_RDX_3G, CAR.HONDA_ACCORD, CAR.HONDA_CIVIC, CAR.HONDA_CIVIC_BOSCH, CAR.HONDA_FIT, Ecu.combinationMeter: [CAR.ACURA_ILX, CAR.ACURA_RDX_3G, CAR.HONDA_ACCORD, CAR.HONDA_CIVIC, CAR.HONDA_CIVIC_BOSCH, CAR.HONDA_FIT,
CAR.HONDA_HRV, CAR.HONDA_CRV_5G, CAR.HONDA_CRV_HYBRID, CAR.HONDA_E, CAR.HONDA_INSIGHT, CAR.HONDA_ODYSSEY_CHN], CAR.HONDA_HRV, CAR.HONDA_CRV_5G, CAR.HONDA_CRV_HYBRID, CAR.HONDA_E, CAR.HONDA_INSIGHT, CAR.HONDA_ODYSSEY_CHN],
Ecu.gateway: [CAR.ACURA_RDX_3G, CAR.HONDA_ACCORD, CAR.HONDA_CIVIC, CAR.HONDA_CIVIC_BOSCH, CAR.HONDA_FIT, CAR.HONDA_FREED, Ecu.gateway: [CAR.ACURA_ILX, CAR.ACURA_RDX_3G, CAR.HONDA_ACCORD, CAR.HONDA_CIVIC, CAR.HONDA_CIVIC_BOSCH, CAR.HONDA_FIT, CAR.HONDA_FREED,
CAR.HONDA_HRV, CAR.HONDA_RIDGELINE, CAR.HONDA_CRV_5G, CAR.HONDA_CRV_HYBRID, CAR.HONDA_E, CAR.HONDA_INSIGHT, CAR.HONDA_ODYSSEY_CHN], CAR.HONDA_HRV, CAR.HONDA_RIDGELINE, CAR.HONDA_CRV_5G, CAR.HONDA_CRV_HYBRID, CAR.HONDA_E, CAR.HONDA_INSIGHT, CAR.HONDA_ODYSSEY,
CAR.HONDA_ODYSSEY_CHN, CAR.HONDA_PILOT],
Ecu.electricBrakeBooster: [CAR.ACURA_RDX_3G, CAR.HONDA_ACCORD, CAR.HONDA_CIVIC_BOSCH, CAR.HONDA_CRV_5G], Ecu.electricBrakeBooster: [CAR.ACURA_RDX_3G, CAR.HONDA_ACCORD, CAR.HONDA_CIVIC_BOSCH, CAR.HONDA_CRV_5G],
# existence correlates with transmission type for Accord ICE # existence correlates with transmission type for Accord ICE
Ecu.shiftByWire: [CAR.ACURA_RDX_3G, CAR.HONDA_ACCORD, CAR.HONDA_CRV_HYBRID, CAR.HONDA_E, CAR.HONDA_INSIGHT], Ecu.shiftByWire: [CAR.ACURA_RDX_3G, CAR.HONDA_ACCORD, CAR.HONDA_CRV_HYBRID, CAR.HONDA_E, CAR.HONDA_INSIGHT, CAR.HONDA_PILOT],
# existence correlates with trim level # existence correlates with trim level
Ecu.hud: [CAR.HONDA_ACCORD], Ecu.hud: [CAR.HONDA_ACCORD],
}, },

@ -87,4 +87,4 @@ if __name__ == "__main__":
spinner = Spinner() spinner = Spinner()
spinner.update_progress(0, 100) spinner.update_progress(0, 100)
build_metadata = get_build_metadata() build_metadata = get_build_metadata()
build(spinner, build_metadata.openpilot.git_dirty, minimal = AGNOS) build(spinner, build_metadata.openpilot.is_dirty, minimal = AGNOS)

@ -83,7 +83,7 @@ def manager_init() -> None:
os.environ['GIT_BRANCH'] = build_metadata.channel # Needed for swaglog os.environ['GIT_BRANCH'] = build_metadata.channel # Needed for swaglog
os.environ['GIT_COMMIT'] = build_metadata.openpilot.git_commit # Needed for swaglog os.environ['GIT_COMMIT'] = build_metadata.openpilot.git_commit # Needed for swaglog
if not build_metadata.openpilot.git_dirty: if not build_metadata.openpilot.is_dirty:
os.environ['CLEAN'] = '1' os.environ['CLEAN'] = '1'
# init logging # init logging
@ -93,7 +93,7 @@ def manager_init() -> None:
origin=build_metadata.openpilot.git_normalized_origin, origin=build_metadata.openpilot.git_normalized_origin,
branch=build_metadata.channel, branch=build_metadata.channel,
commit=build_metadata.openpilot.git_commit, commit=build_metadata.openpilot.git_commit,
dirty=build_metadata.openpilot.git_dirty, dirty=build_metadata.openpilot.is_dirty,
device=HARDWARE.get_device_type()) device=HARDWARE.get_device_type())
# preimport all processes # preimport all processes

@ -66,7 +66,7 @@ def init(project: SentryProject) -> bool:
build_metadata = get_build_metadata() build_metadata = get_build_metadata()
sentry_sdk.set_user({"id": dongle_id}) sentry_sdk.set_user({"id": dongle_id})
sentry_sdk.set_tag("dirty", build_metadata.openpilot.git_dirty) sentry_sdk.set_tag("dirty", build_metadata.openpilot.is_dirty)
sentry_sdk.set_tag("origin", build_metadata.openpilot.git_origin) sentry_sdk.set_tag("origin", build_metadata.openpilot.git_origin)
sentry_sdk.set_tag("branch", build_metadata.channel) sentry_sdk.set_tag("branch", build_metadata.channel)
sentry_sdk.set_tag("commit", build_metadata.openpilot.git_commit) sentry_sdk.set_tag("commit", build_metadata.openpilot.git_commit)

@ -93,7 +93,7 @@ def main() -> NoReturn:
'started': False, 'started': False,
'version': build_metadata.openpilot.version, 'version': build_metadata.openpilot.version,
'branch': build_metadata.channel, 'branch': build_metadata.channel,
'dirty': build_metadata.openpilot.git_dirty, 'dirty': build_metadata.openpilot.is_dirty,
'origin': build_metadata.openpilot.git_normalized_origin, 'origin': build_metadata.openpilot.git_normalized_origin,
'deviceType': HARDWARE.get_device_type(), 'deviceType': HARDWARE.get_device_type(),
} }

@ -61,7 +61,7 @@ QString timeAgo(const QDateTime &date) {
QString s; QString s;
if (diff < 60) { if (diff < 60) {
s = "now"; s = QObject::tr("now");
} else if (diff < 60 * 60) { } else if (diff < 60 * 60) {
int minutes = diff / 60; int minutes = diff / 60;
s = QObject::tr("%n minute(s) ago", "", minutes); s = QObject::tr("%n minute(s) ago", "", minutes);

@ -615,6 +615,10 @@
<source>ft</source> <source>ft</source>
<translation>قدم</translation> <translation>قدم</translation>
</message> </message>
<message>
<source>now</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>Reset</name> <name>Reset</name>

@ -598,6 +598,10 @@
<source>ft</source> <source>ft</source>
<translation>fuß</translation> <translation>fuß</translation>
</message> </message>
<message>
<source>now</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>Reset</name> <name>Reset</name>

@ -599,6 +599,10 @@
<source>ft</source> <source>ft</source>
<translation>ft</translation> <translation>ft</translation>
</message> </message>
<message>
<source>now</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>Reset</name> <name>Reset</name>

@ -594,6 +594,10 @@
<source>ft</source> <source>ft</source>
<translation></translation> <translation></translation>
</message> </message>
<message>
<source>now</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>Reset</name> <name>Reset</name>

@ -595,6 +595,10 @@
<source>ft</source> <source>ft</source>
<translation>ft</translation> <translation>ft</translation>
</message> </message>
<message>
<source>now</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>Reset</name> <name>Reset</name>

@ -599,6 +599,10 @@
<source>ft</source> <source>ft</source>
<translation>pés</translation> <translation>pés</translation>
</message> </message>
<message>
<source>now</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>Reset</name> <name>Reset</name>

@ -595,6 +595,10 @@
<source>ft</source> <source>ft</source>
<translation></translation> <translation></translation>
</message> </message>
<message>
<source>now</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>Reset</name> <name>Reset</name>

@ -594,6 +594,10 @@
<source>ft</source> <source>ft</source>
<translation>ft</translation> <translation>ft</translation>
</message> </message>
<message>
<source>now</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>Reset</name> <name>Reset</name>

@ -595,6 +595,10 @@
<source>ft</source> <source>ft</source>
<translation>ft</translation> <translation>ft</translation>
</message> </message>
<message>
<source>now</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>Reset</name> <name>Reset</name>

@ -595,6 +595,10 @@
<source>ft</source> <source>ft</source>
<translation>ft</translation> <translation>ft</translation>
</message> </message>
<message>
<source>now</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>Reset</name> <name>Reset</name>

@ -33,12 +33,12 @@ def get_release_notes(path: str = BASEDIR) -> str:
@cache @cache
def is_prebuilt() -> bool: def is_prebuilt(path: str = BASEDIR) -> bool:
return os.path.exists(os.path.join(BASEDIR, 'prebuilt')) return os.path.exists(os.path.join(path, 'prebuilt'))
@cache @cache
def is_dirty(cwd: str = None) -> bool: def is_dirty(cwd: str = BASEDIR) -> bool:
origin = get_origin() origin = get_origin()
branch = get_branch() branch = get_branch()
if not origin or not branch: if not origin or not branch:
@ -47,14 +47,14 @@ def is_dirty(cwd: str = None) -> bool:
dirty = False dirty = False
try: try:
# Actually check dirty files # Actually check dirty files
if not is_prebuilt(): if not is_prebuilt(cwd):
# This is needed otherwise touched files might show up as modified # This is needed otherwise touched files might show up as modified
try: try:
subprocess.check_call(["git", "update-index", "--refresh"], cwd=cwd) subprocess.check_call(["git", "update-index", "--refresh"], cwd=cwd)
except subprocess.CalledProcessError: except subprocess.CalledProcessError:
pass pass
dirty = (subprocess.call(["git", "diff-index", "--quiet", branch, "--"], cwd=cwd) != 0) dirty = (subprocess.call(["git", "diff-index", "--quiet", branch, "--"], cwd=cwd)) != 0
except subprocess.CalledProcessError: except subprocess.CalledProcessError:
cloudlog.exception("git subprocess failed while checking dirty") cloudlog.exception("git subprocess failed while checking dirty")
dirty = True dirty = True
@ -69,7 +69,7 @@ class OpenpilotMetadata:
git_commit: str git_commit: str
git_origin: str git_origin: str
git_commit_date: str git_commit_date: str
git_dirty: bool is_dirty: bool # whether there are local changes
@property @property
def short_version(self) -> str: def short_version(self) -> str:
@ -125,13 +125,19 @@ def get_build_metadata(path: str = BASEDIR) -> BuildMetadata:
git_commit=git_commit, git_commit=git_commit,
git_origin=git_origin, git_origin=git_origin,
git_commit_date=git_commit_date, git_commit_date=git_commit_date,
git_dirty=False)) is_dirty=False))
git_folder = pathlib.Path(path) / ".git" git_folder = pathlib.Path(path) / ".git"
if git_folder.exists(): if git_folder.exists():
return BuildMetadata(get_short_branch(path), OpenpilotMetadata(get_version(path), get_release_notes(path), get_commit(path), \ return BuildMetadata(get_short_branch(path),
get_origin(path), get_commit_date(path), is_dirty(path))) OpenpilotMetadata(
version=get_version(path),
release_notes=get_release_notes(path),
git_commit=get_commit(path),
git_origin=get_origin(path),
git_commit_date=get_commit_date(path),
is_dirty=is_dirty(path)))
cloudlog.exception("unable to get build metadata") cloudlog.exception("unable to get build metadata")
raise Exception("invalid build metadata") raise Exception("invalid build metadata")

Loading…
Cancel
Save