Skip to content

feat: complete E2E + CI integration with cross-platform support#34

Open
suung wants to merge 3 commits into
mainfrom
spike/e2e-tests-ci-integration
Open

feat: complete E2E + CI integration with cross-platform support#34
suung wants to merge 3 commits into
mainfrom
spike/e2e-tests-ci-integration

Conversation

@suung
Copy link
Copy Markdown
Collaborator

@suung suung commented Aug 31, 2025

Ticket

#33

Changes

  • Separate environment for E2E tests locally or on CI
  • E2E tests run on CI headless
  • E2E tests run when PR againt main is merged
  • E2E test can be ran or skipped via labels
  • cleanup of some docs

🎯 Spike: Integrate E2E tests with CI #33 - COMPLETE

✅ ALL GOALS ACHIEVED:
- E2E tests work on CI with cross-platform VSCode launcher
- Label-based control system implemented (run-e2e PR label)
- Smart environment detection preserves local macOS workflow

🔧 CROSS-PLATFORM IMPLEMENTATION:
- macOS: Uses local VSCode installation (existing behavior preserved)
- CI/Linux: Auto-downloads VSCode via @vscode/test-electron
- Environment detection: CI=true switches to auto-download mode
- Headless operation: xvfb virtual display server on Ubuntu

🏷️ CI CONTROL SYSTEM:
- Default: E2E tests don't run (fast PR feedback)
- Add 'run-e2e' label: Triggers comprehensive E2E validation
- Performance: ~2-3 minute overhead only when needed

📁 DOCUMENTATION ORGANIZATION:
- docs/E2E_CI_INTEGRATION.md: Complete technical implementation guide
- plugins/vscode/docs/VSCODE_SPECS.md: VSCode behavior specifications

🚀 READY FOR PRODUCTION:
- No breaking changes to existing workflows
- Comprehensive CI infrastructure with system dependencies
- Smart VSCode launcher with platform detection
- Complete documentation and usage instructions

Files changed:
- .github/workflows/ci.yml: E2E job with label control and xvfb
- plugins/vscode/e2e/helpers/vscode-launcher.ts: Cross-platform VSCode detection
- docs/: Organized documentation structure
@suung suung added the run-e2e label Aug 31, 2025
suung added 2 commits August 31, 2025 23:44
- Add labeled/unlabeled triggers to retrigger CI when run-e2e label is added/removed
- Fix TypeScript duplicate variable declaration errors in core package tests
- CI now properly retriggers when E2E label is applied to PR
- Replace libgconf-2-4 (deprecated) with modern alternatives
- Update libasound2 to libasound2t64 for Ubuntu 24.04 compatibility
- Add additional Electron/VSCode dependencies for headless operation
- Remove duplicate libxss1 package
@suung suung changed the base branch from fix/database-path to main September 15, 2025 14:50
@suung suung added this to the December milestone Dec 9, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant