add small ui for jenkins runners (#29382)
This commit is contained in:
parent
db287496d8
commit
09ffce8073
|
@ -156,9 +156,9 @@ pipeline {
|
|||
sh "git config --global --add safe.directory '*'"
|
||||
sh "git submodule update --init --depth=1 --recursive"
|
||||
sh "git lfs pull"
|
||||
sh "scons --clean && scons --no-cache -j42"
|
||||
// tests that our build system's dependencies are configured properly, needs a machine with lots of cores
|
||||
sh "scons --clean && scons --no-cache --random -j42"
|
||||
sh "INTERNAL_SEG_LIST=selfdrive/car/tests/test_models_segs.txt FILEREADER_CACHE=1 pytest -n42 --dist=loadscope selfdrive/car/tests/test_models.py"
|
||||
//sh "INTERNAL_SEG_LIST=selfdrive/car/tests/test_models_segs.txt FILEREADER_CACHE=1 pytest -n42 --dist=loadscope selfdrive/car/tests/test_models.py"
|
||||
}
|
||||
|
||||
post {
|
||||
|
|
|
@ -0,0 +1,58 @@
|
|||
#!/usr/bin/env python3
|
||||
import signal
|
||||
import subprocess
|
||||
|
||||
signal.signal(signal.SIGINT, signal.SIG_DFL)
|
||||
signal.signal(signal.SIGTERM, signal.SIG_DFL)
|
||||
|
||||
from PyQt5.QtCore import QTimer # pylint: disable=no-name-in-module, import-error
|
||||
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QLabel # pylint: disable=no-name-in-module, import-error
|
||||
from selfdrive.ui.qt.python_helpers import set_main_window
|
||||
|
||||
class Window(QWidget):
|
||||
def __init__(self, parent=None):
|
||||
super(Window, self).__init__(parent)
|
||||
|
||||
layout = QVBoxLayout()
|
||||
self.setLayout(layout)
|
||||
|
||||
self.l = QLabel("jenkins runner")
|
||||
layout.addWidget(self.l)
|
||||
layout.addStretch(1)
|
||||
layout.setContentsMargins(20, 20, 20, 20)
|
||||
|
||||
cmds = [
|
||||
"cat /etc/hostname",
|
||||
"echo AGNOS v$(cat /VERSION)",
|
||||
"uptime -p",
|
||||
]
|
||||
self.labels = {}
|
||||
for c in cmds:
|
||||
self.labels[c] = QLabel(c)
|
||||
layout.addWidget(self.labels[c])
|
||||
|
||||
self.setStyleSheet("""
|
||||
* {
|
||||
color: white;
|
||||
font-size: 55px;
|
||||
background-color: black;
|
||||
font-family: "JetBrains Mono";
|
||||
}
|
||||
""")
|
||||
|
||||
self.timer = QTimer()
|
||||
self.timer.timeout.connect(self.update)
|
||||
self.timer.start(10 * 1000)
|
||||
self.update()
|
||||
|
||||
def update(self):
|
||||
for cmd, label in self.labels.items():
|
||||
out = subprocess.run(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE,
|
||||
shell=True, check=False, encoding='utf8').stdout
|
||||
label.setText(out.strip())
|
||||
|
||||
if __name__ == "__main__":
|
||||
app = QApplication([])
|
||||
w = Window()
|
||||
set_main_window(w)
|
||||
app.exec_()
|
|
@ -42,6 +42,13 @@ while true; do
|
|||
if ! sudo systemctl is-active -q ssh; then
|
||||
sudo systemctl start ssh
|
||||
fi
|
||||
|
||||
if ! pgrep -f 'ciui.py' > /dev/null 2>&1; then
|
||||
echo 'starting UI'
|
||||
cp $SOURCE_DIR/selfdrive/test/ciui.py /data/
|
||||
/data/ciui.py &
|
||||
fi
|
||||
|
||||
sleep 5s
|
||||
done
|
||||
|
||||
|
|
|
@ -15,6 +15,9 @@ class TestHardware(unittest.TestCase):
|
|||
if not TICI:
|
||||
raise unittest.SkipTest
|
||||
|
||||
HARDWARE.initialize_hardware()
|
||||
HARDWARE.set_power_save(False)
|
||||
|
||||
def test_power_save_time(self):
|
||||
ts = []
|
||||
for _ in range(5):
|
||||
|
@ -23,7 +26,7 @@ class TestHardware(unittest.TestCase):
|
|||
HARDWARE.set_power_save(on)
|
||||
ts.append(time.monotonic() - st)
|
||||
|
||||
assert 0.1 < np.mean(ts) < 0.2
|
||||
assert 0.1 < np.mean(ts) < 0.25
|
||||
assert max(ts) < 0.3
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue