Skip to content

ci: harden supply chain and streamline Dependabot automation - #393

Merged
sergeyklay merged 3 commits into
mainfrom
chore/update-ci-workflows
Jun 3, 2026
Merged

ci: harden supply chain and streamline Dependabot automation#393
sergeyklay merged 3 commits into
mainfrom
chore/update-ci-workflows

Conversation

@sergeyklay

Copy link
Copy Markdown
Owner

🎯 Scope & Context

Type: Chore

Intent: Harden the CI supply chain by pinning all third-party GitHub Actions to immutable SHA digests, and reduce maintenance overhead by replacing two large inline Dependabot automation jobs with calls to shared reusable workflows. Dependabot configuration is also tightened: weekly batched updates replace noisy daily PRs.

Related Issues: #none

🧭 Reviewer Guide

Complexity: Medium

Entry Point

.github/workflows/dependabot-merge.yml and .github/workflows/dependabot-rebase-sweep.yml are the most significant changes: ~400 lines of inline shell scripting are replaced by two-line uses: references to sortie-ai/shared-workflows, pinned to d7d3eee (v1.0.0). The deleted .github/actions/dependabot-rebase/action.yml was the local composite action consumed by both workflows and is no longer needed.

Sensitive Areas

  • .github/CODEOWNERS: Ownership rules now distinguish between bot-approvable files (npm lockfiles, workflow files) and human-only sensitive config (dependabot.yml, CODEOWNERS itself). Verify the patterns match the intended review requirements.
  • .github/dependabot.yml: The open PR limit drops from 20 to 10 and minor/patch npm updates are now batched into a single grouped PR. Confirm this grouping strategy is acceptable before merging.

⚠️ Risk Assessment

  • Breaking Changes: No breaking changes. The rebase-sweep cron changes from every-6-hours to every-hour, which increases frequency but is cancellable via the added concurrency guard.
  • Migrations/State: No migrations or state changes. Any currently open Dependabot PRs will continue to work; future ones will use the new shared workflow logic.

Replace mutable version tags (e.g. @v6) with immutable SHA digests
for actions/checkout, actions/setup-node, actions/upload-artifact,
github/codeql-action, and peaceiris/actions-hugo across all
workflow files to improve supply-chain security.
Replace the inline dependabot-merge and dependabot-rebase-sweep
job implementations with calls to sortie-ai/shared-workflows,
pinned to an immutable SHA. Adds concurrency guard to the
rebase-sweep workflow and updates its cron schedule from every
6 hours to every hour.
Update dependabot.yml to switch from daily to weekly (Tuesday)
updates, lower the open PR limit from 20 to 10, add labels for
dependency type, group all minor/patch updates into a single PR,
and align commit-message prefix format with Conventional Commits.

Expand CODEOWNERS to assign granular ownership: npm lock files
to cicdbot, workflow files to cicdbot + human reviewers, and
sensitive CI config (dependabot.yml, CODEOWNERS) to humans only.
Add serghei-dev as co-owner alongside sergeyklay.
Copilot AI review requested due to automatic review settings June 3, 2026 21:09
@sergeyklay
sergeyklay requested a review from cicdbot as a code owner June 3, 2026 21:09
@netlify

netlify Bot commented Jun 3, 2026

Copy link
Copy Markdown

Deploy Preview for gohugo-theme-ed ready!

Name Link
🔨 Latest commit 899066d
🔍 Latest deploy log https://app.netlify.com/projects/gohugo-theme-ed/deploys/6a2097fd6afafd0008b2db9e
😎 Deploy Preview https://deploy-preview-393--gohugo-theme-ed.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

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

This PR hardens CI supply-chain security by pinning GitHub Actions to immutable commit SHAs and streamlines Dependabot automation by replacing large inline workflows (and a local composite action) with pinned calls to shared reusable workflows. It also reduces Dependabot noise by switching to weekly, grouped updates with a lower open-PR cap.

Changes:

  • Pin third-party GitHub Actions in existing workflows to specific SHA digests.
  • Replace inline Dependabot merge + rebase-sweep logic with reusable workflows from sortie-ai/shared-workflows (pinned to d7d3eee…), and remove the now-unused local composite action.
  • Tighten Dependabot settings (weekly cadence, grouped npm minor/patch updates, reduced PR limits, standardized commit-message prefixes/scopes).

Reviewed changes

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

Show a summary per file
File Description
.github/workflows/playwright.yml Pins checkout/setup-node/hugo/upload-artifact actions to SHAs.
.github/workflows/cs.yml Pins checkout/setup-node actions to SHAs.
.github/workflows/codeql-analysis.yml Pins checkout/codeql/hugo/setup-node actions to SHAs.
.github/workflows/dependabot-rebase-sweep.yml Switches to hourly schedule + concurrency guard; delegates to shared reusable workflow.
.github/workflows/dependabot-merge.yml Delegates Dependabot automerge to shared reusable workflow (but job gating needs correction).
.github/dependabot.yml Moves to weekly cadence, adds grouping, lowers open PR limits, standardizes commit messages/labels.
.github/CODEOWNERS Refines ownership rules to separate bot-approvable vs human-only sensitive CI config.
.github/actions/dependabot-rebase/action.yml Deletes the local composite action replaced by shared reusable workflows.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .github/workflows/dependabot-merge.yml
@sergeyklay
sergeyklay merged commit a08ed3c into main Jun 3, 2026
13 checks passed
@sergeyklay
sergeyklay deleted the chore/update-ci-workflows branch June 3, 2026 21:32
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