feat: add multi-provider support and contribution ecosystem#7
Open
merouaneamqor wants to merge 20 commits intomasterfrom
Open
feat: add multi-provider support and contribution ecosystem#7merouaneamqor wants to merge 20 commits intomasterfrom
merouaneamqor wants to merge 20 commits intomasterfrom
Conversation
Owner
merouaneamqor
commented
Sep 6, 2025
- Add multi-provider architecture with OpenAI, Stability AI, Hugging Face
- Implement provider interface and HTTP provider base class
- Add comprehensive contribution guide and templates
- Include GitHub Actions CI/CD workflow
- Create security policy and code of conduct
- Update documentation and release notes
- Add extensive test coverage for all providers
- Add multi-provider architecture with OpenAI, Stability AI, Hugging Face - Implement provider interface and HTTP provider base class - Add comprehensive contribution guide and templates - Include GitHub Actions CI/CD workflow - Create security policy and code of conduct - Update documentation and release notes - Add extensive test coverage for all providers
- Upgrade `generate_image` gem to version 2.0.0 with updated dependencies - Modify CI workflow to unset deployment configuration before installing gems - Enhance OpenAI client initialization for backward compatibility with older SDK versions
- Downgrade `openai` gem from version 0.22.1 to 0.21.1 for compatibility - Update Bundler version from 2.5.11 to 2.6.2 in Gemfile.lock
- Upgrade `ruby/setup-ruby` action to version 1.191.0 - Add debugging steps to verify Ruby and gem installations - Install Bundler explicitly in the CI workflow - Set cache version for improved dependency management
- Downgrade `openai` gem from version 0.21.1 to 0.20.0 in both Gemfile.lock and generate_image.gemspec for improved compatibility with existing dependencies.
- Change `openai` gem dependency from version 0.20.0 to "~> 0.3.0" in generate_image.gemspec to ensure compatibility with newer features and improvements.
- Update gemspec to pin openai to = 0.20.0 - Regenerate Gemfile.lock with consistent dependencies - This resolves CI/CD bundle install failures in frozen mode
- Reorganize CI workflow with parallel jobs for testing, linting, and building - Add automated release workflow for RubyGems publishing - Add security workflow with CodeQL and bundle audit - Add Dependabot configuration for automated dependency updates - Enhance Rakefile with quality checks and build tasks - Add setup script for easy development environment setup - Update CONTRIBUTING.md with new setup process and CI details - Add .tool-versions file for asdf users - Optimize Ruby version matrix to focus on recent LTS versions - Improve artifact management and test result uploads
- Change Ruby version from 3.2.2 to 3.2.0 in .tool-versions file for consistency with project requirements.
- Update Ruby version matrix to 3.2+ (required by openai gem) - Normalize platforms in Gemfile.lock to fix platform warnings - Update gemspec to require Ruby >= 3.2.0 - Update documentation to reflect correct Ruby version requirements - This resolves the bundle install failures in CI/CD
- Add rubocop, rubocop-rspec, rubocop-performance to Gemfile - Add rspec_junit_formatter for CI test result formatting - These dependencies are needed for the CI quality checks and linting
- Add .rubocop.yml with project-specific settings - Configure for Ruby 3.2 target version - Disable overly strict rules for specs and documentation - Include rubocop-rspec and rubocop-performance extensions
- Add bundler-audit gem for security auditing in CI - This ensures the security audit step in CI works correctly
- Restore Ruby >= 3.2.0 requirement in gemspec - Add openai dependency back to gemspec - Keep development dependencies in Gemfile for CI - CI will handle bundle install with correct Ruby version
- Add bundle config set --local frozen false to all CI jobs - This resolves the 'lockfile can't be updated because frozen mode is set' error - CI will now properly install updated development dependencies
- Use new plugins: syntax instead of require: for rubocop-performance - Remove problematic RSpec configurations causing warnings - Simplify configuration to avoid Capybara/RSpec errors - Keep essential linting rules for the project
- Remove rubocop-rspec from Gemfile as it's not being used - This prevents potential configuration conflicts and warnings - Keep only essential rubocop extensions
|
This pull request sets up GitHub code scanning for this repository. Once the scans have completed and the checks have passed, the analysis results for this pull request branch will appear on this overview. Once you merge this pull request, the 'Security' tab will show more code scanning analysis results (for example, for the default branch). Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results. For more information about GitHub code scanning, check out the documentation. |
- Comment out openai gem in gemspec and Gemfile to facilitate local development - Adjust Ruby version requirement in gemspec to support broader compatibility - Ensure development environment remains stable while testing changes
- Replace double quotes with single quotes in Gemfile and gemspec for consistency - Enhance error handling in providers by specifying StandardError in rescue clauses - Update array syntax to use %w for better readability in multiple locations
- Replace single quotes with double quotes in Gemfile and gemspec for consistency - Reintroduce openai dependency in Gemfile and gemspec - Adjust development dependencies order in Gemfile for clarity - Update Ruby version requirement in gemspec to >= 3.2.0
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.