Skip to content

Commit f524a4b

Browse files
committed
[feat] ci: update final bundle tests
1 parent fdea2dd commit f524a4b

5 files changed

Lines changed: 70 additions & 0 deletions

File tree

.github/workflows/build_linux.yml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,3 +64,21 @@ jobs:
6464
cd FastTrack
6565
chmod +x fasttrack.run
6666
./fasttrack.run -- --cli --help
67+
68+
- name: GUI startup smoke test
69+
run: |
70+
cd FastTrack
71+
chmod +x fasttrack.run
72+
73+
set +e
74+
timeout 10s ./fasttrack.run -- -platform offscreen
75+
status=$?
76+
set -e
77+
78+
if [ "$status" -eq 124 ]; then
79+
echo "GUI startup test passed: app stayed alive for 10 seconds."
80+
exit 0
81+
fi
82+
83+
echo "GUI startup test failed: app exited with status $status."
84+
exit "$status"

.github/workflows/build_mac.yml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,3 +134,23 @@ jobs:
134134
cd FastTrack
135135
hdiutil attach FastTrack.dmg -mountpoint /Volumes/FastTrackApp
136136
/Volumes/FastTrackApp/FastTrack.app/Contents/MacOS/FastTrack --cli --help
137+
138+
- name: GUI startup smoke test
139+
run: |
140+
brew install coreutils
141+
142+
cd FastTrack
143+
hdiutil attach FastTrack.dmg -mountpoint /Volumes/FastTrackApp
144+
145+
BIN=/Volumes/FastTrackApp/FastTrack.app/Contents/MacOS/FastTrack
146+
147+
gtimeout 20s "$BIN" -platform offscreen
148+
status=$?
149+
150+
if [ "$status" -eq 124 ]; then
151+
echo "GUI startup test passed: app stayed alive for 20 seconds."
152+
exit 0
153+
fi
154+
155+
echo "GUI startup test failed: app exited with status $status."
156+
exit "$status"

.github/workflows/build_win.yml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,3 +63,22 @@ jobs:
6363
run: |
6464
cd FastTrack
6565
./FastTrack.exe --cli --help
66+
67+
- name: GUI startup smoke test
68+
shell: pwsh
69+
run: |
70+
cd FastTrack
71+
72+
$p = Start-Process -FilePath ".\FastTrack.exe" -PassThru -WindowStyle Hidden
73+
74+
Start-Sleep -Seconds 10
75+
76+
if ($p.HasExited) {
77+
Write-Host "GUI startup test failed: app exited early with code $($p.ExitCode)."
78+
exit $p.ExitCode
79+
}
80+
81+
Write-Host "GUI startup test passed: app stayed alive for 10 seconds."
82+
83+
Stop-Process -Id $p.Id -Force
84+
exit 0

.github/workflows/test.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,7 @@ jobs:
101101
rm -f /usr/local/bin/python3*
102102
rm -f /usr/local/opt/go/bin/go*
103103
rm -f /usr/local/bin/go*
104+
brew uninstall --ignore-dependencies qt@6 || true
104105
brew update -q -f
105106
brew upgrade -q -f
106107
brew install pkg-config

run.sh

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,3 +57,15 @@ if [ "$1" = "ci_clang" ]; then
5757
cmake -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_BUILD_TYPE=Release -DSKIP_TEST=ON ../
5858
make
5959
fi
60+
61+
if [ "$1" = "build_linux" ]; then
62+
act -W .github/workflows/build_linux.yml --rm --pull --artifact-server-path "$PWD/.artifacts"
63+
fi
64+
65+
if [ "$1" = "build_win" ]; then
66+
act -W .github/workflows/build_win.yml --rm --pull --artifact-server-path "$PWD/.artifacts"
67+
fi
68+
69+
if [ "$1" = "build_mac" ]; then
70+
act -W .github/workflows/build_mac.yml --rm --pull --artifact-server-path "$PWD/.artifacts"
71+
fi

0 commit comments

Comments
 (0)