name: CI on: push: branches: [main] pull_request: jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: python-version: "3.11" cache: pip - run: pip install -r requirements.txt - name: Backend-Import-Check run: | python -c "from app.main import app; print('OK', app.title, app.version)" - name: Frontend-Asset-Check run: | test -f app/static/index.html test -f app/static/css/style.css test -f app/static/js/app.js docker: runs-on: ubuntu-latest needs: test steps: - uses: actions/checkout@v4 - name: Docker-Build run: docker build -t watchstack:ci . - name: Smoke-Test run: | docker run -d --rm --name ws -p 8765:8000 watchstack:ci sleep 4 curl -fsS http://127.0.0.1:8765/api/health docker stop ws