mirror of
https://github.com/dograh-hq/dograh.git
synced 2026-07-01 08:59:46 +02:00
feat: add logs in campaigns for failure or pausing (#265)
* feat: add logs in campaigns on failure * chore: bump pipecat * chore: update format.sh * chore: fix github workflow * fix: fix formatting errors
This commit is contained in:
parent
abfb678b4d
commit
d4b6afb020
77 changed files with 1001 additions and 245 deletions
102
.github/workflows/pre-pr-drift-check.yml
vendored
Normal file
102
.github/workflows/pre-pr-drift-check.yml
vendored
Normal file
|
|
@ -0,0 +1,102 @@
|
|||
name: Pre-PR drift check
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
branches: [main]
|
||||
paths:
|
||||
- 'api/**'
|
||||
- 'ui/**'
|
||||
- 'pipecat/**'
|
||||
- 'scripts/dump_docs_openapi.py'
|
||||
- 'scripts/format.sh'
|
||||
- 'docs/api-reference/openapi.json'
|
||||
- '.github/workflows/pre-pr-drift-check.yml'
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
drift-check:
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 25
|
||||
steps:
|
||||
- name: Checkout repo (with pipecat submodule)
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
- name: Set up Python 3.12
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: '3.12'
|
||||
cache: pip
|
||||
cache-dependency-path: |
|
||||
api/requirements.txt
|
||||
api/requirements.dev.txt
|
||||
pipecat/pyproject.toml
|
||||
|
||||
- name: Set up Node 22
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: '22'
|
||||
cache: npm
|
||||
cache-dependency-path: ui/package-lock.json
|
||||
|
||||
- name: Install api dependencies
|
||||
run: |
|
||||
pip install -r api/requirements.txt
|
||||
pip install -r api/requirements.dev.txt
|
||||
pip install './pipecat[cartesia,deepgram,openai,elevenlabs,groq,google,azure,sarvam,soundfile,silero,webrtc,speechmatics,openrouter,camb]'
|
||||
|
||||
- name: Install ui dependencies
|
||||
working-directory: ui
|
||||
run: npm ci
|
||||
|
||||
- name: Run scripts/format.sh
|
||||
run: ./scripts/format.sh
|
||||
|
||||
- name: Check for Python format/lint drift
|
||||
run: |
|
||||
if ! git diff --exit-code api; then
|
||||
echo "::error::Python files are not formatted. Run './scripts/format.sh' locally and commit the result before raising the PR."
|
||||
exit 1
|
||||
fi
|
||||
echo "Python format/lint is clean."
|
||||
|
||||
- name: Check for UI lint drift
|
||||
run: |
|
||||
if ! git diff --exit-code ui; then
|
||||
echo "::error::UI files have outstanding lint fixes. Run 'npm run fix-lint' inside ui/ locally and commit the result before raising the PR."
|
||||
exit 1
|
||||
fi
|
||||
echo "UI lint is clean."
|
||||
|
||||
- name: Dump OpenAPI spec
|
||||
env:
|
||||
DATABASE_URL: postgresql+asyncpg://dummy:dummy@localhost/dummy
|
||||
REDIS_URL: redis://localhost:6379/0
|
||||
ENABLE_AWS_S3: "false"
|
||||
MINIO_PUBLIC_ENDPOINT: http://localhost:9000
|
||||
DEPLOYMENT_MODE: oss
|
||||
run: python -u -m scripts.dump_docs_openapi
|
||||
|
||||
- name: Check for OpenAPI drift
|
||||
run: |
|
||||
if ! git diff --exit-code docs/api-reference/openapi.json; then
|
||||
echo "::error::docs/api-reference/openapi.json is out of sync with the FastAPI app."
|
||||
echo "Run 'python -m scripts.dump_docs_openapi' locally (with api/.env sourced) and commit the result."
|
||||
exit 1
|
||||
fi
|
||||
echo "OpenAPI spec is in sync."
|
||||
|
||||
- name: Send Slack notification - Failure
|
||||
if: failure()
|
||||
uses: slackapi/slack-github-action@v1.26.0
|
||||
env:
|
||||
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
|
||||
with:
|
||||
payload: |
|
||||
{
|
||||
"text": "❌ Dograh pre-PR drift check failed on ${{ github.ref_name }} by ${{ github.actor }} - <${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}|View Logs>"
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue