Skip to content

feat: composite actions (privacy-scan, komodo-deploy) for step-level reuse#14

Merged
roleme merged 1 commit into
mainfrom
feat/composite-actions
Jun 25, 2026
Merged

feat: composite actions (privacy-scan, komodo-deploy) for step-level reuse#14
roleme merged 1 commit into
mainfrom
feat/composite-actions

Conversation

@roleme

@roleme roleme commented Jun 25, 2026

Copy link
Copy Markdown
Owner

What & why

Per the agreed architecture — composite actions for step-level reuse, reusable workflows for job-level — this adds composite actions for the pieces that compose inside an existing job:

  • privacy-scan/ — composite action wrapping the scan script. Use as a step at the end of any job: uses: roleme/workflows/privacy-scan@<sha> (with extra-patterns for private hostnames). No separate job / runner needed.
  • komodo-deploy/ — composite action for the HMAC-signed Komodo deploy webhook, extracted from docker-publish-reusable.yml. No host hardcoded (public repo); caller passes host / stack / webhook-secret.

Single source of truth

The scan script moved scripts/privacy-scan.shprivacy-scan/privacy-scan.sh so the composite action is self-contained. The privacy-scan reusable workflow and .pre-commit-hooks.yaml now point at that one path — so the composite action, the reusable workflow, and the local pre-commit hook all run the exact same script.

Why docker-publish-reusable.yml still inlines the deploy

uses: cannot take an expression ref, so a reusable workflow can't pin an action to its own commit (@${{ github.workflow_sha }} is invalid). Pinning to @main would be a mutable ref. The inline step is already secure, so it stays; komodo-deploy is for new step-level callers.

Validation

  • shellcheck clean; zizmor no findings (incl. both action.yml); privacy-scan clean on this repo; all YAML parses.

🤖 Generated with Claude Code

Step-level reuse for the pieces that compose inside an existing job, alongside
the job-level reusable workflows:

- privacy-scan/ — composite action wrapping the scan script (moved from
  scripts/ to privacy-scan/ so the action is self-contained). Drop it in as a
  step: `uses: roleme/workflows/privacy-scan@<sha>`.
- komodo-deploy/ — composite action for the HMAC-signed Komodo deploy webhook,
  extracted from docker-publish-reusable.yml. No host hardcoded (public repo);
  caller supplies host/stack/secret as inputs.

The privacy-scan reusable workflow and .pre-commit-hooks.yaml now point at the
new privacy-scan/privacy-scan.sh path (single source of truth, shared by the
composite action, the reusable workflow, and the local pre-commit hook).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@roleme roleme merged commit fe2bcde into main Jun 25, 2026
1 check passed
@roleme roleme deleted the feat/composite-actions branch June 25, 2026 16:52
@roleme roleme mentioned this pull request Jun 26, 2026
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.

1 participant