Skip to content

Commit 0c375dc

Browse files
authored
feat(ci): add split integration test suites for targeted testing (#147)
1 parent ce643b0 commit 0c375dc

5 files changed

Lines changed: 228 additions & 0 deletions
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
name: Integration Tests - Node.js Migrations
2+
3+
on:
4+
workflow_dispatch:
5+
# Manual trigger for testing Node.js migrations only
6+
7+
permissions:
8+
contents: read
9+
10+
jobs:
11+
# Ubuntu
12+
migrate-node-ubuntu-system:
13+
name: System (Ubuntu)
14+
uses: ./.github/workflows/integration-test-migrate-node-ubuntu-system.yml
15+
16+
migrate-node-ubuntu-nvm:
17+
name: nvm (Ubuntu)
18+
uses: ./.github/workflows/integration-test-migrate-node-ubuntu-nvm.yml
19+
20+
# macOS
21+
migrate-node-macos-system:
22+
name: System (macOS)
23+
uses: ./.github/workflows/integration-test-migrate-node-macos-system.yml
24+
25+
migrate-node-macos-fnm:
26+
name: fnm (macOS)
27+
uses: ./.github/workflows/integration-test-migrate-node-macos-fnm.yml
28+
29+
# Windows
30+
migrate-node-windows-system:
31+
name: System (Windows)
32+
uses: ./.github/workflows/integration-test-migrate-node-windows-system.yml
33+
34+
migrate-node-windows-nvm:
35+
name: nvm-windows (Windows)
36+
uses: ./.github/workflows/integration-test-migrate-node-windows-nvm.yml
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
name: Integration Tests - Python Migrations
2+
3+
on:
4+
workflow_dispatch:
5+
# Manual trigger for testing Python migrations only
6+
7+
permissions:
8+
contents: read
9+
10+
jobs:
11+
# Ubuntu
12+
migrate-python-ubuntu-system:
13+
name: System (Ubuntu)
14+
uses: ./.github/workflows/integration-test-migrate-python-ubuntu-system.yml
15+
16+
migrate-python-ubuntu-pyenv:
17+
name: pyenv (Ubuntu)
18+
uses: ./.github/workflows/integration-test-migrate-python-ubuntu-pyenv.yml
19+
20+
# macOS
21+
migrate-python-macos-system:
22+
name: System (macOS)
23+
uses: ./.github/workflows/integration-test-migrate-python-macos-system.yml
24+
25+
migrate-python-macos-pyenv:
26+
name: pyenv (macOS)
27+
uses: ./.github/workflows/integration-test-migrate-python-macos-pyenv.yml
28+
29+
# Windows
30+
migrate-python-windows-system:
31+
name: System (Windows)
32+
uses: ./.github/workflows/integration-test-migrate-python-windows-system.yml
33+
34+
migrate-python-windows-pyenv:
35+
name: pyenv-win (Windows)
36+
uses: ./.github/workflows/integration-test-migrate-python-windows-pyenv.yml
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
name: Integration Tests - Ruby Migrations
2+
3+
on:
4+
workflow_dispatch:
5+
# Manual trigger for testing Ruby migrations only
6+
7+
permissions:
8+
contents: read
9+
10+
jobs:
11+
# Ubuntu
12+
migrate-ruby-ubuntu-system:
13+
name: System (Ubuntu)
14+
uses: ./.github/workflows/integration-test-migrate-ruby-ubuntu-system.yml
15+
16+
migrate-ruby-ubuntu-rbenv:
17+
name: rbenv (Ubuntu)
18+
uses: ./.github/workflows/integration-test-migrate-ruby-ubuntu-rbenv.yml
19+
20+
# macOS
21+
migrate-ruby-macos-system:
22+
name: System (macOS)
23+
uses: ./.github/workflows/integration-test-migrate-ruby-macos-system.yml
24+
25+
migrate-ruby-macos-rbenv:
26+
name: rbenv (macOS)
27+
uses: ./.github/workflows/integration-test-migrate-ruby-macos-rbenv.yml
28+
29+
# Windows
30+
migrate-ruby-windows-system:
31+
name: System (Windows)
32+
uses: ./.github/workflows/integration-test-migrate-ruby-windows-system.yml
33+
34+
migrate-ruby-windows-uru:
35+
name: uru (Windows)
36+
uses: ./.github/workflows/integration-test-migrate-ruby-windows-uru.yml
Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
name: Integration Tests - All Migrations
2+
3+
on:
4+
workflow_dispatch:
5+
# Manual trigger for testing all migrations without runtime tests
6+
7+
permissions:
8+
contents: read
9+
10+
jobs:
11+
# ==========================================================================
12+
# Node.js Migrations
13+
# ==========================================================================
14+
migrate-node-ubuntu-system:
15+
name: Node.js - System (Ubuntu)
16+
uses: ./.github/workflows/integration-test-migrate-node-ubuntu-system.yml
17+
18+
migrate-node-ubuntu-nvm:
19+
name: Node.js - nvm (Ubuntu)
20+
uses: ./.github/workflows/integration-test-migrate-node-ubuntu-nvm.yml
21+
22+
migrate-node-macos-system:
23+
name: Node.js - System (macOS)
24+
uses: ./.github/workflows/integration-test-migrate-node-macos-system.yml
25+
26+
migrate-node-macos-fnm:
27+
name: Node.js - fnm (macOS)
28+
uses: ./.github/workflows/integration-test-migrate-node-macos-fnm.yml
29+
30+
migrate-node-windows-system:
31+
name: Node.js - System (Windows)
32+
uses: ./.github/workflows/integration-test-migrate-node-windows-system.yml
33+
34+
migrate-node-windows-nvm:
35+
name: Node.js - nvm-windows (Windows)
36+
uses: ./.github/workflows/integration-test-migrate-node-windows-nvm.yml
37+
38+
# ==========================================================================
39+
# Python Migrations
40+
# ==========================================================================
41+
migrate-python-ubuntu-system:
42+
name: Python - System (Ubuntu)
43+
uses: ./.github/workflows/integration-test-migrate-python-ubuntu-system.yml
44+
45+
migrate-python-ubuntu-pyenv:
46+
name: Python - pyenv (Ubuntu)
47+
uses: ./.github/workflows/integration-test-migrate-python-ubuntu-pyenv.yml
48+
49+
migrate-python-macos-system:
50+
name: Python - System (macOS)
51+
uses: ./.github/workflows/integration-test-migrate-python-macos-system.yml
52+
53+
migrate-python-macos-pyenv:
54+
name: Python - pyenv (macOS)
55+
uses: ./.github/workflows/integration-test-migrate-python-macos-pyenv.yml
56+
57+
migrate-python-windows-system:
58+
name: Python - System (Windows)
59+
uses: ./.github/workflows/integration-test-migrate-python-windows-system.yml
60+
61+
migrate-python-windows-pyenv:
62+
name: Python - pyenv-win (Windows)
63+
uses: ./.github/workflows/integration-test-migrate-python-windows-pyenv.yml
64+
65+
# ==========================================================================
66+
# Ruby Migrations
67+
# ==========================================================================
68+
migrate-ruby-ubuntu-system:
69+
name: Ruby - System (Ubuntu)
70+
uses: ./.github/workflows/integration-test-migrate-ruby-ubuntu-system.yml
71+
72+
migrate-ruby-ubuntu-rbenv:
73+
name: Ruby - rbenv (Ubuntu)
74+
uses: ./.github/workflows/integration-test-migrate-ruby-ubuntu-rbenv.yml
75+
76+
migrate-ruby-macos-system:
77+
name: Ruby - System (macOS)
78+
uses: ./.github/workflows/integration-test-migrate-ruby-macos-system.yml
79+
80+
migrate-ruby-macos-rbenv:
81+
name: Ruby - rbenv (macOS)
82+
uses: ./.github/workflows/integration-test-migrate-ruby-macos-rbenv.yml
83+
84+
migrate-ruby-windows-system:
85+
name: Ruby - System (Windows)
86+
uses: ./.github/workflows/integration-test-migrate-ruby-windows-system.yml
87+
88+
migrate-ruby-windows-uru:
89+
name: Ruby - uru (Windows)
90+
uses: ./.github/workflows/integration-test-migrate-ruby-windows-uru.yml
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
name: Integration Tests - Runtimes
2+
3+
on:
4+
workflow_dispatch:
5+
# Manual trigger for testing runtime install/uninstall without migrations
6+
7+
permissions:
8+
contents: read
9+
10+
jobs:
11+
node:
12+
name: Node.js
13+
uses: ./.github/workflows/integration-test-node.yml
14+
with:
15+
version1: '20.18.0'
16+
version2: '22.11.0'
17+
18+
python:
19+
name: Python
20+
uses: ./.github/workflows/integration-test-python.yml
21+
with:
22+
version1: '3.11.9'
23+
version2: '3.12.7'
24+
25+
ruby:
26+
name: Ruby
27+
uses: ./.github/workflows/integration-test-ruby.yml
28+
with:
29+
version1: '3.3.6'
30+
version2: '3.4.1'

0 commit comments

Comments
 (0)