Ci automations2#74
Conversation
- Add .github/dependabot.yml for Bundler and GitHub Actions updates - Add CodeQL workflow for Ruby security/code analysis (security-extended) - Add lint workflow running RuboCop on PR/push - Add security workflow: dependency-review on PRs, bundler-audit for gems - Document workflows and Copilot Code Review (Rulesets) in README
- Rename moved cops (Metrics/LineLength → Layout/LineLength, etc.) - Add department prefixes (Style/SignalException, Layout/SpaceInsideHashLiteralBraces) - Style/PredicateName → Naming/PredicatePrefix - Add AllCops: NewCops: enable - Exclude spec blocks from Metrics/BlockLength - Add exclusions for OptionalBooleanParameter, DuplicateMethods, MissingRespondToMissing, MissingSuper, EmptyBlock, EmptyFile, Lint/Void - Exclude lib/rubyipmi.rb from complexity/module length limits
- Gemfile: frozen_string_literal, hash rockets, alphabetical gem order - Rakefile: remove redundant encoding comment, add frozen_string_literal, use warn instead of $stderr.puts, modifier if, heredoc indentation
There was a problem hiding this comment.
Pull request overview
This pull request modernizes the Ruby codebase and adds comprehensive CI/CD automation workflows for security and code quality. The changes focus on updating Ruby conventions (frozen string literals, modern heredoc syntax), improving RuboCop configuration with correct cop namespaces, and introducing GitHub Actions workflows for security scanning.
Changes:
- Modernized Ruby syntax in Rakefile and Gemfile (frozen_string_literal, squiggly heredoc, ENV.fetch, warn instead of $stderr.puts)
- Updated .rubocop.yml with correct cop namespaces and additional exclusions for complex files
- Added security.yml workflow for dependency review and bundler-audit
- Added codeql.yml workflow for security analysis
- Added dependabot.yml for automated dependency updates
- Updated README.md with CI/security documentation
Reviewed changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| Rakefile | Modernized Ruby syntax: added frozen_string_literal, replaced $stderr.puts with warn, used ENV.fetch, converted to squiggly heredoc, and refactored if statement |
| README.md | Added CI, security, and automation documentation section describing workflows and Dependabot configuration |
| Gemfile | Added frozen_string_literal, changed source to https, and reordered rubocop gem while maintaining hash rocket syntax |
| .rubocop.yml | Updated cop names to correct namespaces (Style/, Layout/, Naming/), added NewCops: enable, and added exclusions for lib/rubyipmi.rb and spec files |
| .github/workflows/security.yml | Added new workflow for dependency review on PRs and bundler-audit security checks |
| .github/workflows/codeql.yml | Added new workflow for CodeQL security and code-quality analysis with weekly scheduled runs |
| .github/dependabot.yml | Added Dependabot configuration for weekly Bundler and GitHub Actions dependency updates |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| | Workflow | Purpose | | ||
| |----------|---------| | ||
| | [test.yml](.github/workflows/test.yml) | Unit tests and gem build (Ruby 3.0–3.4) | | ||
| | [lint.yml](.github/workflows/lint.yml) | RuboCop style and lint checks | |
There was a problem hiding this comment.
The referenced workflow file 'lint.yml' does not exist in the .github/workflows directory. Only test.yml, codeql.yml, and security.yml exist. Either create the missing lint.yml workflow file or remove this reference from the documentation.
| | [lint.yml](.github/workflows/lint.yml) | RuboCop style and lint checks | |
No description provided.