Skip to content

Typehint label / log / spinner / storage#458

Merged
marmarek merged 5 commits intoQubesOS:mainfrom
hippalectryon-0:typehint-label
Apr 7, 2026
Merged

Typehint label / log / spinner / storage#458
marmarek merged 5 commits intoQubesOS:mainfrom
hippalectryon-0:typehint-label

Conversation

@hippalectryon-0
Copy link
Copy Markdown

@hippalectryon-0 hippalectryon-0 commented Mar 16, 2026

Major: type-hint storage.py
Minor: type-hint label.py spinner.py log.py

Comments (for storage.py)

1. safe assert

In __lt__ we have

            if self._vid and other._vid:
                return (self._pool, self._vid) < (other._pool, other._vid)

Technically, _vid is supposed to be non-None if pool is non-None, not the other way around. Shouldn't it be if self.pool and other.pool: ?

Type error raise

In revert:

        if not isinstance(revision, str):
            raise TypeError('revision must be a str')

but typing def revert(self, revision: str) -> None: raises no type-checker error, indicating that it's never called with a non-str argument. Is the raise really necessary ?

None __str__

    def __str__(self):
        return self.name

but self.name can be None, and __str__ should never be None. I added an assert is not None for now.

LT assert

    def __lt__(self, other: object) -> bool:
        if isinstance(other, Pool):
            return self.name < other.name

What guarantees that self.name or other.name is defined here ?

@marmarek
Copy link
Copy Markdown
Member

marmarek commented Apr 6, 2026

Technically, _vid is supposed to be non-None if pool is non-None, not the other way around. Shouldn't it be if self.pool and other.pool: ?

Yes, I think so.

but typing def revert(self, revision: str) -> None: raises no type-checker error, indicating that it's never called with a non-str argument. Is the raise really necessary ?

It's a library, the function may be called externally. That said, type hint instead of this is probably enough.

but self.name can be None, and __str__ should never be None. I added an assert is not None for now.

Can Pool.name really be None? I don't think that should be possible or allowed.

What guarantees that self.name or other.name is defined here ?

See above.

@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 6, 2026

Codecov Report

❌ Patch coverage is 93.87755% with 6 lines in your changes missing coverage. Please review.
✅ Project coverage is 76.40%. Comparing base (386de45) to head (143aa64).
⚠️ Report is 22 commits behind head on main.

Files with missing lines Patch % Lines
qubesadmin/storage.py 95.08% 3 Missing ⚠️
qubesadmin/spinner.py 89.47% 2 Missing ⚠️
qubesadmin/backup/core2.py 0.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #458      +/-   ##
==========================================
+ Coverage   76.36%   76.40%   +0.03%     
==========================================
  Files          53       53              
  Lines        9399     9419      +20     
==========================================
+ Hits         7178     7197      +19     
- Misses       2221     2222       +1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@hippalectryon-0
Copy link
Copy Markdown
Author

Can Pool.name really be None? I don't think that should be possible or allowed.

def __init__(self, app: QubesBase, name: str | None=None):

As per your comment I made name a required argument.

@qubesos-bot
Copy link
Copy Markdown

OpenQA test summary

Complete test suite and dependencies: https://openqa.qubes-os.org/tests/overview?distri=qubesos&version=4.3&build=2026040702-4.3&flavor=pull-requests

Test run included the following:

New failures, excluding unstable

Compared to: https://openqa.qubes-os.org/tests/overview?distri=qubesos&version=4.3&build=2026032404-devel&flavor=update

  • system_tests_whonix

    • whonixcheck: wait_serial (wait serial expected)
      # wait_serial expected: qr/0rW7l-\d+-/...
  • system_tests_pvgrub_salt_storage

    • TC_41_HVMGrub_debian-13-xfce: test_001_standalone_vm_dracut (error)
      qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...

    • TC_41_HVMGrub_fedora-43-xfce: test_000_standalone_vm (error)
      qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...

    • TC_42_PVHGrub_debian-13-xfce: test_010_template_based_vm (error)
      qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...

  • system_tests_extra

    • TC_00_QVCTest_fedora-43-xfce: test_010_screenshare (failure + cleanup)
      AssertionError: 2.104448859803078 not less than 2.0

    • TC_00_PDFConverter_fedora-43-xfce: test_004_cancel_stops_conversion (failure)
      AssertionError: DispVM not cleaned up 10s after cancel: {<DispVM at...

  • system_tests_qwt_win11@hw13

    • windows_install: wait_serial (wait serial expected)
      # wait_serial expected: qr/install-complete-\d+-/...
  • system_tests_guivm_gpu_gui_interactive@hw13

    • shutdown: unnamed test (unknown)
    • shutdown: Failed (test died)
      # Test died: no candidate needle with tag(s) 'text-logged-in-root' ...
  • system_tests_whonix@hw1

    • whonixcheck: fail (unknown)
      Whonixcheck for sys-whonix failed...

    • whonixcheck: Failed (test died)
      # Test died: systemcheck failed at qubesos/tests/whonixcheck.pm lin...

Failed tests

20 failures
  • system_tests_whonix

    • whonixcheck: fail (unknown)
      Whonixcheck for whonix-gateway-18 failed...

    • whonixcheck: fail (unknown)
      Whonixcheck for sys-whonix failed...

    • whonixcheck: fail (unknown)
      Whonixcheck for whonix-workstation-18 failed...

    • whonixcheck: Failed (test died)
      # Test died: systemcheck failed at qubesos/tests/whonixcheck.pm lin...

    • whonixcheck: wait_serial (wait serial expected)
      # wait_serial expected: qr/0rW7l-\d+-/...

  • system_tests_pvgrub_salt_storage

    • TC_41_HVMGrub_debian-13-xfce: test_001_standalone_vm_dracut (error)
      qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...

    • TC_41_HVMGrub_debian-13-xfce: test_010_template_based_vm (error)
      qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...

    • TC_41_HVMGrub_debian-13-xfce: test_011_template_based_vm_dracut (error)
      qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...

    • TC_41_HVMGrub_fedora-43-xfce: test_000_standalone_vm (error)
      qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...

    • TC_42_PVHGrub_debian-13-xfce: test_010_template_based_vm (error)
      qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...

  • system_tests_extra

    • TC_01_InputProxyExclude_debian-13-xfce: test_000_qemu_tablet (error)
      qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...

    • TC_00_QVCTest_fedora-43-xfce: test_010_screenshare (failure + cleanup)
      AssertionError: 2.104448859803078 not less than 2.0

    • TC_00_PDFConverter_fedora-43-xfce: test_004_cancel_stops_conversion (failure)
      AssertionError: DispVM not cleaned up 10s after cancel: {<DispVM at...

  • system_tests_qwt_win10_seamless@hw13

    • windows_install: Failed (test died)
      # Test died: Install failed with code 1 at qubesos/tests/windows_in...
  • system_tests_qwt_win11@hw13

    • windows_install: wait_serial (wait serial expected)
      # wait_serial expected: qr/install-complete-\d+-/...

    • windows_install: Failed (test died + timed out)
      # Test died: Install timed out at qubesos/tests/windows_install.pm ...

  • system_tests_guivm_gpu_gui_interactive@hw13

    • shutdown: unnamed test (unknown)
    • shutdown: Failed (test died)
      # Test died: no candidate needle with tag(s) 'text-logged-in-root' ...
  • system_tests_whonix@hw1

    • whonixcheck: fail (unknown)
      Whonixcheck for sys-whonix failed...

    • whonixcheck: Failed (test died)
      # Test died: systemcheck failed at qubesos/tests/whonixcheck.pm lin...

Fixed failures

Compared to: https://openqa.qubes-os.org/tests/170766#dependencies

28 fixed
  • system_tests_network

    • system_tests: Fail (unknown)
      Tests qubes.tests.integ.network failed (exit code 1), details repor...

    • system_tests: Failed (test died)
      # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...

    • VmNetworking_debian-13-xfce: test_203_fake_ip_inter_vm_allow (failure)
      ^... AssertionError: 1 != 0

  • system_tests_pvgrub_salt_storage

    • TC_41_HVMGrub_fedora-42-xfce: test_000_standalone_vm (error)
      qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...

    • TC_41_HVMGrub_fedora-42-xfce: test_010_template_based_vm (error)
      qubes.exc.QubesVMError: Cannot connect to qrexec agent for 120 seco...

  • system_tests_gui_interactive

    • collect_logs: wait_serial (wait serial expected)
      # wait_serial expected: qr/Dhelp-\d+-/...

    • collect_logs: Failed (test died + timed out)
      # Test died: command 'curl --form upload=@journalctl.log --form upn...

  • system_tests_network_ipv6

    • system_tests: Fail (unknown)
      Tests qubes.tests.integ.network_ipv6 failed (exit code 1), details ...

    • system_tests: Failed (test died)
      # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...

    • VmIPv6Networking_fedora-42-xfce: test_113_reattach_after_provider_kill (failure)
      ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^... AssertionError: 1 != 0

  • system_tests_network_updates

    • system_tests: Fail (unknown)
      Tests qubes.tests.integ.dom0_update failed (exit code 1), details r...

    • system_tests: Failed (test died)
      # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...

    • TC_00_Dom0Upgrade_whonix-gateway-18: test_020_install_wrong_sign (error)
      subprocess.CalledProcessError: Command 'timeout=120; while ! tor-ci...

    • TC_11_QvmTemplateMgmtVM_debian-13-xfce: test_000_template_list (failure)
      qvm-template: error: No matching templates to list

    • TC_11_QvmTemplateMgmtVM_debian-13-xfce: test_010_template_install (failure)
      qvm-template: error: Template 'debian-12-minimal' not found.

    • TC_11_QvmTemplateMgmtVM_fedora-42-xfce: test_000_template_list (failure)
      qvm-template: error: No matching templates to list

    • TC_11_QvmTemplateMgmtVM_fedora-42-xfce: test_010_template_install (failure)
      qvm-template: error: Template 'debian-12-minimal' not found.

    • TC_11_QvmTemplateMgmtVM_whonix-gateway-18: test_000_template_list (failure)
      qvm-template: error: No matching templates to list

    • TC_11_QvmTemplateMgmtVM_whonix-gateway-18: test_010_template_install (failure)
      qvm-template: error: Template 'debian-12-minimal' not found.

  • system_tests_kde_gui_interactive

    • collect_logs: wait_serial (wait serial expected)
      # wait_serial expected: qr/bMse8-\d+-/...

    • collect_logs: Failed (test died + timed out)
      # Test died: command 'curl --form upload=@journalctl.log --form upn...

  • system_tests_guivm_vnc_gui_interactive

    • collect_logs: wait_serial (wait serial expected)
      # wait_serial expected: qr/C_fDy-\d+-/...

    • collect_logs: Failed (test died + timed out)
      # Test died: command 'curl --form upload=@journalctl.log --form upn...

  • system_tests_audio

    • system_tests: Fail (unknown)
      Tests qubes.tests.integ.audio failed (exit code 1), details reporte...

    • system_tests: Failed (test died)
      # Test died: Some tests failed at qubesos/tests/system_tests.pm lin...

    • TC_20_AudioVM_Pulse_whonix-workstation-18: test_225_audio_rec_unmuted_hvm (failure)
      AssertionError: too short audio, expected 10s, got 7.59433106575963...

    • TC_20_AudioVM_PipeWire_debian-13-xfce: test_251_audio_playback_audiovm_pipewire_late_start (failure)
      AssertionError: pacat for test-inst-vm1 (xid 48) running(False) in ...

  • system_tests_qwt_win10@hw13

    • windows_install: Failed (test died)
      # Test died: Install failed with code 1 at qubesos/tests/windows_in...

Unstable tests

Details

Performance Tests

Performance degradation:

10 performance degradations
  • debian-13-xfce_exec: 8.36 🔻 ( previous job: 7.30, degradation: 114.41%)
  • fedora-42-xfce_socket-data-duplex: 95.25 🔻 ( previous job: 84.37, degradation: 112.89%)
  • fedora-42-xfce_root_seq1m_q8t1_read 3:read_bandwidth_kb: 373424.00 🔻 ( previous job: 429744.00, degradation: 86.89%)
  • fedora-42-xfce_root_seq1m_q1t1_read 3:read_bandwidth_kb: 286809.00 🔻 ( previous job: 337488.00, degradation: 84.98%)
  • fedora-42-xfce_volatile_seq1m_q8t1_write 3:write_bandwidth_kb: 73405.00 🔻 ( previous job: 98064.00, degradation: 74.85%)
  • fedora-42-xfce_volatile_seq1m_q1t1_read 3:read_bandwidth_kb: 246665.00 🔻 ( previous job: 339454.00, degradation: 72.67%)
  • fedora-42-xfce_volatile_rnd4k_q32t1_read 3:read_bandwidth_kb: 80254.00 🔻 ( previous job: 95629.00, degradation: 83.92%)
  • fedora-42-xfce_volatile_rnd4k_q32t1_write 3:write_bandwidth_kb: 2986.00 🔻 ( previous job: 4272.00, degradation: 69.90%)
  • fedora-42-xfce_volatile_rnd4k_q1t1_read 3:read_bandwidth_kb: 7239.00 🔻 ( previous job: 8294.00, degradation: 87.28%)
  • fedora-42-xfce_volatile_rnd4k_q1t1_write 3:write_bandwidth_kb: 1016.00 🔻 ( previous job: 1434.00, degradation: 70.85%)

Remaining performance tests:

101 tests
  • debian-13-xfce_exec-root: 26.37 🟢 ( previous job: 26.58, improvement: 99.23%)
  • debian-13-xfce_socket: 8.54 🔻 ( previous job: 8.02, degradation: 106.48%)
  • debian-13-xfce_socket-root: 8.89 🔻 ( previous job: 8.38, degradation: 106.06%)
  • debian-13-xfce_exec-data-simplex: 58.74 🟢 ( previous job: 66.06, improvement: 88.92%)
  • debian-13-xfce_exec-data-duplex: 66.76 🔻 ( previous job: 61.22, degradation: 109.05%)
  • debian-13-xfce_exec-data-duplex-root: 73.19 🔻 ( previous job: 72.95, degradation: 100.33%)
  • debian-13-xfce_socket-data-duplex: 85.80 🟢 ( previous job: 86.03, improvement: 99.73%)
  • fedora-42-xfce_exec: 9.01 🟢 ( previous job: 9.09, improvement: 99.14%)
  • fedora-42-xfce_exec-root: 59.08 🔻 ( previous job: 58.88, degradation: 100.34%)
  • fedora-42-xfce_socket: 8.07 🟢 ( previous job: 8.48, improvement: 95.22%)
  • fedora-42-xfce_socket-root: 8.19 🟢 ( previous job: 8.67, improvement: 94.40%)
  • fedora-42-xfce_exec-data-simplex: 63.28 🔻 ( previous job: 61.42, degradation: 103.02%)
  • fedora-42-xfce_exec-data-duplex: 66.72 🔻 ( previous job: 65.12, degradation: 102.46%)
  • fedora-42-xfce_exec-data-duplex-root: 92.43 🔻 ( previous job: 85.37, degradation: 108.27%)
  • whonix-gateway-18_exec: 8.28 🔻 ( previous job: 7.69, degradation: 107.68%)
  • whonix-gateway-18_exec-root: 130.48 🟢 ( previous job: 132.16, improvement: 98.73%)
  • whonix-gateway-18_socket: 7.42 🟢 ( previous job: 8.05, improvement: 92.20%)
  • whonix-gateway-18_socket-root: 7.75 🔻 ( previous job: 7.16, degradation: 108.29%)
  • whonix-gateway-18_exec-data-simplex: 66.15 🔻 ( previous job: 64.40, degradation: 102.72%)
  • whonix-gateway-18_exec-data-duplex: 66.52 🔻 ( previous job: 63.65, degradation: 104.51%)
  • whonix-gateway-18_exec-data-duplex-root: 121.96 🟢 ( previous job: 123.30, improvement: 98.91%)
  • whonix-gateway-18_socket-data-duplex: 102.67 🟢 ( previous job: 113.72, improvement: 90.29%)
  • whonix-workstation-18_exec: 8.54 🔻 ( previous job: 8.20, degradation: 104.18%)
  • whonix-workstation-18_exec-root: 134.56 🟢 ( previous job: 138.84, improvement: 96.91%)
  • whonix-workstation-18_socket: 8.09 🟢 ( previous job: 8.19, improvement: 98.78%)
  • whonix-workstation-18_socket-root: 7.92 🟢 ( previous job: 8.92, improvement: 88.80%)
  • whonix-workstation-18_exec-data-simplex: 66.01 🔻 ( previous job: 63.54, degradation: 103.88%)
  • whonix-workstation-18_exec-data-duplex: 64.44 🔻 ( previous job: 59.45, degradation: 108.39%)
  • whonix-workstation-18_exec-data-duplex-root: 127.97 🟢 ( previous job: 139.63, improvement: 91.65%)
  • whonix-workstation-18_socket-data-duplex: 80.75 🟢 ( previous job: 80.77, improvement: 99.97%)
  • dom0_root_seq1m_q8t1_read 3:read_bandwidth_kb: 489759.00 🟢 ( previous job: 485002.00, improvement: 100.98%)
  • dom0_root_seq1m_q8t1_write 3:write_bandwidth_kb: 223720.00 🟢 ( previous job: 217546.00, improvement: 102.84%)
  • dom0_root_seq1m_q1t1_read 3:read_bandwidth_kb: 394795.00 🟢 ( previous job: 70705.00, improvement: 558.37%)
  • dom0_root_seq1m_q1t1_write 3:write_bandwidth_kb: 183156.00 🟢 ( previous job: 42537.00, improvement: 430.58%)
  • dom0_root_rnd4k_q32t1_read 3:read_bandwidth_kb: 103358.00 🟢 ( previous job: 12342.00, improvement: 837.45%)
  • dom0_root_rnd4k_q32t1_write 3:write_bandwidth_kb: 6976.00 🟢 ( previous job: 3011.00, improvement: 231.68%)
  • dom0_root_rnd4k_q1t1_read 3:read_bandwidth_kb: 8161.00 🟢 ( previous job: 1182.00, improvement: 690.44%)
  • dom0_root_rnd4k_q1t1_write 3:write_bandwidth_kb: 852.00 🟢 ( previous job: 793.00, improvement: 107.44%)
  • dom0_varlibqubes_seq1m_q8t1_read 3:read_bandwidth_kb: 526657.00 🟢 ( previous job: 233483.00, improvement: 225.57%)
  • dom0_varlibqubes_seq1m_q8t1_write 3:write_bandwidth_kb: 256878.00 🟢 ( previous job: 34913.00, improvement: 735.77%)
  • dom0_varlibqubes_seq1m_q1t1_read 3:read_bandwidth_kb: 395689.00 🟢 ( previous job: 370521.00, improvement: 106.79%)
  • dom0_varlibqubes_seq1m_q1t1_write 3:write_bandwidth_kb: 178495.00 🟢 ( previous job: 154458.00, improvement: 115.56%)
  • dom0_varlibqubes_rnd4k_q32t1_read 3:read_bandwidth_kb: 90485.00 🟢 ( previous job: 27602.00, improvement: 327.82%)
  • dom0_varlibqubes_rnd4k_q32t1_write 3:write_bandwidth_kb: 8705.00 🟢 ( previous job: 8434.00, improvement: 103.21%)
  • dom0_varlibqubes_rnd4k_q1t1_read 3:read_bandwidth_kb: 7621.00 🟢 ( previous job: 7112.00, improvement: 107.16%)
  • dom0_varlibqubes_rnd4k_q1t1_write 3:write_bandwidth_kb: 4428.00 🔻 ( previous job: 4565.00, degradation: 97.00%)
  • fedora-42-xfce_root_seq1m_q8t1_write 3:write_bandwidth_kb: 92783.00 🟢 ( previous job: 82944.00, improvement: 111.86%)
  • fedora-42-xfce_root_seq1m_q1t1_write 3:write_bandwidth_kb: 55175.00 🟢 ( previous job: 28744.00, improvement: 191.95%)
  • fedora-42-xfce_root_rnd4k_q32t1_read 3:read_bandwidth_kb: 80968.00 🔻 ( previous job: 82654.00, degradation: 97.96%)
  • fedora-42-xfce_root_rnd4k_q32t1_write 3:write_bandwidth_kb: 2475.00 🟢 ( previous job: 1799.00, improvement: 137.58%)
  • fedora-42-xfce_root_rnd4k_q1t1_read 3:read_bandwidth_kb: 8435.00 🔻 ( previous job: 8983.00, degradation: 93.90%)
  • fedora-42-xfce_root_rnd4k_q1t1_write 3:write_bandwidth_kb: 1143.00 🟢 ( previous job: 808.00, improvement: 141.46%)
  • fedora-42-xfce_private_seq1m_q8t1_read 3:read_bandwidth_kb: 425385.00 🟢 ( previous job: 386785.00, improvement: 109.98%)
  • fedora-42-xfce_private_seq1m_q8t1_write 3:write_bandwidth_kb: 192774.00 🟢 ( previous job: 120146.00, improvement: 160.45%)
  • fedora-42-xfce_private_seq1m_q1t1_read 3:read_bandwidth_kb: 373823.00 🟢 ( previous job: 344699.00, improvement: 108.45%)
  • fedora-42-xfce_private_seq1m_q1t1_write 3:write_bandwidth_kb: 204227.00 🟢 ( previous job: 73186.00, improvement: 279.05%)
  • fedora-42-xfce_private_rnd4k_q32t1_read 3:read_bandwidth_kb: 82393.00 🔻 ( previous job: 85237.00, degradation: 96.66%)
  • fedora-42-xfce_private_rnd4k_q32t1_write 3:write_bandwidth_kb: 2841.00 🟢 ( previous job: 2529.00, improvement: 112.34%)
  • fedora-42-xfce_private_rnd4k_q1t1_read 3:read_bandwidth_kb: 7887.00 🔻 ( previous job: 8072.00, degradation: 97.71%)
  • fedora-42-xfce_private_rnd4k_q1t1_write 3:write_bandwidth_kb: 1614.00 🟢 ( previous job: 1142.00, improvement: 141.33%)
  • fedora-42-xfce_volatile_seq1m_q8t1_read 3:read_bandwidth_kb: 361453.00 🔻 ( previous job: 378820.00, degradation: 95.42%)
  • fedora-42-xfce_volatile_seq1m_q1t1_write 3:write_bandwidth_kb: 33312.00 🟢 ( previous job: 28807.00, improvement: 115.64%)
  • debian-13-xfce_dom0-dispvm-api (mean:6.152): 73.82 🟢 ( previous job: 81.47, improvement: 90.61%)
  • debian-13-xfce_dom0-dispvm-gui-api (mean:7.702): 92.43 🔻 ( previous job: 92.38, degradation: 100.05%)
  • debian-13-xfce_dom0-dispvm-preload-2-api (mean:3.23): 38.77 🟢 ( previous job: 48.28, improvement: 80.30%)
  • debian-13-xfce_dom0-dispvm-preload-2-delay-0-api (mean:2.86): 34.32 🟢 ( previous job: 44.34, improvement: 77.39%)
  • debian-13-xfce_dom0-dispvm-preload-2-delay-minus-1d2-api (mean:3.215): 38.59 🟢 ( previous job: 54.23, improvement: 71.15%)
  • debian-13-xfce_dom0-dispvm-preload-4-api (mean:2.36): 28.32 🟢 ( previous job: 40.37, improvement: 70.15%)
  • debian-13-xfce_dom0-dispvm-preload-4-delay-0-api (mean:2.501): 30.02 🟢 ( previous job: 44.04, improvement: 68.16%)
  • debian-13-xfce_dom0-dispvm-preload-4-delay-minus-1d2-api (mean:2.404): 28.85 🟢 ( previous job: 45.36, improvement: 63.61%)
  • debian-13-xfce_dom0-dispvm-preload-2-gui-api (mean:4.946): 59.35 🔻 ( previous job: 58.18, degradation: 102.02%)
  • debian-13-xfce_dom0-dispvm-preload-4-gui-api (mean:3.829): 45.95 🔻 ( previous job: 43.54, degradation: 105.53%)
  • debian-13-xfce_dom0-dispvm-preload-6-gui-api (mean:3.201): 38.41 🟢 ( previous job: 47.37, improvement: 81.08%)
  • debian-13-xfce_dom0-vm-api (mean:0.035): 0.43 🟢 ( previous job: 0.46, improvement: 92.81%)
  • debian-13-xfce_dom0-vm-gui-api (mean:0.039): 0.46 🟢 ( previous job: 0.51, improvement: 91.68%)
  • fedora-42-xfce_dom0-dispvm-api (mean:6.587): 79.05 🟢 ( previous job: 86.95, improvement: 90.91%)
  • fedora-42-xfce_dom0-dispvm-gui-api (mean:8.291): 99.49 🟢 ( previous job: 101.79, improvement: 97.74%)
  • fedora-42-xfce_dom0-dispvm-preload-2-api (mean:3.391): 40.69 🟢 ( previous job: 51.93, improvement: 78.35%)
  • fedora-42-xfce_dom0-dispvm-preload-2-delay-0-api (mean:3.085): 37.02 🟢 ( previous job: 48.70, improvement: 76.02%)
  • fedora-42-xfce_dom0-dispvm-preload-2-delay-minus-1d2-api (mean:3.647): 43.76 🟢 ( previous job: 57.38, improvement: 76.27%)
  • fedora-42-xfce_dom0-dispvm-preload-4-api (mean:2.556): 30.67 🟢 ( previous job: 43.56, improvement: 70.41%)
  • fedora-42-xfce_dom0-dispvm-preload-4-delay-0-api (mean:2.833): 33.99 🟢 ( previous job: 43.43, improvement: 78.27%)
  • fedora-42-xfce_dom0-dispvm-preload-4-delay-minus-1d2-api (mean:2.633): 31.59 🟢 ( previous job: 47.15, improvement: 67.02%)
  • fedora-42-xfce_dom0-dispvm-preload-2-gui-api (mean:5.193): 62.31 🟢 ( previous job: 62.91, improvement: 99.06%)
  • fedora-42-xfce_dom0-dispvm-preload-4-gui-api (mean:3.858): 46.30 🟢 ( previous job: 51.39, improvement: 90.10%)
  • fedora-42-xfce_dom0-dispvm-preload-6-gui-api (mean:3.578): 42.94 🟢 ( previous job: 44.96, improvement: 95.50%)
  • fedora-42-xfce_dom0-vm-api (mean:0.039): 0.47 🔻 ( previous job: 0.43, degradation: 109.26%)
  • fedora-42-xfce_dom0-vm-gui-api (mean:0.041): 0.50 🔻 ( previous job: 0.46, degradation: 108.53%)
  • whonix-workstation-18_dom0-dispvm-api (mean:8.23): 98.76 🟢 ( previous job: 114.77, improvement: 86.05%)
  • whonix-workstation-18_dom0-dispvm-gui-api (mean:10.157): 121.88 🟢 ( previous job: 127.27, improvement: 95.76%)
  • whonix-workstation-18_dom0-dispvm-preload-2-api (mean:4.079): 48.94 🟢 ( previous job: 70.96, improvement: 68.97%)
  • whonix-workstation-18_dom0-dispvm-preload-2-delay-0-api (mean:4.002): 48.02 🟢 ( previous job: 65.29, improvement: 73.55%)
  • whonix-workstation-18_dom0-dispvm-preload-2-delay-minus-1d2-api (mean:4.909): 58.90 🟢 ( previous job: 74.32, improvement: 79.26%)
  • whonix-workstation-18_dom0-dispvm-preload-4-api (mean:3.37): 40.45 🟢 ( previous job: 57.74, improvement: 70.04%)
  • whonix-workstation-18_dom0-dispvm-preload-4-delay-0-api (mean:3.627): 43.52 🟢 ( previous job: 65.76, improvement: 66.18%)
  • whonix-workstation-18_dom0-dispvm-preload-4-delay-minus-1d2-api (mean:3.604): 43.25 🟢 ( previous job: 59.80, improvement: 72.32%)
  • whonix-workstation-18_dom0-dispvm-preload-2-gui-api (mean:5.859): 70.31 🟢 ( previous job: 78.19, improvement: 89.92%)
  • whonix-workstation-18_dom0-dispvm-preload-4-gui-api (mean:4.694): 56.33 🟢 ( previous job: 65.73, improvement: 85.70%)
  • whonix-workstation-18_dom0-dispvm-preload-6-gui-api (mean:4.001): 48.02 🟢 ( previous job: 61.35, improvement: 78.26%)
  • whonix-workstation-18_dom0-vm-api (mean:0.035): 0.42 🟢 ( previous job: 0.58, improvement: 72.92%)
  • whonix-workstation-18_dom0-vm-gui-api (mean:0.057): 0.68 🔻 ( previous job: 0.62, degradation: 108.83%)

@marmarek marmarek merged commit d8a91cd into QubesOS:main Apr 7, 2026
5 of 6 checks passed
@hippalectryon-0 hippalectryon-0 deleted the typehint-label branch April 8, 2026 03:52
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.

3 participants