Skip to content

test,ci: e2e suite + macOS CI#2

Closed
skevetter wants to merge 2 commits into
mainfrom
feat/e2e-ci-fix
Closed

test,ci: e2e suite + macOS CI#2
skevetter wants to merge 2 commits into
mainfrom
feat/e2e-ci-fix

Conversation

@skevetter

Copy link
Copy Markdown
Contributor

Summary

Adds an end-to-end test suite and CI for the OrbStack provider (both macOS-based, since the provider binary is darwin-only).

  • e2e (Ginkgo/Gomega): integration label (manifest generation + provider-binary error handling; no OrbStack needed) and vm label (full workspace lifecycle on a real OrbStack machine, with DeferCleanup). Alpine fixture; Taskfile targets test:e2e / test:e2e:vm.
  • CI (tests.yaml): an integration job on macos-15 (hardened: contents: read, persist-credentials: false).

Validated locally (macOS + real OrbStack)

  • integration: 4/4 (also green in CI on macos-15)
  • vm: 3/3 (~3.5 min: isolated ubuntu machine, docker provisioned, alpine devcontainer up/exec/delete)

Why vm isn't in CI

OrbStack installs on GitHub's macOS runners but orbctl start panics with vm config get max ipa size: unsupported — the runners don't expose the Apple Virtualization capability OrbStack needs. So vm is documented as local/self-hosted-only (task test:e2e:vm) and CI runs the integration gate.

Add a Ginkgo/Gomega e2e suite (integration + vm labels) and a Tests workflow.
Both labels run on macOS since the provider binary is darwin-only:
- integration: manifest generation and provider-binary error handling; no
  OrbStack required.
- vm: full workspace lifecycle on a real OrbStack machine.
Adds Taskfile test:e2e / test:e2e:vm targets and an alpine workspace fixture.
OrbStack installs on macos-15 but orbctl start panics with 'vm config get max
ipa size: unsupported' — GitHub-hosted runners don't expose the Apple
Virtualization capability it needs. Keep the integration job as the CI gate;
the vm label is local/self-hosted only (task test:e2e:vm).
@coderabbitai

coderabbitai Bot commented Jul 25, 2026

Copy link
Copy Markdown

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: afca78ea-6adf-45a1-bd40-51607f92de61

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@skevetter

Copy link
Copy Markdown
Contributor Author

Superseded by #3 (squashed to a single conventional commit; ruleset blocks updating an existing PR branch).

@skevetter skevetter closed this Jul 25, 2026
@skevetter
skevetter deleted the feat/e2e-ci-fix branch July 25, 2026 18:30
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