Skip to content

feat: add multi-provider support and contribution ecosystem#7

Open
merouaneamqor wants to merge 20 commits intomasterfrom
feature/multi-provider-enhancement
Open

feat: add multi-provider support and contribution ecosystem#7
merouaneamqor wants to merge 20 commits intomasterfrom
feature/multi-provider-enhancement

Conversation

@merouaneamqor
Copy link
Owner

  • 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
@github-advanced-security
Copy link

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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant