Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
523 commits
Select commit Hold shift + click to select a range
35e38f5
mici ui: show lock in network panel (#37345)
sshane Feb 23, 2026
2ecdd28
mici ui: disable forget on tethering and show full strength (#37344)
sshane Feb 23, 2026
8d0cb9c
Unified label fix scroll fade (#37346)
sshane Feb 23, 2026
c16879f
mici ui: fix missing home show event (#37347)
sshane Feb 23, 2026
e094afa
Merge remote-tracking branch 'upstream/master' into brzpilot
sshane Feb 23, 2026
0a14e19
CI: use setup action on macOS (#37352)
adeebshihadeh Feb 23, 2026
7cc237a
[bot] Update Python packages (#37351)
commaci-public Feb 23, 2026
b32227e
BigCircleButton: remove press_state_enabled
sshane Feb 23, 2026
90a9ef2
ui: remove multiple option dialog (#37356)
sshane Feb 23, 2026
76d084d
switch to system compilers (GCC on Linux, Apple Clang on macOS) (#37355)
adeebshihadeh Feb 24, 2026
16dda06
Reapply chunker (#37292)
haraschax Feb 24, 2026
5af3f32
simplify setup (#37358)
adeebshihadeh Feb 24, 2026
19459d2
feat(lpa): at client + list profiles (#37337)
greatgitsby Feb 24, 2026
91930c2
UnifiedLabel: add set_line_height
sshane Feb 24, 2026
ed8d1a6
BigCircleButton: new pressed image
sshane Feb 24, 2026
c5b65d0
no more xset
adeebshihadeh Feb 24, 2026
0e127cf
WifiManager: guard init wifi state (#37366)
sshane Feb 24, 2026
12f9234
Slider: call confirm callback after set state
sshane Feb 24, 2026
8543afc
Slider: add pressed state (#37365)
sshane Feb 24, 2026
bd3b7a1
Scroller: preserve original touch valid callback (#37363)
sshane Feb 24, 2026
76a5527
ui: move shake into BigButton (#37364)
sshane Feb 24, 2026
21b8189
ui: support asset flip (#37367)
sshane Feb 24, 2026
ded5e5c
BigButton: normal draw order if not scrolling (#37368)
sshane Feb 24, 2026
44cf6b3
ffmpeg: pipe (#37359)
haraschax Feb 24, 2026
8bd8066
rm libjpeg (#37371)
adeebshihadeh Feb 24, 2026
2ddf95d
rm libgles2-mesa-dev (#37373)
adeebshihadeh Feb 24, 2026
a1e9cf9
translations: replace gettext apt dependency with pure Python tools (…
adeebshihadeh Feb 24, 2026
8952c94
only build installer on device
adeebshihadeh Feb 24, 2026
79bc6c3
replace python3-dev apt install with vendored package (#37374)
adeebshihadeh Feb 24, 2026
542e143
vendor zstd and ncurses (#37376)
adeebshihadeh Feb 24, 2026
761c349
Make WifiNetworkButton self-contained
sshane Feb 24, 2026
9f7002f
mici setup: set core affinity
sshane Feb 24, 2026
cf08371
mici setup: match tici network timeout
sshane Feb 24, 2026
faa2359
mici buttons and sliders: use semi bold
sshane Feb 24, 2026
081bb51
mici: add missing Scroller hide events
sshane Feb 24, 2026
3352e48
Scroller: add blocking scroll to (#37378)
sshane Feb 24, 2026
c787507
Revert "rm onnx (#37285)" (#37379)
haraschax Feb 24, 2026
a064de7
use vendored libjpeg-turbo (#37381)
adeebshihadeh Feb 24, 2026
6db6d79
WifiUi: decouple button update from move/scroll (#37383)
sshane Feb 24, 2026
159d3a3
RM onnx (#37377)
haraschax Feb 24, 2026
0b6da20
parse planplus (#37386)
haraschax Feb 24, 2026
8810948
CI: ensure no brew (#37387)
adeebshihadeh Feb 25, 2026
ed34c4c
NavWidget: reset some state on show
sshane Feb 25, 2026
6442752
Scroller: reset state on show (#37391)
sshane Feb 25, 2026
571937d
WifiUi: sort networks on show event (#37390)
sshane Feb 25, 2026
1792a60
WifiManager: split out state machine (#37395)
sshane Feb 25, 2026
d9b5a1e
WifiManager: add test for state machine (#37396)
sshane Feb 25, 2026
72ecc33
WifiManager: don't emit need auth for partially connected networks (#…
sshane Feb 25, 2026
238fca2
tools: fix darwin compile errors (#37399)
Discountchubbs Feb 25, 2026
f2c4749
update docs (#37293)
AlexandreSato Feb 25, 2026
7835b9a
WifiManager: no need to update networks in as many places v2 (#37405)
sshane Feb 25, 2026
bcb4a6a
WifiManager: fix deterministic state mismatches (#37407)
sshane Feb 26, 2026
1550520
WifiManager: connect/activate failure resets ssid (#37410)
sshane Feb 26, 2026
c2a7437
WifiManager: fix some threading race conditions (#37406)
sshane Feb 26, 2026
5c630b2
panda sound output level (#37408)
robbederks Feb 26, 2026
496ae85
WifiManager: guard init_wifi_state (#37413)
sshane Feb 26, 2026
561c490
Replay: keep ref history (#37357)
elkoled Feb 26, 2026
cf5ae3c
WifiManager: fix connect flash while forgetting (#37416)
sshane Feb 26, 2026
b2e9454
ui: move connected wifi buttons to front independent of scan results …
sshane Feb 26, 2026
811363c
clean up
sshane Feb 26, 2026
4cd5c1b
clean up
sshane Feb 26, 2026
146c64b
mici ui: improve tethering a bit (#37418)
sshane Feb 26, 2026
93a9669
WifiManager: frozen WifiState (#37420)
sshane Feb 26, 2026
608a1c2
Add comment about epoch guard
sshane Feb 26, 2026
9e8c7a2
Merge remote-tracking branch 'upstream/master' into brzpilot
sshane Feb 26, 2026
91696ba
fix module for model_review (#37428)
ZwX1616 Feb 26, 2026
94ee6b0
BigButton: move parameters into class (#37429)
sshane Feb 27, 2026
7f1def0
BigButton: handle background function (#37430)
sshane Feb 27, 2026
04dcdf4
DM: Le Mans GT3 Model (#37425)
ZwX1616 Feb 27, 2026
ac08c79
BigButton: sublabel takes all available space (#37431)
sshane Feb 27, 2026
3cc4683
mici reset: fix cancel closes application (#37434)
sshane Feb 27, 2026
6d559c4
lagd: min_lag (#37402)
fredyshox Feb 27, 2026
2ef2996
tici: rm cavli modem config
adeebshihadeh Feb 27, 2026
245d5bb
make ruff happy
adeebshihadeh Feb 27, 2026
0977a91
CI for the people: no cache (#37437)
adeebshihadeh Feb 27, 2026
286c4f8
op.sh: fallback to script's own location for openpilot root (#37326)
andiradulescu Feb 27, 2026
de8f7c4
Scroller: rename scroll_to(block)
sshane Feb 27, 2026
0437998
Scroller: add_widgets helper
sshane Feb 27, 2026
fe39ffa
mici ui: clear ssh key (#37449)
sshane Feb 27, 2026
1bf0fb3
mici ui: Scroller widget helpers (#37451)
sshane Feb 27, 2026
c5372e9
new demo route (#37456)
adeebshihadeh Feb 27, 2026
d899834
Revert "new demo route (#37456)"
adeebshihadeh Feb 27, 2026
a1f4ba5
nicer scons output (#37455)
adeebshihadeh Feb 27, 2026
e1a4189
op.sh: add 'op script' subcommand with som-debug (#37325)
andiradulescu Feb 27, 2026
276713d
add back bz2 support with vendored bzip2 (#37459)
adeebshihadeh Feb 27, 2026
010a32b
WifiUi: single source for forget btn visible (#37450)
sshane Feb 27, 2026
cc21fd3
ci: remove weekly eval jobs
adeebshihadeh Feb 27, 2026
6e8f325
Fix mic clipping on comma four (#37461)
robbederks Feb 27, 2026
1b17bf4
Revert "UI: only show `onroad_fade.png` when engaged" (#37466)
sshane Feb 27, 2026
3a958b8
Revert "onroad: fill bookmark icon when activated" (#37465)
sshane Feb 27, 2026
2e42bf9
mici ui: fix onroad transitions if in settings (#37467)
sshane Feb 28, 2026
10f3f56
mici ui: get version from build metadata (#37470)
sshane Feb 28, 2026
47ca2c9
ui: widgets animate out (#37321)
sshane Feb 28, 2026
876ac69
mici ui: power button visible on ignition (#37475)
sshane Feb 28, 2026
6266fee
Revert "ui: widgets animate out" (#37478)
sshane Feb 28, 2026
b6f3692
NavWidget: standardize back callback (#37479)
sshane Feb 28, 2026
8f328f1
NavWidget: rm useless state variable
sshane Feb 28, 2026
b5855bc
NavWidget: clean up names (#37481)
sshane Feb 28, 2026
256ee6c
rm hacky trigger
sshane Feb 28, 2026
940c5b3
NavWidget: remove back enabled (#37482)
sshane Feb 28, 2026
d016071
NavWidget: clean up scroller access (#37480)
sshane Feb 28, 2026
87c495b
Update test_widget_leaks.py
sshane Feb 28, 2026
2af7b34
Nav stack: clean up (#37484)
sshane Feb 28, 2026
b15390d
mici ui: add interaction timeout fixme + fix navwidget guard
sshane Feb 28, 2026
e244aab
mici ui: fix navwidget guard
sshane Feb 28, 2026
9cc0d7a
NavWidget: support programmatic dismiss (#37486)
sshane Feb 28, 2026
6cbef7b
ui: widgets animate out v2 (#37483)
sshane Feb 28, 2026
870430e
Revert "Actions cleanup" (#37463)
sshane Feb 28, 2026
a27efe5
setup: add retry for transient network fails on uv install (#37490)
adeebshihadeh Feb 28, 2026
ca5234a
tools/setup: remove vestigial mac .env file
adeebshihadeh Mar 1, 2026
a6b562e
jenkins: move panda tests before camera tests (#37498)
adeebshihadeh Mar 1, 2026
e7cc70f
consolidate file downloading from C++ to Python (#37497)
adeebshihadeh Mar 1, 2026
8856585
new demo route (#37457)
adeebshihadeh Mar 1, 2026
d634894
Fix thermal sensor readouts on four (#37310)
robbederks Mar 1, 2026
d44fde7
multilang: return original string if missing (#37487)
sshane Mar 1, 2026
b10c2ad
ui: match updater/setup/installer figma text styles (#37500)
sshane Mar 1, 2026
24d3f07
Add review terms & conditions to device settings w only accept
sshane Mar 1, 2026
5ef0040
ui: delay click callback (#37502)
sshane Mar 1, 2026
61658fb
mici setup: new start button (#37501)
sshane Mar 1, 2026
a7de971
mici setup: use nav stack (#37507)
sshane Mar 1, 2026
308475f
Fix continue being enabled under WifiUi
sshane Mar 1, 2026
c244a5d
Update BigInputDialog to remove default URL
sshane Mar 1, 2026
041606d
fix font output targets (#37511)
adeebshihadeh Mar 1, 2026
f9b5d1e
use vendored libyuv from dependencies (#37512)
adeebshihadeh Mar 1, 2026
0374979
use vendored raylib from dependencies repo (#37489)
adeebshihadeh Mar 1, 2026
c3d5c5f
fix nigthly build (#37516)
adeebshihadeh Mar 1, 2026
6b52ee7
tools cleanup (#37520)
adeebshihadeh Mar 1, 2026
0b9ab8b
cabana: replace Qt types with stdlib (#37519)
adeebshihadeh Mar 1, 2026
0c7abf3
cabana: remove QtXml (#37521)
adeebshihadeh Mar 1, 2026
ce04d25
cabana: remove QtConcurrent (#37522)
adeebshihadeh Mar 2, 2026
3478ac1
cabana: remove QtSerialBus (#37523)
adeebshihadeh Mar 2, 2026
06b2c68
macOS: fix cabana builds (#37518)
royjr Mar 2, 2026
443cd79
Onboarding: set real width
sshane Mar 2, 2026
3504ccb
ui: keyboard goes back on . or / (#37534)
sshane Mar 3, 2026
90af6be
Render offroad text centered
sshane Mar 3, 2026
2ebf09e
Clear frame on offroad transition
sshane Mar 3, 2026
91b7752
Setup: improvements (#37264)
sshane Mar 3, 2026
92f9684
Revert "use vendored raylib from dependencies repo" (#37537)
sshane Mar 3, 2026
56ed377
Zipapp fixes (#37538)
sshane Mar 4, 2026
0c452db
cabana: fix right pane width limitation (#37527)
royjr Mar 4, 2026
7e1a8d4
steering arc: enable for angle cars (#37078)
sshane Mar 4, 2026
20d484c
reset: recover needs to reboot (#37546)
sshane Mar 4, 2026
6795b09
file_downloader: stream downloads in a single HTTP request (#37549)
sshane Mar 4, 2026
e97a1d1
updater: zipapp and additional fixes (#37550)
sshane Mar 4, 2026
4bcb9f2
Merge remote-tracking branch 'upstream/master' into brzpilot
sshane Mar 4, 2026
cd22ee3
rm openssl3 package (#37551)
adeebshihadeh Mar 4, 2026
fc372e2
ui needs pillow
adeebshihadeh Mar 4, 2026
fef89d1
op adb: find free port
adeebshihadeh Mar 4, 2026
e264b42
reset: don't timeout if partition is corrupt
adeebshihadeh Mar 4, 2026
2c4e114
updater: new scroller style (#37556)
sshane Mar 5, 2026
6330a9c
add explicit include for cstdint instead of relying on leaky include …
pfeiferj Mar 5, 2026
055b29b
updater: better flow (#37560)
sshane Mar 5, 2026
0274b73
jenkins: always run pandad tests
adeebshihadeh Mar 5, 2026
5beae93
setup: new scroller failed screen (#37561)
sshane Mar 5, 2026
e59f675
new reset (#37563)
sshane Mar 5, 2026
3cc9d89
mici ui: wifi scanning card (#37564)
sshane Mar 5, 2026
4f5df65
mici setup: set WifiManager active on network setup page show (#37566)
sshane Mar 5, 2026
dcc1663
mici setup: get time immediately after internet (#37565)
sshane Mar 5, 2026
3a19f85
WifiManager: guard AP paths failure
sshane Mar 5, 2026
d801ceb
mici setup: guard continue button when forgetting/connecting (#37568)
sshane Mar 5, 2026
41bba2b
mici setup: fix race on disconnect guard
sshane Mar 5, 2026
4a1101c
mici setup: don't run network tick while not in network setup page
sshane Mar 5, 2026
2d53f4c
WifiUi: re-sort buttons on show (#37570)
sshane Mar 5, 2026
b4b747e
mici scroller: fix scroll bar direction with less content than viewpo…
sshane Mar 5, 2026
6922d58
mici setup: swipe down on wifi connect, then wait for internet (#37569)
sshane Mar 5, 2026
93eb841
Zip app updater (#37572)
sshane Mar 5, 2026
118d903
mici ui: slim review terms (#37573)
sshane Mar 5, 2026
5303afb
mici installer: bring back finishing setup (#37574)
sshane Mar 5, 2026
363735f
Update RELEASES.md
YassineYousfi Mar 5, 2026
ac1dd69
ui: fix BigButton shake on startup (#37577)
adeebshihadeh Mar 7, 2026
4651bc6
ui: rename BigConfirmationDialogV2 (#37578)
sshane Mar 7, 2026
af1fb26
mici ui: remove unused widgets (#37579)
sshane Mar 7, 2026
60ec7dc
Remove unused icons
sshane Mar 7, 2026
44ec08c
sliders: clean up (#37580)
sshane Mar 7, 2026
5e2a5b5
lagd: smooth lat accel + min lat accel range (#37424)
fredyshox Mar 7, 2026
4cc68f5
lagd: change lag candidate threshold range (#37581)
fredyshox Mar 7, 2026
2f1a58f
mici setup: connect to continue (#37583)
sshane Mar 7, 2026
fd98db7
ui: make confirm callback required for confirmation dialog (#37585)
sshane Mar 7, 2026
5e1a576
cabana: exclude SocketCAN on macOS (#37553)
lukasloetkolben Mar 7, 2026
793f8fe
fix(sim): use getRamImageAs for correct channel order (#37528)
utkarshgill Mar 7, 2026
0557283
ui: add confirmation circle button (#37586)
sshane Mar 7, 2026
1f9ec13
BigButton: take icon texture and fix image sizes (#37590)
sshane Mar 7, 2026
c36c30e
reset: rm --format (#37591)
sshane Mar 7, 2026
7061c18
ui: antialias text (#37592)
sshane Mar 7, 2026
08162be
mici reset: new flow (#37584)
sshane Mar 7, 2026
6607283
mici ui: engaged confirmation buttons (#37589)
sshane Mar 7, 2026
e35513a
ui: fix 1px overshoot on NavWidget show (#37593)
sshane Mar 7, 2026
024e2af
slider: use self.confirmed
sshane Mar 7, 2026
797b769
ui: sliders bounce (#37595)
sshane Mar 7, 2026
4bf2bfb
ui: child widget support (#37594)
sshane Mar 7, 2026
4742bf0
HBoxLayout: use children
sshane Mar 7, 2026
7a5d8a8
Turn off Widget debug mode
sshane Mar 7, 2026
6e851ff
ui: missing super show event (#37597)
sshane Mar 7, 2026
6a3dcc7
ui: mark more child widgets (#37596)
sshane Mar 7, 2026
acec60d
docs: update WSL2 hardware acceleration note (#37603)
TheSecurityDev Mar 8, 2026
9d7edbf
ui: remove MiciLabel (#37599)
sshane Mar 8, 2026
a8da24f
Merge remote-tracking branch 'upstream/master' into brzpilot
sshane Mar 8, 2026
efc9774
glowtime
sshane Mar 8, 2026
228a87d
int enum
sshane Mar 8, 2026
77abba3
faster discovery
sshane Mar 8, 2026
7b6d215
update docs and demo mode
sshane Mar 8, 2026
0934ccd
glowd!
sshane Mar 8, 2026
6ac99fa
we're getting somewhere
sshane Mar 8, 2026
7e31712
safe bt bringup
sshane Mar 8, 2026
6ca1543
exe
sshane Mar 8, 2026
a677dbc
fix lagging and init
sshane Mar 8, 2026
7c33909
glowd: UI integration, chill mode, and bug fixes
sshane Mar 8, 2026
9e99bb7
power cycle to reset it
sshane Mar 8, 2026
425e23f
bump
sshane Mar 8, 2026
70107fb
bt bring up moved to agnos
sshane Mar 8, 2026
c9939be
fix settings
sshane Mar 8, 2026
33afab8
glow status
sshane Mar 8, 2026
a708863
temp fix
sshane Mar 8, 2026
f5a965c
temp agnos 17
sshane Mar 8, 2026
6b7fe8e
fix leak
sshane Mar 8, 2026
4180b35
old pycapnp fixes it
sshane Mar 8, 2026
da9af7a
fix nav stack
sshane Mar 8, 2026
23b4a6a
bigger
sshane Mar 8, 2026
4dfdf56
start simple + smooth
sshane Mar 8, 2026
397691b
brake
sshane Mar 8, 2026
e340a67
more simple changes
sshane Mar 8, 2026
47a8e8c
state machine
sshane Mar 9, 2026
2cb06fb
no reverse yet
sshane Mar 9, 2026
f1a5b0f
speed up rrainbow on exit ss
sshane Mar 9, 2026
2e12a42
chill mode
sshane Mar 9, 2026
e2a2b8a
brighter above 4500, fade in animation
sshane Mar 9, 2026
1181777
tweak brake
sshane Mar 9, 2026
f8f1e68
try high filters
sshane Mar 9, 2026
7d6bd8a
standstill only
sshane Mar 9, 2026
0b8bc96
fix smoothing not taking shortest path!
sshane Mar 9, 2026
e205320
check vego
sshane Mar 9, 2026
71b0087
fix connect
sshane Mar 9, 2026
1f1c88b
fix connect for real
sshane Mar 9, 2026
d383090
rm start sweep
sshane Mar 10, 2026
58f8966
fix demo
sshane Mar 10, 2026
6e53c69
fix state machine
sshane Mar 10, 2026
462529b
make power more reliable
sshane Mar 10, 2026
d7db1eb
no rpm brightness
sshane Mar 10, 2026
af79705
more fix bright
sshane Mar 10, 2026
4072101
new docs
sshane Mar 10, 2026
993111e
new docs
sshane Mar 10, 2026
644b47d
further fix
sshane Mar 10, 2026
ecfc31b
safe rainbow
sshane Mar 10, 2026
19d4807
retry brightness
sshane Mar 10, 2026
1a07822
bouncefilter
sshane Mar 11, 2026
8b68854
bouncefilter
sshane Mar 11, 2026
7c8afab
bouncefilter
sshane Mar 11, 2026
77acefe
Revert "bouncefilter"
sshane Mar 11, 2026
56c8cc5
brighter
sshane Mar 11, 2026
0de7448
brightness toggle
sshane Mar 11, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
58 changes: 0 additions & 58 deletions .github/workflows/auto-cache/action.yaml

This file was deleted.

11 changes: 6 additions & 5 deletions .github/workflows/auto_pr_review.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,12 @@ jobs:
pull-requests: write
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
with:
submodules: false

# Label PRs
- uses: actions/labeler@v5.0.0
- uses: actions/labeler@v6
with:
dot: true
configuration-path: .github/labeler.yaml
Expand All @@ -36,11 +36,12 @@ jobs:

# Welcome comment
- name: "First timers PR"
uses: actions/first-interaction@v1
uses: actions/first-interaction@v3
if: github.event.pull_request.head.repo.full_name != 'commaai/openpilot'
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
pr-message: |
repo_token: ${{ secrets.GITHUB_TOKEN }}
issue_message: ""
pr_message: |
<!-- _(run_id **${{ github.run_id }}**)_ -->
Thanks for contributing to openpilot! In order for us to review your PR as quickly as possible, check the following:
* Convert your PR to a draft unless it's ready to review
Expand Down
10 changes: 4 additions & 6 deletions .github/workflows/badges.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,7 @@ on:
workflow_dispatch:

env:
BASE_IMAGE: openpilot-base
DOCKER_REGISTRY: ghcr.io/commaai
RUN: docker run --shm-size 2G -v $PWD:/tmp/openpilot -w /tmp/openpilot -e PYTHONPATH=/tmp/openpilot -e NUM_JOBS -e JOB_ID -e GITHUB_ACTION -e GITHUB_REF -e GITHUB_HEAD_REF -e GITHUB_SHA -e GITHUB_REPOSITORY -e GITHUB_RUN_ID -v $GITHUB_WORKSPACE/.ci_cache/scons_cache:/tmp/scons_cache -v $GITHUB_WORKSPACE/.ci_cache/comma_download_cache:/tmp/comma_download_cache -v $GITHUB_WORKSPACE/.ci_cache/openpilot_cache:/tmp/openpilot_cache $DOCKER_REGISTRY/$BASE_IMAGE:latest /bin/bash -c
PYTHONPATH: ${{ github.workspace }}

jobs:
badges:
Expand All @@ -17,13 +15,13 @@ jobs:
permissions:
contents: write
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
with:
submodules: true
- uses: ./.github/workflows/setup-with-retry
- run: ./tools/op.sh setup
- name: Push badges
run: |
${{ env.RUN }} "python3 selfdrive/ui/translations/create_badges.py"
python3 selfdrive/ui/translations/create_badges.py

rm .gitattributes

Expand Down
101 changes: 0 additions & 101 deletions .github/workflows/ci_weekly_report.yaml

This file was deleted.

17 changes: 0 additions & 17 deletions .github/workflows/ci_weekly_run.yaml

This file was deleted.

21 changes: 0 additions & 21 deletions .github/workflows/compile-openpilot/action.yaml

This file was deleted.

4 changes: 2 additions & 2 deletions .github/workflows/docs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
steps:
- uses: commaai/timeout@v1

- uses: actions/checkout@v4
- uses: actions/checkout@v6
with:
submodules: true

Expand All @@ -34,7 +34,7 @@ jobs:
mkdocs build

# Push to docs.comma.ai
- uses: actions/checkout@v4
- uses: actions/checkout@v6
if: github.ref == 'refs/heads/master' && github.repository == 'commaai/openpilot'
with:
path: openpilot-docs
Expand Down
45 changes: 41 additions & 4 deletions .github/workflows/jenkins-pr-trigger.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,44 @@ on:
types: [created, edited]

jobs:
# TODO: gc old branches in a separate job in this workflow
cleanup-branches:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Delete stale Jenkins branches
uses: actions/github-script@v8
with:
script: |
const cutoff = Date.now() - 24 * 60 * 60 * 1000;
const prefixes = ['tmp-jenkins', '__jenkins'];

for await (const response of github.paginate.iterator(github.rest.repos.listBranches, {
owner: context.repo.owner,
repo: context.repo.repo,
per_page: 100,
})) {
for (const branch of response.data) {
if (!prefixes.some(p => branch.name.startsWith(p))) continue;

const { data: commit } = await github.rest.repos.getCommit({
owner: context.repo.owner,
repo: context.repo.repo,
ref: branch.commit.sha,
});

const commitDate = new Date(commit.commit.committer.date).getTime();
if (commitDate < cutoff) {
console.log(`Deleting branch: ${branch.name} (last commit: ${commit.commit.committer.date})`);
await github.rest.git.deleteRef({
owner: context.repo.owner,
repo: context.repo.repo,
ref: `heads/${branch.name}`,
});
}
}
}

scan-comments:
runs-on: ubuntu-latest
if: ${{ github.event.issue.pull_request }}
Expand All @@ -15,7 +52,7 @@ jobs:
steps:
- name: Check for trigger phrase
id: check_comment
uses: actions/github-script@v7
uses: actions/github-script@v8
with:
script: |
const triggerPhrase = "trigger-jenkins";
Expand All @@ -35,7 +72,7 @@ jobs:

- name: Checkout repository
if: steps.check_comment.outputs.result == 'true'
uses: actions/checkout@v4
uses: actions/checkout@v6
with:
ref: refs/pull/${{ github.event.issue.number }}/head

Expand All @@ -49,7 +86,7 @@ jobs:

- name: Delete trigger comment
if: steps.check_comment.outputs.result == 'true' && always()
uses: actions/github-script@v7
uses: actions/github-script@v8
with:
script: |
await github.rest.issues.deleteComment({
Expand Down
Loading
Loading