ci: fix integration + bundle jobs on their first GitHub run

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>
This commit is contained in:
2026-06-15 00:42:33 +02:00
co-authored by Claude Opus 4.8
parent ebea0dd846
commit 704bdc35db
2 changed files with 8 additions and 2 deletions
+1 -1
View File
@@ -148,7 +148,7 @@ changelog-gate: ## Changelog concision gate — fails on `## [Unreleased]` bulle
ci/changelog_gate.sh
.PHONY: smoke-bundle
smoke-bundle: ## Build Linux release bundle and run it under xvfb for 5s.
smoke-bundle: gen-build-info ## Build Linux release bundle and run it under xvfb for 5s.
ci/smoke_bundle.sh
# -- web UI harness ------------------------------------------------------
+7 -1
View File
@@ -3,10 +3,16 @@
# 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 "$f"
flutter test -d linux "$f"
done