This action is GitHub only. For other CI/CD systems, call the API directly — see
CI/CD Overview.
Value
- Catch errors before merge. A broken attribute, metric, or YAML file fails the check
instead of reaching the
prodbranch. - No infrastructure. The action calls the GraphQL API directly. It has no dependencies and does not check out the repository.
- Zero configuration for detection. The workspace and branch are detected automatically from the Git branch name.
How it works
The action reloads the workspace from Git and then checks every object for validation errors:- Calls
reset_workspaceto reload the branch from its latest commit. - Checks the workspace itself for load errors (for example, a YAML parse error).
- Checks every object — entities and their fields, domains, dynamic datasets, global parameters, context items, and agents.
- Reports each error as a GitHub annotation and a job summary table, and fails the run (non-zero exit) if any errors are found.
The reload runs in the API key’s own session, not a user’s. It does not affect anyone
editing the workspace in Honeydew Studio, so the action is safe to run on active branches
and as a required status check.
<workspace>/<branch> — for example, branch q3-fixes
of workspace sales lives on the Git branch sales/q3-fixes. The action uses this
convention to decide what to validate:
Prerequisites
- Metadata in this repository — the workflow must live in the same GitHub repository that stores your Honeydew metadata, connected through the Git integration.
- Public GraphQL API enabled — it is not enabled by default. Contact support@honeydew.ai to enable it for your organization.
- API key and secret — create an API key. The Viewer role is sufficient.
- GitHub secrets — store the key and secret as repository secrets (for example,
HONEYDEW_API_KEYandHONEYDEW_API_SECRET).
Configure
1
Add the API key as GitHub secrets
In the repository, go to Settings > Secrets and variables > Actions and add:
HONEYDEW_API_KEY— the API key nameHONEYDEW_API_SECRET— the API key secret
2
Add the workflow file
Commit a workflow file to the repository that stores your semantic-layer metadata (see the
example below). The action runs on pull requests and reports any validation errors.
3
Require the check to pass before merging
In Settings > Branches, add a branch protection rule (or ruleset) for your default
branch that requires the validation status check to pass before merging. This is what
blocks broken changes from reaching
prod.Example workflow
This workflow validates the workspace changed by a pull request, on the pull request’s source branch, before it merges. It skips branches that are not Honeydew workspace branches, so unrelated pull requests (docs, infrastructure) are not blocked..github/workflows/validate-honeydew-workspaces.yml
Inputs
To validate a specific workspace and branch instead of relying on auto-detection:
What is validated
The action first confirms the workspace loads, then checks every object in it. If the workspace fails to load, the workspace-level errors are reported and the per-object checks are skipped.- Entities and their fields — datasets, dataset attributes, calculated attributes, and metrics
- Domains
- Dynamic Datasets (perspectives)
- Global parameters
- Context items
- Agents