@main because the action API may change between releases.
Inputs
Path to the directory containing
config.yaml, relative to the repository root.Baseten API key. Store this as an encrypted secret. Never hardcode it in your workflow file.
Promote the deployment to production after validation. Set to
true for merge-to-main workflows where you want the new deployment to serve production traffic immediately.Deactivate the deployment after validation. Set to
false when using promote: true or when you want the deployment to remain active for manual inspection.JSON override for the predict request payload. If empty, the action reads
model_metadata.example_model_input from config.yaml. If neither is set, the predict step is skipped entirely and the deployment isn’t validated.Maximum seconds to wait for the deployment to become active. The default (2700s / 45 minutes) accommodates large model builds like TRT-LLM. Reduce this for smaller models to fail faster.
Timeout in seconds for the predict request.
Outputs
Baseten deployment ID. Use this to reference the deployment in downstream steps or API calls.
Baseten model ID.
Model name read from
config.yaml.Wall-clock seconds from push to active. Useful for tracking build performance over time.
Response body from the predict call, truncated to 4 KB.
Final status of the action run. One of:
success, deploy_failed, deploy_timeout, predict_failed, cleanup_failed.Status codes
| Status | Description |
|---|---|
success | Deployment active, predict passed (if payload configured), cleanup completed. |
deploy_failed | truss push or image build failed. Check config.yaml syntax and API key. Build logs appear in collapsible sections in the GitHub Actions output. |
deploy_timeout | Deployment didn’t become active within deploy-timeout seconds. Increase the timeout for large models. |
predict_failed | Predict request returned an error or timed out. Verify the payload shape matches what the model expects. |
cleanup_failed | Deployment deactivation failed. The deployment may still be running. Deactivate it manually from the dashboard. |
Deployment naming
The action generates deployment names from Git context:- Pull requests:
PR-{number}_{short_sha}(for example,PR-42_abc1234). - Direct pushes:
{short_sha}(for example,abc1234).
Permissions
The action requires onlycontents: read permission. No additional GitHub token permissions are needed.