These two jobs moved from the old Gitea runner and ran for the first time on GitHub ubuntu-latest in this branch's test workflow; both failed on environment differences, not on product regressions. integration_test: the GitHub runner exposes BOTH a `linux` desktop and a `chrome` web device, so a bare `flutter test integration_test/...` aborts with "More than one device connected" before compiling. The Gitea runner / dev box only had the one device, so it was latent. Pin `-d linux` in ci/test_integration.sh. Verified locally: the full suite boots and passes. smoke-bundle: the `smoke-bundle` make target was the only test target missing the `gen-build-info` prerequisite, so build_info.g.dart was absent and the release build failed to compile (clideVersion/clideCommit/clideName/ clideTagline/... undefined). Add the prereq. Verified locally: the release bundle now builds (`✓ Built .../release/bundle/clide`); the xvfb run step is CI-only. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
19 lines
794 B
Bash
Executable File
19 lines
794 B
Bash
Executable File
#!/usr/bin/env bash
|
|
# integration_test suite — the load-bearing "tests pass but app doesn't
|
|
# start" regression gate. Flutter integration tests prefer one file at
|
|
# a time on desktop; we iterate to avoid the "Unable to start the app"
|
|
# error that hits when they run as a batch.
|
|
#
|
|
# -d linux pins the desktop device explicitly: the GitHub ubuntu-latest
|
|
# runner exposes BOTH a linux desktop AND a chrome web device, so a bare
|
|
# `flutter test integration_test/...` aborts with "More than one device
|
|
# connected" before it ever compiles (the dev box / old Gitea runner only
|
|
# had the one device, so this was latent until CI moved to GitHub).
|
|
set -euo pipefail
|
|
cd "$(dirname "$0")/.."
|
|
|
|
for f in integration_test/*_test.dart; do
|
|
echo "==> integration_test: $f"
|
|
flutter test -d linux "$f"
|
|
done
|