62 lines
1.3 KiB
YAML
62 lines
1.3 KiB
YAML
name: Smoke Test
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
paths-ignore:
|
|
- "README*.md"
|
|
- "changelogs/**"
|
|
- "dashboard/**"
|
|
pull_request:
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
smoke-test:
|
|
name: Run smoke tests
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 10
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v6
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Set up Python
|
|
uses: actions/setup-python@v6
|
|
with:
|
|
python-version: "3.12"
|
|
|
|
- name: Install UV package manager
|
|
run: |
|
|
pip install uv
|
|
|
|
- name: Install dependencies
|
|
run: |
|
|
uv sync
|
|
timeout-minutes: 15
|
|
|
|
- name: Run smoke tests
|
|
run: |
|
|
uv run main.py &
|
|
# uv tool install -e . --force
|
|
# astrbot init -y
|
|
# astrbot run --backend-only &
|
|
APP_PID=$!
|
|
|
|
echo "Waiting for application to start..."
|
|
for i in {1..60}; do
|
|
if curl -f http://localhost:6185 > /dev/null 2>&1; then
|
|
echo "Application started successfully!"
|
|
kill $APP_PID
|
|
exit 0
|
|
fi
|
|
sleep 1
|
|
done
|
|
|
|
echo "Application failed to start within 30 seconds"
|
|
kill $APP_PID 2>/dev/null || true
|
|
exit 1
|
|
timeout-minutes: 2
|