Skip to content

docs: bring CONTRIBUTING up to date and tidy dead config - #48

Merged
tas50 merged 1 commit into
mainfrom
docs-and-hygiene
Aug 22, 2026
Merged

docs: bring CONTRIBUTING up to date and tidy dead config#48
tas50 merged 1 commit into
mainfrom
docs-and-hygiene

Conversation

@tas50

@tas50 tas50 commented Aug 22, 2026

Copy link
Copy Markdown
Member

CONTRIBUTING.md was actively misleading

It described the repo as it was before #44 and #46, and every specific in its tooling section had become false:

It said Reality
"The most valuable contribution right now" = port off SSHBase Done in #46
"There are no unit tests." 63 examples
Rakefile depends on cane, tailor, countloc; "rake is unlikely to succeed" Removed in #44; rake is the CI test task
"CI tests Ruby 2.5 to 3.0"; push trigger refers to master Ruby 3.1–4.0 via the shared workflow
"Describe how you verified it, since there are no automated tests" Stale

A contributor following it today would have been told not to bother running the tests.

It now documents the real suite (including how it's organised and why unit specs inject a fake client rather than stubbing Fog::Compute globally), the real CI matrix, and the release process.

The "most valuable contribution" section now asks for what the project actually needs: validation against a real CloudStack deployment — particularly the Windows/WinRM path, which is covered by stubbed tests but has never touched real hardware. It also lists the driver gaps we know about (unwrapped provider errors, non-idempotent create, no name→ID lookup) as good contributions.

Dead config removed

Gemspec

spec.files was raw git ls-files, so the published gem shipped the spec suite and the CI/linter dotfiles. Now scoped to LICENSE|^lib the way kitchen-ec2 does it:

packaged files: 29 -> 7   (spec/ files: 7 -> 0)

Also adds spec.metadata so the RubyGems page links to the changelog, source, and issue tracker, and sets rubygems_mfa_required.

Verified

rspec 63/63 · cookstyle --chefstyle clean · yamllint clean · markdownlint clean · gem build succeeds · driver still loads

🤖 Generated with Claude Code

CONTRIBUTING.md still described the repository as it was before the
recent modernisation, and every specific in its tooling section had
become false: it told contributors there were no unit tests, that the
Rakefile depended on cane, tailor and countloc and would probably fail,
that CI tested Ruby 2.5 to 3.0 against a master branch, and that the most
valuable contribution would be porting the driver off SSHBase. All of
that has since changed.

It now describes the actual test suite and how it is organised, the real
CI matrix, and the release process. The "most valuable contribution"
section now asks for what the project genuinely needs: validation against
a real CloudStack deployment, particularly the Windows and WinRM path,
which is covered by stubbed tests but has never been run against real
hardware.

Also removes two pieces of dead configuration and tightens the gemspec:

- .tailor configured a linter that was removed in #44.
- .github/dependabot.yml duplicated Renovate, which is also enabled here
  and is what kitchen-ec2 settled on, so both bots were opening
  dependency pull requests.
- The gemspec shipped everything git tracked, so the built gem carried
  the spec suite and the CI and linter dotfiles. It now ships the licence
  and lib, matching kitchen-ec2, which takes the packaged gem from 29
  files to 7.
- Adds metadata links so the RubyGems page points at the changelog, the
  source and the issue tracker.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@tas50
tas50 merged commit 430f728 into main Aug 22, 2026
3 checks passed
@tas50
tas50 deleted the docs-and-hygiene branch August 22, 2026 21:06
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