diff --git a/.github/workflows/integration-test-migrations-node.yml b/.github/workflows/integration-test-migrations-node.yml new file mode 100644 index 0000000..e62578f --- /dev/null +++ b/.github/workflows/integration-test-migrations-node.yml @@ -0,0 +1,36 @@ +name: Integration Tests - Node.js Migrations + +on: + workflow_dispatch: + # Manual trigger for testing Node.js migrations only + +permissions: + contents: read + +jobs: + # Ubuntu + migrate-node-ubuntu-system: + name: System (Ubuntu) + uses: ./.github/workflows/integration-test-migrate-node-ubuntu-system.yml + + migrate-node-ubuntu-nvm: + name: nvm (Ubuntu) + uses: ./.github/workflows/integration-test-migrate-node-ubuntu-nvm.yml + + # macOS + migrate-node-macos-system: + name: System (macOS) + uses: ./.github/workflows/integration-test-migrate-node-macos-system.yml + + migrate-node-macos-fnm: + name: fnm (macOS) + uses: ./.github/workflows/integration-test-migrate-node-macos-fnm.yml + + # Windows + migrate-node-windows-system: + name: System (Windows) + uses: ./.github/workflows/integration-test-migrate-node-windows-system.yml + + migrate-node-windows-nvm: + name: nvm-windows (Windows) + uses: ./.github/workflows/integration-test-migrate-node-windows-nvm.yml diff --git a/.github/workflows/integration-test-migrations-python.yml b/.github/workflows/integration-test-migrations-python.yml new file mode 100644 index 0000000..4c047e8 --- /dev/null +++ b/.github/workflows/integration-test-migrations-python.yml @@ -0,0 +1,36 @@ +name: Integration Tests - Python Migrations + +on: + workflow_dispatch: + # Manual trigger for testing Python migrations only + +permissions: + contents: read + +jobs: + # Ubuntu + migrate-python-ubuntu-system: + name: System (Ubuntu) + uses: ./.github/workflows/integration-test-migrate-python-ubuntu-system.yml + + migrate-python-ubuntu-pyenv: + name: pyenv (Ubuntu) + uses: ./.github/workflows/integration-test-migrate-python-ubuntu-pyenv.yml + + # macOS + migrate-python-macos-system: + name: System (macOS) + uses: ./.github/workflows/integration-test-migrate-python-macos-system.yml + + migrate-python-macos-pyenv: + name: pyenv (macOS) + uses: ./.github/workflows/integration-test-migrate-python-macos-pyenv.yml + + # Windows + migrate-python-windows-system: + name: System (Windows) + uses: ./.github/workflows/integration-test-migrate-python-windows-system.yml + + migrate-python-windows-pyenv: + name: pyenv-win (Windows) + uses: ./.github/workflows/integration-test-migrate-python-windows-pyenv.yml diff --git a/.github/workflows/integration-test-migrations-ruby.yml b/.github/workflows/integration-test-migrations-ruby.yml new file mode 100644 index 0000000..dc6c1e5 --- /dev/null +++ b/.github/workflows/integration-test-migrations-ruby.yml @@ -0,0 +1,36 @@ +name: Integration Tests - Ruby Migrations + +on: + workflow_dispatch: + # Manual trigger for testing Ruby migrations only + +permissions: + contents: read + +jobs: + # Ubuntu + migrate-ruby-ubuntu-system: + name: System (Ubuntu) + uses: ./.github/workflows/integration-test-migrate-ruby-ubuntu-system.yml + + migrate-ruby-ubuntu-rbenv: + name: rbenv (Ubuntu) + uses: ./.github/workflows/integration-test-migrate-ruby-ubuntu-rbenv.yml + + # macOS + migrate-ruby-macos-system: + name: System (macOS) + uses: ./.github/workflows/integration-test-migrate-ruby-macos-system.yml + + migrate-ruby-macos-rbenv: + name: rbenv (macOS) + uses: ./.github/workflows/integration-test-migrate-ruby-macos-rbenv.yml + + # Windows + migrate-ruby-windows-system: + name: System (Windows) + uses: ./.github/workflows/integration-test-migrate-ruby-windows-system.yml + + migrate-ruby-windows-uru: + name: uru (Windows) + uses: ./.github/workflows/integration-test-migrate-ruby-windows-uru.yml diff --git a/.github/workflows/integration-test-migrations.yml b/.github/workflows/integration-test-migrations.yml new file mode 100644 index 0000000..2c096fc --- /dev/null +++ b/.github/workflows/integration-test-migrations.yml @@ -0,0 +1,90 @@ +name: Integration Tests - All Migrations + +on: + workflow_dispatch: + # Manual trigger for testing all migrations without runtime tests + +permissions: + contents: read + +jobs: + # ========================================================================== + # Node.js Migrations + # ========================================================================== + migrate-node-ubuntu-system: + name: Node.js - System (Ubuntu) + uses: ./.github/workflows/integration-test-migrate-node-ubuntu-system.yml + + migrate-node-ubuntu-nvm: + name: Node.js - nvm (Ubuntu) + uses: ./.github/workflows/integration-test-migrate-node-ubuntu-nvm.yml + + migrate-node-macos-system: + name: Node.js - System (macOS) + uses: ./.github/workflows/integration-test-migrate-node-macos-system.yml + + migrate-node-macos-fnm: + name: Node.js - fnm (macOS) + uses: ./.github/workflows/integration-test-migrate-node-macos-fnm.yml + + migrate-node-windows-system: + name: Node.js - System (Windows) + uses: ./.github/workflows/integration-test-migrate-node-windows-system.yml + + migrate-node-windows-nvm: + name: Node.js - nvm-windows (Windows) + uses: ./.github/workflows/integration-test-migrate-node-windows-nvm.yml + + # ========================================================================== + # Python Migrations + # ========================================================================== + migrate-python-ubuntu-system: + name: Python - System (Ubuntu) + uses: ./.github/workflows/integration-test-migrate-python-ubuntu-system.yml + + migrate-python-ubuntu-pyenv: + name: Python - pyenv (Ubuntu) + uses: ./.github/workflows/integration-test-migrate-python-ubuntu-pyenv.yml + + migrate-python-macos-system: + name: Python - System (macOS) + uses: ./.github/workflows/integration-test-migrate-python-macos-system.yml + + migrate-python-macos-pyenv: + name: Python - pyenv (macOS) + uses: ./.github/workflows/integration-test-migrate-python-macos-pyenv.yml + + migrate-python-windows-system: + name: Python - System (Windows) + uses: ./.github/workflows/integration-test-migrate-python-windows-system.yml + + migrate-python-windows-pyenv: + name: Python - pyenv-win (Windows) + uses: ./.github/workflows/integration-test-migrate-python-windows-pyenv.yml + + # ========================================================================== + # Ruby Migrations + # ========================================================================== + migrate-ruby-ubuntu-system: + name: Ruby - System (Ubuntu) + uses: ./.github/workflows/integration-test-migrate-ruby-ubuntu-system.yml + + migrate-ruby-ubuntu-rbenv: + name: Ruby - rbenv (Ubuntu) + uses: ./.github/workflows/integration-test-migrate-ruby-ubuntu-rbenv.yml + + migrate-ruby-macos-system: + name: Ruby - System (macOS) + uses: ./.github/workflows/integration-test-migrate-ruby-macos-system.yml + + migrate-ruby-macos-rbenv: + name: Ruby - rbenv (macOS) + uses: ./.github/workflows/integration-test-migrate-ruby-macos-rbenv.yml + + migrate-ruby-windows-system: + name: Ruby - System (Windows) + uses: ./.github/workflows/integration-test-migrate-ruby-windows-system.yml + + migrate-ruby-windows-uru: + name: Ruby - uru (Windows) + uses: ./.github/workflows/integration-test-migrate-ruby-windows-uru.yml diff --git a/.github/workflows/integration-test-runtimes.yml b/.github/workflows/integration-test-runtimes.yml new file mode 100644 index 0000000..5f36566 --- /dev/null +++ b/.github/workflows/integration-test-runtimes.yml @@ -0,0 +1,30 @@ +name: Integration Tests - Runtimes + +on: + workflow_dispatch: + # Manual trigger for testing runtime install/uninstall without migrations + +permissions: + contents: read + +jobs: + node: + name: Node.js + uses: ./.github/workflows/integration-test-node.yml + with: + version1: '20.18.0' + version2: '22.11.0' + + python: + name: Python + uses: ./.github/workflows/integration-test-python.yml + with: + version1: '3.11.9' + version2: '3.12.7' + + ruby: + name: Ruby + uses: ./.github/workflows/integration-test-ruby.yml + with: + version1: '3.3.6' + version2: '3.4.1'