Skip to content

feat(ci): add weekly integration test workflow#123

Merged
CalvinAllen merged 1 commit intomainfrom
feat/integration-tests
Dec 13, 2025
Merged

feat(ci): add weekly integration test workflow#123
CalvinAllen merged 1 commit intomainfrom
feat/integration-tests

Conversation

@CalvinAllen
Copy link
Contributor

Summary

  • Add comprehensive weekly integration test workflow for real runtime installations
  • Test all dtvem commands (install, list, global, local, current, which, where, reshim, freeze, uninstall)
  • Test migrate command with system installs and version managers across all platforms
  • Create modular, reusable workflow structure (21 workflows total)

Workflow Structure

Runtime Installation Tests (3 workflows):

  • integration-test-node.yml - Node.js 20.18.0 / 22.11.0
  • integration-test-python.yml - Python 3.11.9 / 3.12.7
  • integration-test-ruby.yml - Ruby 3.3.6 / 3.4.1

Migration Tests (17 workflows):

Runtime Ubuntu macOS Windows
Node.js system (apt), nvm system (Homebrew), fnm system (Chocolatey), nvm-windows
Python system (apt), pyenv system (Homebrew), pyenv system (Chocolatey), pyenv-win
Ruby system (apt), rbenv system (Homebrew), rbenv system (Chocolatey)

Main Orchestrator:

  • integration-test.yml - Runs weekly on Sunday at midnight UTC, can be triggered manually

Test plan

  • Verify workflows are syntactically correct (GitHub will validate on push)
  • Manually trigger the integration test workflow to verify it runs
  • Check that build.yml is not triggered by changes to integration-test*.yml files

Closes #115

Add comprehensive integration tests that run weekly to verify:
- Runtime installation, listing, and version management
- Shim execution and version switching
- Local/global version configuration
- Migration from system installs and version managers

Workflow structure (21 reusable workflows):
- 3 runtime installation tests (Node.js, Python, Ruby)
- 17 migration tests covering system and version manager sources
- 1 main orchestrator calling all workflows

Migration tests cover:
- Node.js: system (apt/Homebrew/Chocolatey), nvm, fnm, nvm-windows
- Python: system (apt/Homebrew/Chocolatey), pyenv, pyenv-win
- Ruby: system (apt/Homebrew/Chocolatey), rbenv (Unix only)

Also excludes integration-test*.yml from triggering build.yml.

Closes #115
@CalvinAllen CalvinAllen force-pushed the feat/integration-tests branch from 356afab to b0a8784 Compare December 13, 2025 20:48
@CalvinAllen CalvinAllen merged commit 85e99d0 into main Dec 13, 2025
12 checks passed
@CalvinAllen CalvinAllen deleted the feat/integration-tests branch December 13, 2025 20:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

Add weekly integration test workflow for real runtime installations

1 participant