gem-ci 0.2.1 โ†’ 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,259 @@
1
+ ---
2
+ title: Workflow Overview
3
+ description: Complete guide to all gem-ci workflows and their functionality
4
+ ---
5
+
6
+ # ๐Ÿ”„ Workflow Overview
7
+
8
+ *Complete documentation of all 9 gem-ci workflows and their functionality*
9
+
10
+ ## ๐ŸŽฏ Workflow Architecture
11
+
12
+ gem-ci includes **9 comprehensive workflows** that provide complete automation for Ruby gem development:
13
+
14
+ ## ๐Ÿ“‹ Core Workflows
15
+
16
+ ### **01 - Intake** (`01-intake.yml`)
17
+
18
+ **Purpose**: First contact and organization for issues and PRs
19
+
20
+ **Triggers**:
21
+ - Issues: `opened`, `edited`, `reopened`
22
+ - Pull Requests: `opened`, `edited`, `reopened`, `synchronize`
23
+ - Push to: `.github/config/labels.yml`
24
+
25
+ **Key Features**:
26
+ - ๐Ÿท๏ธ **Label Synchronization**: Syncs repository labels from config
27
+ - ๐Ÿค– **Auto-labeling**: Automatically labels PRs based on file changes
28
+ - ๐Ÿ‘‹ **Welcome Messages**: Greets first-time contributors
29
+ - ๐Ÿ“ **PR Size Detection**: Labels PRs by size (XS, S, M, L, XL)
30
+
31
+ **Dependencies**: GitHub App authentication
32
+
33
+ ---
34
+
35
+ ### **02 - CI** (`02-ci.yml`)
36
+
37
+ **Purpose**: Continuous Integration with tests, linting, and builds
38
+
39
+ **Triggers**:
40
+ - Push/PR to: `main`, `master`
41
+
42
+ **Key Features**:
43
+ - ๐Ÿงช **Ruby 3.3 Testing**: Optimized single-version testing
44
+ - ๐Ÿ—๏ธ **Gem Building**: Automated gem packaging
45
+ - ๐Ÿ“Š **Parallel Jobs**: Lint, security, docs in parallel
46
+ - ๐Ÿ“ˆ **Performance Tracking**: Workflow duration monitoring
47
+ - ๐Ÿ“ **PR Status Updates**: Contributes to consolidated PR dashboard
48
+
49
+ **Cost Optimization**: Ubuntu-only runners, Ruby 3.3 only
50
+
51
+ ---
52
+
53
+ ### **03 - Security** (`03-security.yml`)
54
+
55
+ **Purpose**: Comprehensive security scanning and vulnerability detection
56
+
57
+ **Triggers**:
58
+ - Push/PR to: `main`, `master`
59
+ - Schedule: Weekly Wednesday 2 AM UTC
60
+
61
+ **Key Features**:
62
+ - ๐Ÿ” **CodeQL Analysis**: Static code analysis
63
+ - ๐Ÿ›ก๏ธ **Dependency Scanning**: Vulnerability detection in dependencies
64
+ - ๐Ÿ” **Secret Scanning**: Git history secret detection
65
+ - ๐Ÿ“ฆ **Bundle Audit**: Ruby gem vulnerability scanning
66
+ - ๐Ÿ“ **PR Status Updates**: Contributes to consolidated PR dashboard
67
+
68
+ **Cost Optimization**: Reduced from daily to weekly
69
+
70
+ ---
71
+
72
+ ### **04 - Quality** (`04-quality.yml`)
73
+
74
+ **Purpose**: Code quality enforcement and documentation
75
+
76
+ **Triggers**:
77
+ - Push/PR to: `main`, `master`
78
+
79
+ **Key Features**:
80
+ - ๐Ÿ” **Focused Linting**: Custom YAML/JSON/Markdown validation
81
+ - ๐Ÿ’Ž **RuboCop Analysis**: Ruby code style enforcement
82
+ - ๐Ÿ“š **Documentation Generation**: YARD API documentation
83
+ - ๐Ÿ“Š **Complexity Analysis**: Code complexity reporting
84
+ - ๐Ÿ“ **PR Status Updates**: Contributes to consolidated PR dashboard
85
+
86
+ **Performance Improvement**: Replaced super-linter with focused custom linting (~70% faster)
87
+
88
+ ---
89
+
90
+ ### **05 - Community** (`05-community.yml`)
91
+
92
+ **Purpose**: Community management and engagement
93
+
94
+ **Triggers**:
95
+ - Issues: `opened`, `edited`, `closed`, `reopened`
96
+ - Pull Requests: `opened`, `closed`
97
+ - Schedule: Weekly Tuesday 1 AM UTC
98
+
99
+ **Key Features**:
100
+ - ๐Ÿงน **Stale Management**: Automated stale issue/PR cleanup
101
+ - ๐Ÿ‘ฅ **Contributor Recognition**: Achievement badges for contributors
102
+ - ๐Ÿ“ˆ **Community Health**: Health metrics and reporting
103
+ - ๐Ÿท๏ธ **Smart Labeling**: Context-aware issue labeling
104
+
105
+ **Cost Optimization**: Reduced from daily to weekly
106
+
107
+ ---
108
+
109
+ ### **06 - Release** (`06-release.yml`)
110
+
111
+ **Purpose**: Automated releases and publishing
112
+
113
+ **Triggers**:
114
+ - Push to: `main`, `master`
115
+ - Manual dispatch with release type selection
116
+
117
+ **Key Features**:
118
+ - ๐ŸŽฏ **Release Please**: Automated semantic versioning
119
+ - ๐Ÿ’Ž **Gem Building**: Automated gem packaging
120
+ - ๐Ÿ”’ **Security Scanning**: Pre-release security validation
121
+ - ๐Ÿ“ฆ **RubyGems Publishing**: Automated gem publishing
122
+ - ๐Ÿ“ **GitHub Releases**: Automated release notes
123
+ - ๐Ÿ“ข **Notifications**: Slack release announcements
124
+
125
+ **Dependencies**: RubyGems API key, release environment
126
+
127
+ ---
128
+
129
+ ### **07 - Ecosystem** (`07-ecosystem.yml`)
130
+
131
+ **Purpose**: Ecosystem health and compatibility monitoring
132
+
133
+ **Triggers**:
134
+ - Push to: `main`, `master`
135
+ - Release events
136
+ - Schedule: Bi-weekly Sunday 3 AM UTC
137
+
138
+ **Key Features**:
139
+ - ๐Ÿ“ฆ **Dependency Health**: Outdated dependency reporting
140
+ - ๐Ÿงช **Compatibility Matrix**: Ruby version compatibility testing
141
+ - โšก **Performance Benchmarks**: Release performance validation
142
+ - ๐Ÿ“š **Documentation Links**: Link health checking
143
+ - ๐Ÿ“Š **Health Issues**: Automated health issue creation/updates
144
+
145
+ **Cost Optimization**: Reduced from weekly to bi-weekly, Ruby 3.3 only
146
+
147
+ ---
148
+
149
+ ### **08 - Monitoring** (`08-monitoring.yml`)
150
+
151
+ **Purpose**: Performance monitoring and health tracking
152
+
153
+ **Triggers**:
154
+ - Push/PR to: `main`, `master`
155
+ - Schedule: Weekly Monday 4 AM UTC
156
+
157
+ **Key Features**:
158
+ - ๐Ÿ“ˆ **Workflow Metrics**: Performance and success tracking
159
+ - ๐Ÿ” **Action Analysis**: Basic workflow health monitoring
160
+ - ๐Ÿฅ **Repository Health**: Overall repository health checks
161
+ - ๐Ÿ“Š **Performance Summary**: Automated performance reporting
162
+
163
+ **Cost Optimization**: Reduced from daily to weekly
164
+
165
+ ---
166
+
167
+ ### **09 - Bot Commands** (`09-bot-commands.yml`)
168
+
169
+ **Purpose**: Interactive bot commands for workflow management
170
+
171
+ **Triggers**:
172
+ - Issue comments containing `/gem-ci`
173
+
174
+ **Key Features**:
175
+ - ๐Ÿ”„ **Release Management**: `/gem-ci revise release minor to patch`
176
+ - โŒ **Release Cancellation**: `/gem-ci cancel release`
177
+ - ๐Ÿ“š **Help System**: `/gem-ci help`
178
+ - ๐Ÿค– **Interactive Responses**: Emoji reactions and helpful messages
179
+ - โš ๏ธ **Error Handling**: Invalid command guidance
180
+
181
+ **Dependencies**: GitHub App authentication
182
+
183
+ ## ๐Ÿ”— Workflow Dependencies
184
+
185
+ ```mermaid
186
+ graph TD
187
+ A[GitHub App Token] --> B[01-Intake]
188
+ A --> C[03-Security]
189
+ A --> D[04-Quality]
190
+ A --> E[05-Community]
191
+ A --> F[06-Release]
192
+ A --> G[09-Bot Commands]
193
+
194
+ H[Slack Integration] --> I[Notifications]
195
+ J[RubyGems Token] --> F
196
+
197
+ K[02-CI Results] --> L[PR Dashboard]
198
+ M[03-Security Results] --> L
199
+ N[04-Quality Results] --> L
200
+ ```
201
+
202
+ ## ๐Ÿ“Š Shared Actions
203
+
204
+ ### **update-pr-status** (`.github/actions/update-pr-status`)
205
+
206
+ **Purpose**: Consolidated PR status comment management
207
+
208
+ **Used By**: CI, Security, Quality workflows
209
+
210
+ **Features**:
211
+ - ๐Ÿ“ Single PR status dashboard
212
+ - ๐Ÿ”„ Smart comment updates (no spam)
213
+ - ๐Ÿ”— Direct links to workflow runs
214
+ - ๐Ÿ“Š Status emoji indicators
215
+
216
+ ---
217
+
218
+ ### **Notification System** (`.github/workflows/shared/notification.yml`)
219
+
220
+ **Purpose**: Standardized Slack notifications
221
+
222
+ **Used By**: CI, Release, Quality workflows
223
+
224
+ **Features**:
225
+ - ๐Ÿค– Bot token authentication
226
+ - ๐ŸŽจ Status-based color coding
227
+ - ๐Ÿ“ข Channel-specific notifications
228
+ - ๐Ÿ“Š Structured message format
229
+
230
+ ## ๐ŸŽฏ Key Optimizations Applied
231
+
232
+ ### **Cost Reductions** (~75-80% total savings)
233
+ - **Ruby Versions**: 3.3 only (50% reduction)
234
+ - **Platforms**: Ubuntu only (66% reduction)
235
+ - **Schedules**: Reduced frequency (85% reduction)
236
+ - **Linting**: Custom focused approach (70% faster)
237
+
238
+ ### **Performance Improvements**
239
+ - **PR Comments**: Single consolidated dashboard
240
+ - **Parallel Execution**: Optimized job dependencies
241
+ - **Smart Caching**: Efficient dependency caching
242
+ - **Focused Linting**: Targeted validation instead of super-linter
243
+
244
+ ### **User Experience Enhancements**
245
+ - **Interactive Commands**: Bot-driven workflow management
246
+ - **Clear Status**: Visual PR status dashboard
247
+ - **Smart Notifications**: Context-aware Slack messages
248
+ - **Documentation**: Comprehensive guides and examples
249
+
250
+ ## ๐Ÿ“š Related Documentation
251
+
252
+ - [Local Testing Guide](../guides/local-testing) - Test workflows before deployment
253
+ - [Bot Commands Guide](../guides/bot-commands) - Interactive workflow management
254
+ - [Customization Guide](../guides/customization) - Adapt workflows for your needs
255
+ - [Architecture Diagrams](../diagrams/ci-workflow-overview) - Visual workflow overview
256
+
257
+ ---
258
+
259
+ **Questions?** Check our [validation guide](../guides/validation) or [open an issue](https://github.com/patrick204nqh/gem-ci/issues) for help.
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module GemCi
4
- VERSION = "0.2.1"
4
+ VERSION = "0.4.0"
5
5
  end
Binary file
Binary file