forked from tahiat/specimin-evaluation
-
Notifications
You must be signed in to change notification settings - Fork 3
112 lines (110 loc) · 3.62 KB
/
main.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
name: Python Test
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
python-script-test:
runs-on: ubuntu-latest
steps:
- name: Checkout project sources
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Setup Python
uses: actions/setup-python@v2
with:
python-version: 3.8
- name: Setup Gradle
uses: gradle/gradle-build-action@v2
- name: Run tests
run: python TestMain.py
ubuntu-specimin-test:
runs-on: ubuntu-latest
steps:
- name: Checkout project sources
uses: actions/checkout@v3
with:
repository: njit-jerse/specimin
fetch-depth: 0 # so that spotless can ratchet; see https://github.com/diffplug/spotless/issues/710
- name: Setup Java
uses: actions/setup-java@v4
with:
distribution: 'corretto'
java-version: '17'
- name: Setup Gradle
uses: gradle/gradle-build-action@v2
- name: export Specimin PATH
run: echo "SPECIMIN=$(pwd)" >> $GITHUB_ENV
- name: Setup Python
uses: actions/setup-python@v2
with:
python-version: 3.8
- name: Checkout specimin-evaluation repository
uses: actions/checkout@v3
with:
path: specimin-evaluation
- name: Run evaluation script
run: |
cd specimin-evaluation
echo "specimin path-> $SPECIMIN"
python main.py
- name: Check evaluation status
run: diff -uw src/main/resources/target_status.json specimin-evaluation/ISSUES/target_status.json
- name: Compile minimized programs
run: |
cd specimin-evaluation
sh check_compilation.sh 1
- name: Check targets compile status
run: |
cd specimin-evaluation
sh check_compilation.sh 1
cd ..
diff -uw src/main/resources/min_program_compile_status.json specimin-evaluation/ISSUES/compile_status.json
- name: Check preservation status
run: diff -uw src/main/resources/preservation_status.json specimin-evaluation/ISSUES/preservation_status.json
windows-specimin-test:
runs-on: windows-latest
steps:
- name: Checkout project sources
uses: actions/checkout@v3
with:
repository: njit-jerse/specimin
fetch-depth: 0 # so that spotless can ratchet; see https://github.com/diffplug/spotless/issues/710
- name: Setup Java
uses: actions/setup-java@v4
with:
distribution: 'corretto'
java-version: '17'
- name: Setup Gradle
uses: gradle/gradle-build-action@v2
- name: Setup Python
uses: actions/setup-python@v2
with:
python-version: 3.8
- name: Checkout specimin-evaluation repository
uses: actions/checkout@v3
with:
path: specimin-evaluation
- name: Run evaluation script
# cf-1291: test typical integration test
# cf-577: download + unzip + rename/file access errors
# cf-691: download + unzip 2
# cf-4614: slightly different than expected CF outputs
run: |
set SPECIMIN=%cd%
cd specimin-evaluation
echo specimin path-^> %SPECIMIN%
python main.py --debug cf-1291
python main.py --debug cf-577
python main.py --debug cf-691
python main.py --debug cf-4614
shell: cmd
- name: Compile minimized programs
run: |
set SPECIMIN=%cd%
cd specimin-evaluation
echo specimin path-^> %SPECIMIN%
check_compilation.bat 1
shell: cmd