@@ -2,10 +2,11 @@ name: Build and demo testrunner
22
33on :
44 push :
5+ workflow_dispatch :
56
67jobs :
78 build :
8- runs-on : self-hosted
9+ runs-on : ubuntu-latest
910 steps :
1011 - uses : actions/checkout@v4
1112 - uses : erlef/setup-beam@v1
2324 - name : Build escript executable
2425 run : MIX_ENV=prod mix escript.build
2526
27+ - name : Upload testrunner executable
28+ uses : actions/upload-artifact@v4
29+ with :
30+ name : ' testrunner'
31+ path : ' out/testrunner'
32+ retention-days : 1
33+
34+ execute :
35+ runs-on : ubuntu-latest
36+ needs : build
37+ steps :
38+ - uses : actions/checkout@v4
39+ - uses : erlef/setup-beam@v1
40+ with :
41+ elixir-version : ' 1.16.x'
42+ otp-version : ' 26.x'
43+ - name : Download compiled binary
44+ uses : actions/download-artifact@v4
45+ with :
46+ name : ' testrunner'
47+ path : ' testrunner'
48+
2649 # build plt first
2750 - name : Print dialyzer info
2851 run : dialyzer --build_plt --apps erts kernel stdlib || true
@@ -36,18 +59,42 @@ jobs:
3659 - name : Print ety info # has no version yet
3760 run : ./ety || true
3861
39- - name : Print eqWAlizer info
62+ - name : Print eqWAlizer info
4063 run : ./elp version
4164
42- - name : Print timeout info
65+ - name : Print timeout info
4366 run : ./timeout -t 10 -m 2000000 echo OK
4467
4568 - name : Execute Runner on test suites
46- run : out/testrunner -s etylizer-src,dialyzer-src,gradualizer-src,eqwalizer-src
47-
48- - name : Archive test results
69+ run : testrunner -s etylizer-src,dialyzer-src,gradualizer-src,eqwalizer-src
4970
71+ - name : Archive test results
5072 uses : actions/upload-artifact@v4
5173 with :
5274 name : test-report
5375 path : test_results.json
76+
77+ reports :
78+ runs-on : ubuntu-latest
79+ needs : execute
80+ steps :
81+ - uses : actions/checkout@v4
82+ - name : Download test results
83+ uses : actions/download-artifact@v4
84+ with :
85+ name : test-report
86+ path : report-generator/test_results.json
87+ - name : Setup Java 21
88+ uses : actions/setup-java@v4
89+ with :
90+ distribution : ' temurin'
91+ java-version : ' 21'
92+ - name : Run report generator
93+ run : ./gradlew run --args="test_results.json"
94+ working-directory : report-generator
95+ - name : Upload plots
96+ uses : actions/upload-artifact@v4
97+ with :
98+ path : ' report-generator/report-output/'
99+ name : ' report-output'
100+ retention-days : 14
0 commit comments