Skip to content

Add CI workflow, git service specs, and CHANGELOG hygiene#6

Merged
ya-luotao merged 1 commit into
mainfrom
ci-and-git-specs
May 10, 2026
Merged

Add CI workflow, git service specs, and CHANGELOG hygiene#6
ya-luotao merged 1 commit into
mainfrom
ci-and-git-specs

Conversation

@ya-luotao

Copy link
Copy Markdown
Owner

Summary

  • CI: new .github/workflows/ci.yml runs bundle exec rake (rspec + rubocop) on Ruby 3.0/3.1/3.2/3.3 for every push/PR. Until now the local rake was the only gate, so any regression that slipped past the maintainer's manual run could land on main.
  • Spec coverage for E2B::Services::Git: new spec/e2b/services/git_spec.rb (12 examples) locks down credential URL embedding/stripping, git status --porcelain=v2 parsing, branch listing, and auth/upstream error mapping. The 893-LOC service had zero spec coverage before; the credential helpers handle secrets and were entirely untested.
  • CHANGELOG [Unreleased] restored — records the post-0.3.4 process.Process/Start retry-skip fix (128b1bc), the new CI, the new spec, and the unused vcr dev-dep removal.
  • Side cleanup: drop unused vcr from Gemfile; exclude .github/**/* from RuboCop.

Test plan

  • bundle exec rake spec — 134 examples, 0 failures
  • bundle exec rake rubocop — 47 files, 0 offenses
  • /invariants audit — all three v0.3.4 invariants still intact (EnvdBase64 centralization, stdin: false default, process.Process/Start not retried)
  • CI workflow passes on this PR on Ruby 3.0/3.1/3.2/3.3

🤖 Generated with Claude Code

Closes the three biggest production-readiness gaps after v0.3.4:
no CI to catch regressions on main, zero spec coverage on the
893-LOC E2B::Services::Git (including the credential URL helpers
that handle secrets), and a stale CHANGELOG with no [Unreleased]
section despite several real post-release fixes.

Also drops the unused vcr development dependency (the suite is
WebMock-only, no cassettes anywhere) and excludes .github/ from
RuboCop so it stops trying to parse YAML as Ruby.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@ya-luotao ya-luotao merged commit 6e18f13 into main May 10, 2026
4 checks passed
@ya-luotao ya-luotao deleted the ci-and-git-specs branch May 10, 2026 14:35
Comment thread .github/workflows/ci.yml
strategy:
fail-fast: false
matrix:
ruby: ["3.0", "3.1", "3.2", "3.3"]

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ya-luotao I believe it's worth testing on 3.4 and maybe even 4.0 - I would maybe even remove 3.0

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You make a good point, I will do that.

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.

2 participants