Thanks for your interest in improving kitchen-google. Bug reports, feature requests, and pull requests are all welcome.
Report bugs and request features on the issue tracker. For bugs, please include:
- the version of kitchen-google and Test Kitchen you are using
- your
kitchen.ymlwith credentials removed - the output of the failing command, ideally with
-l debug
Clone the repository and install the dependencies:
git clone https://github.com/test-kitchen/kitchen-google.git
cd kitchen-google
bundle installRun the unit tests and the style check together:
bundle exec rakeRun them individually:
bundle exec rake test # RSpec unit tests
bundle exec rake style # Cookstyle / RuboCopTo run a single spec file:
bundle exec rspec spec/kitchen/driver/gce_spec.rbMany style offenses can be corrected automatically:
bundle exec cookstyle -aThe unit tests mock the Google Compute Engine API, so they do not create real instances and do not require GCP credentials.
Changes that touch instance creation should also be exercised against a real
project, since the unit tests cannot catch API-level regressions. Set up
Application Default Credentials,
point a kitchen.yml at a project you control, and run kitchen test.
Remember that this creates billable resources — confirm the instances are gone
with kitchen destroy and check the GCE console afterwards.
- Fork the repository.
- Create a feature branch off
main. - Make your change, adding or updating tests to cover it.
- Make sure
bundle exec rakepasses. - Push the branch to your fork and open a pull request.
Please keep pull requests focused on a single change — it makes review much
faster. Update the documentation in README.md when you add or change a
configuration option.
Releases are handled by the maintainers.
- Update
lib/kitchen/driver/gce_version.rbwith the new version. - Update
CHANGELOG.md. - Merge to
main; the publish workflow builds the gem and pushes it to RubyGems.