Skip to content

Commit 3bd51fd

Browse files
committed
update build workflow
1 parent 5f8b6ef commit 3bd51fd

File tree

1 file changed

+53
-6
lines changed

1 file changed

+53
-6
lines changed

.github/workflows/build.yaml

Lines changed: 53 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,11 @@ name: Build and demo testrunner
22

33
on:
44
push:
5+
workflow_dispatch:
56

67
jobs:
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
@@ -23,6 +24,28 @@ jobs:
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

Comments
 (0)