Skip to content

ci: add shared security scanning workflow - #664

Merged
dbarker merged 9 commits into
open-telemetry:mainfrom
opentelemetrybot:zizmor-rollout/cpp-tools-20260820
Aug 24, 2026
Merged

ci: add shared security scanning workflow#664
dbarker merged 9 commits into
open-telemetry:mainfrom
opentelemetrybot:zizmor-rollout/cpp-tools-20260820

Conversation

@opentelemetrybot

Copy link
Copy Markdown
Contributor

Tracked in open-telemetry/sig-security#293.

Adds zizmor scanning through the OpenTelemetry shared workflow.

The workflow:

  • runs the regular persona on pull requests, pushes to main, and a randomized weekly schedule;
  • uploads results to GitHub code scanning;
  • uses the shared workflow pinned to an immutable commit.

After merge

  1. Confirm the Zizmor workflow succeeds on the merged default-branch commit and its code-scanning analysis has no findings.
  2. Mark the corresponding admin PR ready for review and merge it to require zizmor code scanning.
  3. On the next repository pull request, confirm GitHub reports a required zizmor code-scanning result.

If enforcement unexpectedly blocks a valid change, restore require_zizmor = false in open-telemetry/admin while leaving scanning enabled.

Add persist-credentials: false to checkout steps, pin actions to commit SHAs,
correct stale version comments, set Dependabot cooldown, and reference env
values as shell variables instead of expanding them into run blocks.
@github-advanced-security

Copy link
Copy Markdown

You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool.

What Enabling Code Scanning Means:

  • The 'Security' tab will display more code scanning analysis results (e.g., for the default branch).
  • Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results.
  • You will be able to see the analysis results for the pull request's branch on this overview once the scans have completed and the checks have passed.

For more information about GitHub Code Scanning, check out the documentation.

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

Adds Zizmor GitHub Actions workflow scanning via the OpenTelemetry shared reusable workflow, and hardens existing GitHub Actions workflows by pinning actions to immutable SHAs and reducing token persistence.

Changes:

  • Add .github/workflows/zizmor.yml to run Zizmor (regular persona by default) and upload SARIF results to GitHub code scanning.
  • Pin multiple GitHub Actions dependencies to commit SHAs and set persist-credentials: false for checkouts across workflows.
  • Add a Dependabot GitHub Actions update cooldown to reduce churn from newly released versions.

Reviewed changes

Copilot reviewed 16 out of 16 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
.github/workflows/zizmor.yml New reusable-workflow caller to run Zizmor and upload SARIF to code scanning.
.github/workflows/webserver.yml Pin actions to SHAs, add persist-credentials: false.
.github/workflows/user_events.yml Pin checkout to SHA and disable credential persistence for both checkouts.
.github/workflows/spdlog.yml Pin checkout to SHA and disable credential persistence for both checkouts.
.github/workflows/prometheus.yml Pin checkout/cache actions to SHAs and disable credential persistence.
.github/workflows/ossf-scorecard.yml Align pinned action version comments and keep checkout non-persistent.
.github/workflows/nginx.yml Pin actions to SHAs, add Zizmor ignore annotations, disable credential persistence.
.github/workflows/log4cxx.yml Pin checkout to SHA and disable credential persistence for all checkouts.
.github/workflows/httpd.yml Pin checkout/upload-artifact to SHAs and disable credential persistence.
.github/workflows/glog.yml Pin checkout to SHA and disable credential persistence for all checkouts.
.github/workflows/geneva_trace.yml Pin checkout to SHA and disable credential persistence.
.github/workflows/geneva_metrics.yml Pin checkout to SHA and disable credential persistence for both checkouts.
.github/workflows/fossa.yml Align pinned checkout version comment and disable credential persistence.
.github/workflows/fluentd.yml Pin checkout to SHA and disable credential persistence for both checkouts.
.github/workflows/boost_log.yml Pin checkout to SHA and disable credential persistence for both checkouts.
.github/dependabot.yml Add Dependabot cooldown to delay version-update PR creation.

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

Comment thread .github/workflows/geneva_trace.yml
@opentelemetrybot
opentelemetrybot marked this pull request as ready for review August 21, 2026 03:43
@opentelemetrybot
opentelemetrybot requested a review from a team as a code owner August 21, 2026 03:43
@thompson-tomo

thompson-tomo commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

Let's get #641 & #654 merged as well as the renovate ci pr's which will be raised, so that we have confirmation that the dependencies will be managed.

In relation to CI failures #633 will enable some of the checks to now pass.

…tools-20260820

# Conflicts:
#	.github/workflows/webserver.yml

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

Copilot reviewed 16 out of 16 changed files in this pull request and generated no new comments.

Suppressed comments (1)

.github/workflows/zizmor.yml:7

  • pull_request trigger is missing a branches filter. In this repo, other workflows consistently scope PR triggers to the main base branch (e.g., .github/workflows/nginx.yml:12-16, .github/workflows/prometheus.yml:9-13). Without the filter, this will run on PRs targeting any branch, which may be unintended and increases CI/code-scanning noise.
on:
  push:
    branches: [main]
  pull_request:
  schedule:

Comment thread .github/workflows/webserver.yml

@dbarker dbarker left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I've disabled all the broken workflow jobs to unblock this PR. Follow up investigations needed to enable the broken workflows.

@dbarker
dbarker merged commit 15dc7fc into open-telemetry:main Aug 24, 2026
25 checks passed
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.

6 participants