Project

gem-ci

0.0
The project is in a healthy, maintained state
A showcase repository demonstrating advanced CI/CD workflows, automated testing, security scanning, community management, and comprehensive automation for Ruby gems.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
 Dependencies
 Project Readme

๐Ÿ† gem-ci

gem-ci Logo

The Ultimate Ruby Gem Automation Showcase

Battle-tested GitHub Actions workflows with comprehensive CI/CD, security, and community management

Ruby GitHub Actions License PRs Welcome

CI Status Security Quality Gate

โœจ What This Provides

9 comprehensive workflows for complete Ruby gem automation:

  • ๐Ÿ”„ CI/CD with consolidated PR dashboard
  • ๐Ÿ”’ Security scanning and vulnerability detection
  • ๐Ÿ“Š Quality enforcement and documentation
  • ๐Ÿš€ Releases with semantic versioning
  • ๐Ÿ‘ฅ Community management and engagement
  • ๐Ÿค– Bot commands for workflow control

๐Ÿš€ Quick Start

  1. Use this template to create your new repository
  2. Set up secrets following the Secrets Setup Guide
  3. Configure labels by running the label sync workflow
  4. Import rulesets from .github/config/rulesets/
  5. Test locally using our Local Testing Guide
  6. Start developing - automation handles the rest!

๐Ÿ” Required Setup

Secrets (Required)

Secret Purpose Required
APP_ID GitHub App ID for branded automation โœ… Yes
PRIVATE_KEY GitHub App private key โœ… Yes
SLACK_BOT_TOKEN Slack bot token for notifications โŒ Optional
SLACK_CHANNEL_ID Slack channel ID โŒ Optional
RUBYGEMS_API_KEY RubyGems publishing key โŒ Optional

Configuration Files

File Purpose Required
.github/config/labels.yml Label definitions and colors โœ… Yes
.github/config/labeler.yml Auto-labeling rules for PRs โœ… Yes
.github/dependabot.yml Dependency update configuration โœ… Yes
.github/CODEOWNERS Code ownership and review assignments โœ… Yes
.github/config/codeql.yml CodeQL analysis configuration โœ… Yes
.github/config/release-please-config.json Release configuration โœ… Yes
.github/config/release-please-manifest.json Release manifest โœ… Yes
.github/config/rulesets/*.json Repository protection rules โŒ Optional

Bot Commands

Available interactive commands (comment on issues/PRs)
Command Description Example
/gem-ci help Show available commands /gem-ci help
/gem-ci revise release [from] to [to] Change release type /gem-ci revise release minor to patch
/gem-ci cancel release Cancel current release PR /gem-ci cancel release

Usage: Comment these commands on any issue or PR to trigger bot actions.

๐Ÿ“š Documentation

Complete documentation is available on our Documentation Site including:

  • ๐Ÿš€ Getting Started: Setup guides, secrets configuration, and local testing
  • ๐Ÿ“Š Workflows: Complete workflow documentation and architecture overview
  • ๐ŸŽฏ Advanced Features: Customization, integrations, and bot commands
  • โœ… Validation: Testing and troubleshooting guides

๐Ÿงช Quick Local Testing

# Setup (one time)
cp .secrets.example .secrets && nano .secrets

# Test workflows locally
./scripts/test-local              # Test push workflows
./scripts/test-local ci           # Test CI workflow  
./scripts/test-workflows          # Run validation tests

๐Ÿ“– View Testing Scripts Documentation

๐ŸŽฏ Key Features

75-80% cost reduction โ€ข Consolidated PR dashboard โ€ข Interactive bot commands โ€ข Comprehensive security โ€ข Automated releases

๐Ÿค Contributing

  1. Fork this repository
  2. Create a feature branch
  3. Make your changes
  4. Run validation workflows
  5. Submit a pull request

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE.txt file for details.


Note: This template is designed for Ruby gem projects and may require adjustments for other languages or frameworks. It is battle-tested and ready to use, but always review and customize workflows to fit your specific needs.