Coolify
Run Smoketest after Coolify deployment notifications or CI-driven Coolify deploys.
Coolify can deploy from Git integrations, GitHub Actions, and deploy webhooks. Smoketest can be called either from Coolify notifications for basic testing or from your CI deploy test for full metadata.
Basic mode: Coolify notification webhook
Use this when your Smoketest test already points at the deployed Coolify URL.
- Create a deployment webhook in Smoketest.
- In Coolify, open notification settings.
- Add a webhook notification for successful application deployments.
- Paste the Smoketest trigger URL.
Coolify sends its own deployment payload. Smoketest ignores unknown fields and queues the configured target. This is enough for fixed production URLs.
Full metadata mode: GitHub Actions
Use this when the deployment URL or commit metadata should be explicit.
name: Deploy with Coolify and run Smoketest
on:
push:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Trigger Coolify deploy
run: curl -fsS "$COOLIFY_DEPLOY_WEBHOOK_URL"
env:
COOLIFY_DEPLOY_WEBHOOK_URL: ${{ secrets.COOLIFY_DEPLOY_WEBHOOK_URL }}
- name: Wait for deployed app
run: ./scripts/wait-for-url.sh "$DEPLOYMENT_URL"
env:
DEPLOYMENT_URL: https://app.example.com
- name: Trigger Smoketest
run: |
curl -sf -X POST -G "$SMOKETEST_DEPLOYMENT_WEBHOOK_URL" \
-H "Idempotency-Key: ${{ github.run_id }}-${{ github.run_attempt }}" \
--data-urlencode "targetUrl=$DEPLOYMENT_URL" \
--data-urlencode "commitSha=${{ github.sha }}" \
--data-urlencode "branch=${{ github.ref_name }}" \
--data-urlencode "externalId=${{ github.run_id }}-${{ github.run_attempt }}"
env:
SMOKETEST_DEPLOYMENT_WEBHOOK_URL: ${{ secrets.SMOKETEST_DEPLOYMENT_WEBHOOK_URL }}
DEPLOYMENT_URL: https://app.example.comGitHub checks
To publish a Smoketest check on the deployed commit, bind the webhook to a mapped GitHub repository and send commitSha. Native Coolify notification payloads are not transformed by Smoketest in v1, so use the CI path for checks.