Skip to content

Add CI and fix the Python 3.14 warnings-as-errors failure #8

Description

@VirtualPaul

Summary

The normal unit suite passes, but it cannot be imported under Python 3.14 with warnings treated as errors because a test contains an invalid escape sequence. The repository has no CI workflow to catch this or package/UI regressions.

Tested against main at fb265549480ff0d3ad8b14b28007370539b70cf3 with Python 3.14.5.

Reproduction

python3 -m unittest discover -s tests -v
# 116 tests pass, but emits SyntaxWarning at tests/test_meter.py:899

python3 -W error -m unittest discover -s tests -v
# Import fails: SyntaxError: "\\(" is an invalid escape sequence

There is also no .github/workflows directory on current main.

Suggested fix

  1. Change the affected expected string to a raw string or escape the backslash ("\\\\(" as appropriate for the assertion).
  2. Add GitHub Actions for supported Python versions plus the newest Python release, with warnings-as-errors on the newest job.
  3. On macOS CI, compile the Swift menubar and build/expand the package.
  4. Add JavaScript syntax parsing for the inline dashboard script, bash -n for shell scripts, and python -m compileall.
  5. Run the 116-test suite as a required pull-request check.

Regression criteria

  • python3 -W error -m unittest discover -s tests -v passes on Python 3.14.
  • Every pull request runs unit, syntax, Swift compile, and package smoke checks.
  • CI uploads enough logs/artifacts to diagnose a failed package build.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions