All notable changes to this project are documented here. The format follows Keep a Changelog and this project adheres to Semantic Versioning.
- Auto-capture a
repositorytag fromGITHUB_REPOSITORYwhen set, sanitized to fit the API's tag-value rule (/→_). Users can override by settingrepository:explicitly in thetagsinput. - New post-deploy dataset readiness check: poll
GET /v1/datasets?status=trueuntil every dataset leavesinitializing, fail immediately onerror. Configured viadataset-ready-timeout-seconds(default300, set to0to skip). Dataset states are surfaced as adatasetsaction output and as a table in the GitHub job step summary.
parseTagsnow validates tag values against the Spice Cloud API rule (alphanumeric plus_@-). Previously the action only enforced length, so values likerepo: foo/barwould round-trip to the API and fail there with a generic 400.- Bump the action runtime from Node 20 to Node 24 (
runs.using: node24). Node 20 actions are deprecated by GitHub and will be force-defaulted to Node 24 on June 2, 2026, with Node 20 removed from the runner on September 16, 2026. The build target, CI matrix,engines.node, and.nvmrcare aligned to Node 24.
- The Spice Cloud
GET /v1/apps/{appId}/api-keysresponse is{ api_key, api_key_2 }, but the action was reading{ primary, secondary }and bailing withCannot run runtime probes: no API key returned for app …whenever runtime probes were enabled. Smoke tests now correctly retrieve the primary (or secondary) key. - Suppress the
(node:NNNN) [DEP0040] DeprecationWarning: The 'punycode' module is deprecatedruntime warning by aliasing the barepunycodespecifier to the userlandpunycode@2package at bundle time. The transitive chain@spiceai/spice → node-fetch@2 → whatwg-url@5 → tr46@0.0.3previously resolved to Node's deprecated built-in.
- Initial release of the Spice Cloud Deploy Action.
- OAuth 2.0 client credentials authentication against the Spice Cloud Management API.
- Resolve apps by
app-idorapp-name, with optionalcreate-app-if-missingflow. - App tag merging via
tagsinput — accepts a YAML block mapping (recommended) or JSON object. - Optional Spicepod manifest push from
spicepod.yamlbefore deploy. - Bulk app secret upsert from a multi-line
secretsinput (values masked in logs). - Deployment trigger with
branch/commit_sha/commit_messageauto-populated from the GitHub event. - Optional polling until the deployment reaches a terminal status.
- Post-deploy smoke tests using the
@spiceai/spiceSDK (SQL viasqlJson, NSQL viansql, ready check viaisSpiceReady) plus raw HTTP probes for/v1/chat/completions,/v1/search, and/v1/mcp. - Region-aware runtime URL derivation (
https://<region>-prod-aws-data.spiceai.io) andruntime-urloverride. - GitHub job step summary with deployment metadata and a per-probe pass/fail table.
- Cross-platform support (
ubuntu-latest,macos-latest,windows-latestNode 20 action).