Skip to content

fix(ci): replace private actions with inline equivalents, add failure notifications#149

Merged
benminer merged 2 commits into
mainfrom
feature/fix-drift-action-refs
Apr 14, 2026
Merged

fix(ci): replace private actions with inline equivalents, add failure notifications#149
benminer merged 2 commits into
mainfrom
feature/fix-drift-action-refs

Conversation

@benminer
Copy link
Copy Markdown
Collaborator

@benminer benminer commented Apr 14, 2026

Summary

  • Root cause: scope3data/actions is a private repo, but agentic-client is public — GitHub blocks public repos from using actions defined in private repos, causing "Unable to resolve action" failures in drift-detection and regenerate-schemas workflows
  • Replaced scope3data/actions/node/install with actions/setup-node@v6 + npm ci in both workflows
  • Replaced scope3data/actions/slack/post with a new local composite action at .github/actions/slack-post/action.yml that wraps the Slack chat.postMessage API
  • Added failure notifications (if: failure()) to drift-detection, regenerate-schemas, and release workflows — all post to #agentic-service-alerts

Composite action details

The slack-post action takes channel, header, and content (Block Kit JSON array) as inputs, with SLACK_TOKEN passed via env. It automatically prepends a header block and repo context, appends a timestamp footer, validates the content is a JSON array, and checks the Slack API response for errors. All inputs are passed through env vars to avoid shell injection.

Test plan

  • Trigger drift-detection via workflow_dispatch — should resolve actions and run successfully
  • If drift is detected, verify Slack notification posts to #agentic-service-alerts with correct formatting
  • Trigger regenerate-schemas via workflow_dispatch to verify node setup and Slack notification
  • Verify failure notifications work (temporarily inject exit 1 before the failure handler, or check next natural failure)

@benminer benminer requested a review from a team April 14, 2026 15:51
@benminer benminer force-pushed the feature/fix-drift-action-refs branch from 01a8ce4 to 4f1ca51 Compare April 14, 2026 15:52
@benminer benminer force-pushed the feature/fix-drift-action-refs branch from 4f1ca51 to d3bf6b6 Compare April 14, 2026 16:11
@benminer benminer changed the title fix(ci): replace private scope3data/actions with inline equivalents fix(ci): replace private actions with inline equivalents, add failure notifications Apr 14, 2026
The scope3data/actions repo is private but agentic-client is public.
GitHub blocks public repos from using actions in private repos, causing
"Unable to resolve action" failures in drift-detection and
regenerate-schemas workflows.

Replace scope3data/actions/node/install with actions/setup-node + npm ci.
Replace scope3data/actions/slack/post with inline jq + curl to Slack API.
…ations

Extract duplicated Slack posting logic into a local composite action at
.github/actions/slack-post. Add failure notification steps to
drift-detection, regenerate-schemas, and release workflows so failures
are no longer silent.
@benminer benminer force-pushed the feature/fix-drift-action-refs branch from d3bf6b6 to a912f0f Compare April 14, 2026 16:12
@benminer benminer merged commit 631d3de into main Apr 14, 2026
6 checks passed
@benminer benminer deleted the feature/fix-drift-action-refs branch April 14, 2026 16:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants