- windows.yml: flutter analyze + the ConPTY/pty suite on windows-latest (the first real execution of lib/src/pty/windows_pty.dart). Keep out of required checks until reliably green (after T-424); uploads artifacts. - release.yml: on a pubspec.yaml version bump on main, build Linux + Windows bundles via `make build` and publish a v<version> GitHub Release. First cut — Windows has never been built, so expect to iterate from the first run's logs. GitHub is the primary remote and the only host with Windows runners; the Gitea secondary has Actions disabled. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
44 lines
1.8 KiB
YAML
44 lines
1.8 KiB
YAML
name: windows
|
|
|
|
# Windows CI on GitHub-hosted runners — the only hosted Windows available, and
|
|
# GitHub is clide's primary remote (the Gitea secondary is self-hosted Linux and
|
|
# keeps running the Linux suite). This is the first real execution of the ConPTY
|
|
# backend (lib/src/pty/windows_pty.dart), so expect genuine failures until the
|
|
# Windows fixes land (T-424). Keep this OUT of required status checks until it's
|
|
# reliably green — it reports + uploads artifacts without blocking merges. Each
|
|
# run is a fresh, discarded runner, so the accumulation freeze (which needs
|
|
# repeated runs on one machine) can't build up here.
|
|
|
|
on:
|
|
push:
|
|
branches: [main, windows-support]
|
|
pull_request:
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
windows-pty:
|
|
runs-on: windows-latest
|
|
timeout-minutes: 25
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: subosito/flutter-action@v2
|
|
with:
|
|
channel: stable
|
|
- run: flutter --version
|
|
- run: flutter pub get
|
|
- run: flutter analyze
|
|
- name: ConPTY + Windows-arg unit tests
|
|
# windows_pty_test.dart drives real ConPTY (it self-skips off-Windows);
|
|
# the args/size suites are the pure-logic coverage. --timeout 60s so a
|
|
# wedged reader fails fast instead of hanging the runner.
|
|
run: dart test --concurrency=1 --timeout 60s test/pty/windows_pty_test.dart test/pty/windows_pty_args_test.dart test/pty/pty_size_test.dart
|
|
- name: Upload test output / logs
|
|
if: always()
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: windows-test-output
|
|
# T-425 (crash-survivable FileLogSink) writes under %LOCALAPPDATA%\clide\logs;
|
|
# add that path here once it lands so a freeze leaves a downloadable log.
|
|
path: test/.test-output
|
|
if-no-files-found: ignore
|