Skip to content

feat: shared scan baseline as a reusable workflow - #3

Merged
altaywtf merged 1 commit into
mainfrom
feat/shared-scan-workflow
Aug 18, 2026
Merged

feat: shared scan baseline as a reusable workflow#3
altaywtf merged 1 commit into
mainfrom
feat/shared-scan-workflow

Conversation

@altaywtf

Copy link
Copy Markdown
Member

Problem

The scan baseline (gitleaks, trufflehog, actionlint, zizmor) exists as copied workflow files in design and skillcheck, partially in a few repos, and not at all in most; every version or digest bump costs one commit per repo.

Solution

One workflow_call workflow here carries all four jobs, every image digest-pinned (a version tag is mutable, and each container gets the whole repository). Repositories add a ~10-line caller:

jobs:
  scan:
    uses: uinaf/.github/.github/workflows/scan.yml@main

Rollout lands per repo after a pilot proves the call path. Decides the open call on ffsstack#53.

🤖 Generated with Claude Code

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Copilot AI lite review requested due to automatic review settings August 18, 2026 03:06
@altaywtf
altaywtf merged commit eabf862 into main Aug 18, 2026
1 check passed
@altaywtf
altaywtf deleted the feat/shared-scan-workflow branch August 18, 2026 03:07

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Introduces a reusable GitHub Actions workflow (workflow_call) that centralizes the organization’s “scan baseline” (gitleaks, trufflehog, actionlint, zizmor) so downstream repositories can invoke a single maintained workflow instead of copying multiple files.

Changes:

  • Adds a reusable Scan workflow callable via workflow_call.
  • Implements four scan/lint jobs using digest-pinned container images.
  • Standardizes checkout behavior (pinned actions/checkout, persist-credentials: false, full history where required).
Suppressed comments (1)

.github/workflows/scan.yml:79

  • The zizmor container is currently given write access to the checked-out repository. Since this job only audits the workflow files, prefer a read-only bind mount to prevent accidental or malicious modifications to the workspace.
          docker run --rm -e GH_TOKEN -v "$PWD:/repo" \
            ghcr.io/zizmorcore/zizmor@sha256:863026d54f91271b10b60b67ad8054cb37120167e162482597db102b3026a284 \
            /repo # 1.29.0

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment on lines +58 to +60
docker run --rm -v "$PWD:/repo" --workdir /repo \
rhysd/actionlint@sha256:b1934ee5f1c509618f2508e6eb47ee0d3520686341fec936f3b79331f9315667 \
-color # 1.7.12
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