Skip to content

Windows: find brand folders by basename, libsafety with the firmware packet layout - #1

Closed
AmyJeanes wants to merge 4 commits into
windows-basefrom
windows
Closed

Windows: find brand folders by basename, libsafety with the firmware packet layout#1
AmyJeanes wants to merge 4 commits into
windows-basefrom
windows

Conversation

@AmyJeanes

Copy link
Copy Markdown
Owner

Fork-internal draft: runs this repository's own CI on the windows series before it is proposed upstream. The base branch windows-base is the upstream commit the series builds on. Not for merging.

🤖 Generated with Claude Code

https://claude.ai/code/session_016AgqYZYWLpwE2T5vS3nVEt

get_interface_attr() split the os.walk() paths on '/', which on Windows
leaves the whole path as the brand name, so every brand import fails and
FW_VERSIONS, FW_QUERY_CONFIGS and the docs footnotes come back empty.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016AgqYZYWLpwE2T5vS3nVEt
@AmyJeanes AmyJeanes closed this Sep 7, 2026
@AmyJeanes AmyJeanes reopened this Sep 7, 2026
@github-actions

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown

Car behavior report

Replays driving segments through this PR and compares the behavior to master.
Please review any changes carefully to ensure they are expected.

Testing 17 segments for: MAZDA_CX5, MAZDA_CX9_2021, MAZDA_CX5_2022

✅ 0 changed, 17 passed, 0 errors

Same fix as panda's libpanda: compile safety.c with -mno-ms-bitfields so
CANPacket_t keeps the checksum at byte 5, and declare the flag bitfields as
unsigned int so cffi's MSVC bitfield rules produce the same layout.

opendbc.safety.tests.test_defaults and test_toyota pass on Windows (287
tests, built with clang64's UBSan and coverage flags).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016AgqYZYWLpwE2T5vS3nVEt
@AmyJeanes
AmyJeanes force-pushed the windows branch 2 times, most recently from acd2e69 to c945c40 Compare September 7, 2026 17:00
AmyJeanes and others added 2 commits September 7, 2026 18:37
A third entry in the test matrix, run from an MSYS2 CLANG64 shell like
openpilot's own Windows job: setup.sh activates the venv from Scripts/
there and syncs everything but cppcheck, whose release shim has no
Windows build yet, so lefthook skips the misra check on Windows. The
rest of the suite is unchanged: 3971 tests, 702 skipped, the same
counts as Linux and macOS. That entry gets a 180 s budget from the
timeout step where the namespace runners keep 90 s: it is a 4-core
GitHub-hosted runner, and the unit tests alone take most of a minute.

A .gitattributes keeps every checkout LF: Git for Windows defaults to
autocrlf, and bash cannot run a script with CRLF line endings.

A matrix entry can name its shell; the others keep `bash -e {0}`,
GitHub's implicit default for run steps. The job name is spelled out
so neither the shell nor the timeout ends up in it.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016AgqYZYWLpwE2T5vS3nVEt
ESR.dbc and mazda_rx8.dbc were the only files in the repository with CRLF
line endings. With `* text=auto eol=lf` in .gitattributes git would rewrite
them on their next unrelated edit anyway; doing it here keeps that diff out
of someone else's change. Only the line endings differ.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016AgqYZYWLpwE2T5vS3nVEt
@AmyJeanes

Copy link
Copy Markdown
Owner Author

Superseded by commaai#3724: comma's CI runs on the upstream PR now. The follow-up (#3) stacks on the windows branch and stays open.

@AmyJeanes AmyJeanes closed this Sep 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant