Skip to content

The Silent Guardian: A Zero-Touch workflow that validates Dependabot updates via build tests, auto-closes failing PRs (Self-Healing), and batches secure updates silently. Stop notification fatigue

License

Notifications You must be signed in to change notification settings

EthanThePhoenix38/dependabot-secure-flow

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

164 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

DependabotSecureFlow Banner

Use this template GitHub Marketplace Build Status Dependabot YAML Tests MIT License GitHub release Security RGPD

Automated dependency management with security-first batch processing

GitHub Marketplace License: MIT

🎯 Overview

Dependabot Secure Flow is a GitHub Action that automatically manages dependency updates through a secure, batched workflow. Instead of merging Dependabot PRs directly to main, this action:

  1. βœ… Auto-merges Dependabot PRs into a securite branch
  2. πŸ§ͺ Validates builds and tests
  3. πŸ“¦ Batches multiple updates together
  4. πŸ“ Auto-generates changelog entries
  5. πŸš€ Creates a single PR to main for review

πŸš€ Features

  • Security-First: All updates are validated before reaching main
  • Batch Processing: Multiple dependency updates are grouped together
  • Auto-Correction: Failed builds automatically close problematic PRs
  • Changelog Automation: Automatic timestamp and changelog updates
  • Zero Configuration: Works out of the box with sensible defaults

πŸ“¦ Installation

1. Add the workflow to your repository

Create .github/workflows/dependabot-secure-flow.yml:

name: Dependabot Secure Flow

on:
  pull_request:
    types: [opened, synchronize]
    paths:
      - 'package.json'
      - 'package-lock.json'
  workflow_dispatch:

permissions:
  contents: write
  pull-requests: write
  issues: write

jobs:
  auto-merge-to-securite:
    uses: EthanThePhoenix38/dependabot-secure-flow/.github/workflows/dependabot-secure-flow.yml@main
    secrets: inherit

2. Configure Dependabot

Create .github/dependabot.yml:

version: 2
updates:
  - package-ecosystem: "npm"
    directory: "/"
    schedule:
      interval: "daily"
    open-pull-requests-limit: 10

3. Add required scripts to package.json

{
  "scripts": {
    "build": "echo 'Build step' && exit 0",
    "test": "echo 'Test step' && exit 0"
  }
}

πŸ”§ How It Works

graph LR
    A[Dependabot PR] --> B{Build Valid?}
    B -->|Yes| C[Merge to securite]
    B -->|No| D[Close PR]
    C --> E[Batch with others]
    E --> F[Create PR to main]
    F --> G[Manual Review]
    G --> H[Merge to main]
Loading
  1. Dependabot creates a PR with dependency updates
  2. Workflow validates the build (npm install && npm run build)
  3. Auto-merge to securite if validation passes
  4. Close PR if validation fails (with label skipped-vulnerability)
  5. Batch updates accumulate in the securite branch
  6. Create PR to main for final review
  7. Update documentation (README timestamp, CHANGELOG)

πŸ“‹ Requirements

  • Node.js project with package.json
  • npm run build script (can be a no-op: echo 'No build')
  • GitHub repository with Dependabot enabled

βš™οΈ Configuration

Optional: Customize the workflow

You can override default behavior by modifying the workflow file:

jobs:
  check-interdependencies:
    steps:
      - name: Auto-Correction & Validation
        run: |
          npm install --prefer-offline --no-audit
          npm run build
          npm test  # Add your test command

Branch Strategy

  • main: Production-ready code
  • securite: Staging area for dependency updates
  • dependabot/*: Temporary branches (auto-deleted after merge)

πŸ›‘οΈ Security

This action follows security best practices:

  • βœ… No external dependencies (uses only GitHub Actions)
  • βœ… Validates all updates before merging
  • βœ… Auto-closes PRs that fail validation
  • βœ… Requires manual review before reaching main

πŸ“Š Example Output

When the workflow runs successfully:

βœ… Merged into securite branch for batch processing.
πŸ“ Updated CHANGELOG.md with timestamp
πŸŽ‰ Created PR #42: chore: dependency updates batch

Configuration Options

Input Description Required Default
github-token Token to manage PRs (GITHUB_TOKEN) Yes N/A
node-version Node versions to use No 20
test-command Command to run for validation No npm install && npm run build

🀝 Contributing

Contributions are welcome! This action is maintained in the AI-Pulse repository and automatically synced here.

πŸ“„ License

MIT License - see LICENSE for details

πŸ”— Links


Support This Project

If this action helps secure your projects, support the development:

GitHub Sponsors Patreon PayPal Ko-fi

Support via Patreon

Your support helps fund the server and AI development! In exchange, I will add a link to your GitHub profile in the Contributors section.

You can also :

  • ⭐ Star this repository
  • πŸ› Report issues to help improve it
  • πŸ”€ Fork it to customize for your needs
  • πŸ› Report issues to help improve it

Professional Page

https://thephoenixagency.github.io


Made with ❀️ by ThePhoenixAgency

About

The Silent Guardian: A Zero-Touch workflow that validates Dependabot updates via build tests, auto-closes failing PRs (Self-Healing), and batches secure updates silently. Stop notification fatigue

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages