10 Commits

Author SHA1 Message Date
3ba52b2c62 Fix PyInstaller spec: bundle modules as Python code not raw data
All checks were successful
Build Windows EXE / build (push) Successful in 50s
Using datas to include modules/ caused stdlib imports (json etc.) to fail
at runtime. Adding modules/ to pathex lets PyInstaller properly analyse
and compile them into the bundle alongside the rest of the stdlib.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-16 18:33:59 -04:00
2505083fd7 Fix curl connection reset on registry upload
All checks were successful
Build Windows EXE / build (push) Successful in 48s
Discard response body with --output NUL and capture HTTP status code
via --write-out to avoid curl failing on connection reset after upload.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-16 18:21:58 -04:00
2cb71699b5 Use REGISTRY_USERNAME and REGISTRY_TOKEN for package registry auth
Some checks failed
Build Windows EXE / build (push) Failing after 1m46s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-16 18:16:04 -04:00
7e42fb232d Publish EXE to Gitea generic package registry
Some checks failed
Build Windows EXE / build (push) Failing after 46s
Replaces upload-artifact with a curl PUT to the generic registry.
Each build is versioned by run number (e.g. es24n-conf-windows/42/es24n_conf.exe).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-16 18:11:12 -04:00
76f9f5bbd5 Use upload-artifact@v3 — v4 not supported on self-hosted Gitea
All checks were successful
Build Windows EXE / build (push) Successful in 1m19s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-16 18:03:38 -04:00
42abc2f1a7 Trigger build
Some checks failed
Build Windows EXE / build (push) Failing after 4m33s
2026-04-16 17:50:22 -04:00
001d80fed7 Use windows-latest runner label for build job
Some checks failed
Build Windows EXE / build (push) Failing after 1m56s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-16 17:36:16 -04:00
101173b18e Add Gitea Actions workflow to build Windows EXE
Some checks failed
Build Windows EXE / build (push) Has been cancelled
Builds on every push to main and on release publication.
Uploads the artifact on every build; attaches es24n_conf.exe
directly to any published release.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-16 17:33:52 -04:00
75873dd4e0 Port serial layer to pyserial; add Windows COM detection and PyInstaller spec
- serial_port.py: replace termios/fcntl/select with pyserial wrapper,
  same SerialPort interface preserved for all other modules
- workflow_serial.py: detect_serial_device() uses serial.tools.list_ports
  to enumerate COM ports; removes _fix_permissions() (not needed on Windows);
  multi-device table now shows port description
- es24n_conf.py: enable VT/ANSI colour mode on Windows 10+ via ctypes;
  update docstring for Windows edition
- requirements.txt: pyserial >= 3.5, pyinstaller >= 6.0
- es24n_conf.spec: PyInstaller single-file .exe spec

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-16 15:50:17 -04:00
a6a0f1b246 Initial commit — bootstrapped from es24n-conf (TrueNAS/Linux edition)
Starting point for Windows packaging. Serial backend will be replaced
with pyserial; PyInstaller used to produce a standalone .exe.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-16 15:44:28 -04:00