Skip to content

Latest commit

 

History

History
58 lines (41 loc) · 2.05 KB

File metadata and controls

58 lines (41 loc) · 2.05 KB

Contributing

Thanks for your interest in improving fastlane-plugin-testingbot! Contributions of all kinds are welcome — bug reports, documentation fixes, and code.

Getting started

  1. Fork and clone the repository.

  2. Install dependencies:

    bundle install
  3. Run the test suite and linter (this is the same gate CI enforces):

    bundle exec rake

    rake runs RSpec and RuboCop. Run them individually with bundle exec rspec and bundle exec rubocop (auto-fix style issues with bundle exec rubocop -a).

Project layout

lib/fastlane/plugin/testingbot/
  actions/   # one file per fastlane action (auto-loaded)
  helper/    # shared logic (HTTP/upload) so actions stay thin
  version.rb # gem version (single source of truth)
spec/        # RSpec specs + fixtures (HTTP is stubbed with WebMock)

Actions are kept thin: validation and lane-context wiring live in the action, while the HTTP work lives in Helper::TestingbotHelper. New actions added under actions/ are auto-required, so no wiring is needed.

Making changes

  • Add tests for any behavior change. Network calls must be stubbed with WebMock — never hit the real TestingBot API in the test suite.
  • Keep bundle exec rake green (specs + RuboCop) before opening a PR.
  • Update the README.md and CHANGELOG.md when you change user-facing behavior.
  • Use UI.message / UI.success / UI.user_error! (not puts/raise) for user-facing output, matching fastlane conventions.
  • Never commit credentials, and redact any TestingBot key/secret from logs or test data.

Submitting a pull request

  1. Create a feature branch off main.
  2. Make your change with tests and docs.
  3. Ensure bundle exec rake passes.
  4. Open a PR using the template and describe the change and motivation.

By contributing, you agree that your contributions are licensed under the MIT License.

Reporting security issues

Please do not open public issues for security problems — see SECURITY.md for the private reporting process.