-
Notifications
You must be signed in to change notification settings - Fork 52
135 lines (123 loc) · 3.22 KB
/
all-tests.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
name: All Tests
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
concurrency:
group: ${{ github.event.pull_request.number }}-${{ github.actor }}
cancel-in-progress: true
jobs:
# Megatron Report Clean
megatron-report-clean:
uses: ./.github/workflows/report-clean.yml
with:
backend: megatron
# Megatron Unit Tests with Matrix
megatron-unit-tests:
needs: megatron-report-clean
uses: ./.github/workflows/unit-tests.yml
strategy:
matrix:
subset:
- data
- dist_checkpointing
- distributed
- export
- fusions
- inference
- models
- pipeline_parallel
- ssm
- tensor_parallel
- transformer/moe
- transformer
- ./
name: "megatron-${{ matrix.subset == './' && 'root' || matrix.subset }}"
with:
backend: megatron
subset: ${{ matrix.subset }}
# FlagScale Report Clean
flagscale-report-clean:
uses: ./.github/workflows/report-clean.yml
with:
backend: flagscale
# Flagscale Unit Tests with Matrix
flagscale-unit-tests:
needs: flagscale-report-clean
uses: ./.github/workflows/unit-tests.yml
strategy:
matrix:
subset:
- runner
- ./
name: "flagscale-${{ matrix.subset == './' && 'root' || matrix.subset }}"
with:
backend: flagscale
subset: ${{ matrix.subset }}
# Functional Tests with Model and Type Matrix
functional-tests-train:
needs:
- megatron-unit-tests
- flagscale-unit-tests
uses: ./.github/workflows/functional-tests.yml
strategy:
matrix:
model:
- aquila
- mixtral
# - llava_onevision
name: "train-${{ matrix.model }}"
with:
model: ${{ matrix.model }}
type: train
functional-tests-hetero:
needs: functional-tests-train
uses: ./.github/workflows/functional-tests.yml
strategy:
matrix:
model:
- aquila
name: "hetero_train-${{ matrix.model }}"
with:
model: ${{ matrix.model }}
type: hetero_train
# Megatron Coverage Test
megatron-coverage-test:
needs: functional-tests-hetero
if: ${{ github.event_name == 'pull_request' }}
uses: ./.github/workflows/coverage-tests.yml
with:
backend: megatron
# Flagscale Coverage Test
flagscale-coverage-test:
needs: functional-tests-hetero
if: ${{ github.event_name == 'pull_request' }}
uses: ./.github/workflows/coverage-tests.yml
with:
backend: flagscale
# Check All Tests
all-tests:
needs:
- megatron-unit-tests
- flagscale-unit-tests
- functional-tests-train
- functional-tests-hetero
- megatron-coverage-test
- flagscale-coverage-test
runs-on: ubuntu-latest
steps:
- name: All Tests Completed
run: echo "All tests completed successfully!"
# Add in the feature for inference
# functional-tests-inference:
# needs: functional-tests-hetero
# uses: ./.github/workflows/functional-tests.yml
# strategy:
# matrix:
# model:
# - from_vllm
# name: "inference-${{ matrix.model }}"
# with:
# model: ${{ matrix.model }}
# type: inference