-
Notifications
You must be signed in to change notification settings - Fork 0
139 lines (114 loc) · 3.23 KB
/
verification.yml
File metadata and controls
139 lines (114 loc) · 3.23 KB
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
136
137
138
139
name: Engine-Sim-CLI Verification
on:
push:
branches: [ master, main ]
pull_request:
branches: [ master, main ]
schedule:
# Run verification daily at 2 AM UTC
- cron: '0 2 * * *'
jobs:
verification:
runs-on: macos-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
submodules: recursive
- name: Set up Xcode
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: latest-stable
- name: Build engine-sim-cli
run: |
mkdir -p build
cd build
cmake ..
make -j$(sysctl -n hw.ncpu)
cd ..
- name: Check prerequisites
run: |
./verification_tools/check-prerequisites
- name: Run quick verification
run: |
make -C verification_tools test-quick
- name: Run full verification
run: |
make -C verification_tools test
- name: Run CI verification
run: |
./ci_verification.sh --quick --verbose
- name: Run CI verification with parallel tests
run: |
./ci_verification.sh --parallel --engine-sim-cli ./build/engine-sim-cli --verbose
- name: Generate test report
if: always()
run: |
echo "## Verification Results" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "### Full Report" >> $GITHUB_STEP_SUMMARY
echo "\`\`\`json" >> $GITHUB_STEP_SUMMARY
cat verification_output/verification_report.json 2>/dev/null || echo "No report generated" >> $GITHUB_STEP_SUMMARY
echo "\`\`\`" >> $GITHUB_STEP_SUMMARY
- name: Upload verification artifacts
if: always()
uses: actions/upload-artifact@v3
with:
name: verification-results
path: |
verification_output/
ci_reports/
retention-days: 30
audio-focused:
runs-on: macos-latest
needs: verification
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
submodules: recursive
- name: Set up Xcode
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: latest-stable
- name: Build engine-sim-cli
run: |
mkdir -p build
cd build
cmake ..
make -j$(sysctl -n hw.ncpu)
cd ..
- name: Build verification tools
run: |
make -C verification_tools all
- name: Test audio output
run: |
make -C verification_tools test-audio
- name: Audio analysis
run: |
./verify_audio --input verification_output/audio_test.wav --expected-rpm 2000 --detailed --output-report verification_output/audio_analysis.json
interactive-focused:
runs-on: macos-latest
needs: verification
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
submodules: recursive
- name: Set up Xcode
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: latest-stable
- name: Build engine-sim-cli
run: |
mkdir -p build
cd build
cmake ..
make -j$(sysctl -n hw.ncpu)
cd ..
- name: Build verification tools
run: |
make -C verification_tools all
- name: Test input response
run: |
make -C verification_tools test-input