* feat(system): ci: add Windows setup test workflow — runs setup.sh + drone CLI verification on windows-latest GitHub Actions runner. Triggers on changes to setup.sh, handler __init__.py files, cli.py, or pyproject.toml. Closes the 'we never tested on Windows' gap. Co-Authored-By: @devpulse <devpulse@aipass> * feat(system): fix(windows): SIGPIPE guard in flow.py (#301) + fcntl platform guards in trigger/config.py and watchdog/registry.py (#302) — lazy import fcntl on Unix only, no-op on Windows. inbox_lock.py already cross-platform (msvcrt). ai_mail.py already guarded (hasattr check). Co-Authored-By: @devpulse <devpulse@aipass> * feat(system): fix(windows): handler guard backslash path fix — all 11 __init__.py files (#304). caller_file.replace('\\', '/') normalizes Windows paths before the same-branch check. This is the actual fix for #293 which was incorrectly closed. drone is completely broken on Windows without this. Co-Authored-By: @devpulse <devpulse@aipass> --------- Co-authored-by: @devpulse <devpulse@aipass>
39 lines
787 B
YAML
39 lines
787 B
YAML
name: Windows Setup Test
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
paths:
|
|
- 'setup.sh'
|
|
- 'src/aipass/*/apps/handlers/__init__.py'
|
|
- 'src/aipass/drone/cli.py'
|
|
- 'pyproject.toml'
|
|
pull_request:
|
|
paths:
|
|
- 'setup.sh'
|
|
- 'src/aipass/*/apps/handlers/__init__.py'
|
|
- 'src/aipass/drone/cli.py'
|
|
- 'pyproject.toml'
|
|
|
|
jobs:
|
|
windows-setup:
|
|
runs-on: windows-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- uses: actions/setup-python@v5
|
|
with:
|
|
python-version: '3.12'
|
|
|
|
- name: Run setup.sh
|
|
shell: bash
|
|
run: bash setup.sh
|
|
|
|
- name: Verify drone CLI
|
|
shell: bash
|
|
run: |
|
|
export PYTHONUTF8=1
|
|
drone --version
|
|
drone systems
|
|
drone @seedgo --help
|