| name | dsg-github-marketplace-action-controller |
| description | Use this skill when creating, packaging, validating, publishing, or maintaining DSG GitHub Marketplace Actions. It turns DSG control-plane, action-layer permission gates, deterministic GO/NO-GO valida |
DSG GitHub Marketplace Action Controller
This skill controls the packaging path from DSG product logic into a GitHub Marketplace Action.
Core product target
Primary action:
Product promise:
- Block unsafe production deployments.
- Validate readiness and protected route behavior.
- Emit deterministic
GO / NO-GO output.
- Produce an evidence hash for audit/proof workflows.
- Keep the GitHub Action small, portable, and marketplace-ready.
Marketplace rule
Do not publish the full SaaS control-plane repo as the Marketplace Action.
Use one of these layouts:
- Preferred: separate public repository:
tdealer01-crypto/dsg-secure-deploy-gate-action
action.yml at repository root
scripts/dsg-gate.sh
README.md
- release tag
v1.0.0 then stable major tag v1
- Bootstrap from this control-plane repo:
- source scaffold lives at
marketplace-actions/dsg-secure-deploy-gate-action/
- copy that folder into a fresh public action repo before publishing
Allowed action scope
The v1 action may check only:
- readiness endpoint HTTP status
- optional JSON
ok: true
- optional protected route returning expected
401 or 403
- deterministic evidence file hash
- GitHub Actions step summary
The v1 action must not:
- store secrets
- call arbitrary shell commands
- deploy directly to production
- mutate databases
- run migrations
- publish releases automatically
- print sensitive tokens
Inputs
Required:
Optional:
expected_status default 200
require_json_ok default true
protected_url default empty
protected_expected default 401,403
Outputs
verdict: GO or NO-GO
readiness_status: HTTP status from readiness endpoint
evidence_hash: SHA256 hash of the evidence payload
Deterministic gate behavior
- Fetch readiness URL.
- Compare returned HTTP status with expected status.
- If required, verify body contains JSON
ok: true.
- If protected URL is supplied, verify it returns one of the expected unauthenticated statuses.
- Write a stable evidence JSON object.
- Hash evidence JSON with SHA256.
- Emit outputs and GitHub step summary.
- Exit non-zero on
NO-GO.
Release path
- Create or update the action scaffold.
- Validate locally with shellcheck where available.
- Copy scaffold to a dedicated public action repo.
- Commit files.
- Tag
v1.0.0.
- Create or update moving tag
v1.
- Draft GitHub release.
- Enable
Publish this Action to the GitHub Marketplace.
- Category:
Continuous integration or Deployment.
- Publish after final README check.
Output format
## What I changed
[summary]
## Files
[paths]
## Validation
[commands or checks]
## Marketplace status
[not ready / ready to copy / ready to release / published]
## GO/NO-GO
[current verdict]