Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add CI tests #1315

Open
4 of 10 tasks
C0rn3j opened this issue Nov 24, 2024 · 0 comments
Open
4 of 10 tasks

Add CI tests #1315

C0rn3j opened this issue Nov 24, 2024 · 0 comments
Labels
heavy Technical debt or previous design decisions make this hard to move help wanted

Comments

@C0rn3j
Copy link
Collaborator

C0rn3j commented Nov 24, 2024

  • Compile translations
  • Update translations - Probably as simple as running them and checking that only messages.pots got an edited timestamp and nothing else needs updates?
  • Linux installation - pyinstaller builds for macOS and Linux in the CI #1348
  • macOS installation - pyinstaller builds for macOS and Linux in the CI #1348
  • Windows (MINGW64) installation - Add Windows CI and fix up Linux and macOS #1354
  • Portable (venv) Linux run - Maybe as a git hook since running a GUI app in the CI in any capacity might turn out to be night impossible or require reworking inside of Tauon to support GUI-less tests. Maybe looking up how to mock SDL might work.
  • Non-portable Linux run - Portable does not necessarily hit all the code paths, this might need
  • DB migrations - We have no idea if someone with DB v1 can actually upgrade all the way to latest DB schema
  • LSP - check that the types check out - currently somewhat impossible due to the large size that t_main.py has, and at least Pyright/Jedi seem to time out on it - can maybe be overwritten
  • Linter - least important and the most annoying

TODO:




  • Windows: The CI is SLOW, we should try sharing libs from system and preinstall them instead of building from source
  • Windows: MINGW64 won't launch Tauon from our build scripts due to pythonw link missing for specific python versions, i.e. pythonw3.12.exe msys2/MINGW-packages#22856
  • Windows: TauonSMTC.dll and TaskbarLib.tlb and librespot.exe and fonts are untested
  • Windows: colored_traceback, which is very much NOT important, is throwing this error - maybe remove it for now from Windows builds at least
2024-12-21 18:30:50 [ ERROR ] [  t_main  ] Unknown error trying to import colored_traceback, tracebacks will be dull. (t_main.py:351)
Traceback (most recent call last):
  File "C:/msys64/home/Yeet/Tauon/.venv/lib/python3.12/site-packages/tauon/t_modules/t_main.py", line 346, in <module>
    import colored_traceback.always
  File "C:/msys64/home/Yeet/Tauon/.venv/lib/python3.12/site-packages/colored_traceback/always/__init__.py", line 2, in <module>
    add_hook(always=True)
  File "C:/msys64/home/Yeet/Tauon/.venv/lib/python3.12/site-packages/colored_traceback/colored_traceback.py", line 78, in add_hook
    colorizer = Colorizer(style, colors, debug)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:/msys64/home/Yeet/Tauon/.venv/lib/python3.12/site-packages/colored_traceback/colored_traceback.py", line 64, in __init__
    self.formatter = _determine_formatter(style, colors, debug)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:/msys64/home/Yeet/Tauon/.venv/lib/python3.12/site-packages/colored_traceback/colored_traceback.py", line 38, in _determine_formatter
    colors = colors or _get_term_color_support()
                       ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:/msys64/home/Yeet/Tauon/.venv/lib/python3.12/site-packages/colored_traceback/colored_traceback.py", line 34, in _get_term_color_support
    curses.setupterm()
_curses.error: setupterm: could not find terminfo database

  • librespot is commented out - requirements.txt: Set versions as minimum instead of hardcoding as exact  kokarare1212/librespot-python#286
  • librespot.exe is not being pushed to the Windows build (why is it only needed on Windows??)
  • picard is commented out - 2.12.3 is broken - we're waiting on a new release - they said probably January https://github.com/metabrainz/picard/releases
  • Use 7z not zip, should be considerably better compression
  • We install/suggest SDL2 deps but we use pysdl2-dll now so they should not be required
  • Check Tekore is being picked up (needs someone with Spotify Premium)
  • Make sure we're not dupe-packing assets, theme and templates - they could theoretically be packed in the executable.
  • Spec files have hardcoded Python 3.13/3.12
  • We're packing entire pysdl2-dll instead of just the two modules we need - how much filesize is it that we could save, does it matter?
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
heavy Technical debt or previous design decisions make this hard to move help wanted
Projects
None yet
Development

No branches or pull requests

1 participant