23
23
name : Install
24
24
- run : pytest
25
25
name : Run pytest
26
+
26
27
docs :
27
28
runs-on : ubuntu-22.04
28
29
steps :
@@ -46,3 +47,102 @@ jobs:
46
47
exit 1
47
48
fi
48
49
50
+ test-ecosystem :
51
+ strategy :
52
+ fail-fast : false
53
+ matrix :
54
+ group : [1, 2, 3, 4, 5]
55
+ name : Test Ecosystem
56
+ runs-on : ubuntu-22.04
57
+ steps :
58
+ - name : Setup python
59
+ uses : actions/setup-python@v4
60
+ with :
61
+ python-version : 3.8
62
+
63
+ - uses : actions/checkout@v3
64
+ with :
65
+ path : archinfo
66
+ - run : pip install ./archinfo
67
+
68
+ # Checkout and install all the ecosystem packages
69
+ # Core packages
70
+ # pyvex
71
+ - run : git clone --recursive https://github.com/angr/pyvex.git
72
+ - run : pip install ./pyvex
73
+ # cle
74
+ - run : git clone https://github.com/angr/cle.git
75
+ - run : pip install ./cle
76
+ # TODO: remove this once angr installs claripy directly
77
+ - run : git clone https://github.com/angr/claripy.git
78
+ - run : pip install ./claripy
79
+ # TODO: remove this once angr installs ailment directly
80
+ - run : git clone https://github.com/angr/ailment.git
81
+ - run : pip install ./ailment
82
+ # angr
83
+ - run : git clone https://github.com/angr/angr.git
84
+ - run : pip install ./angr
85
+ # angr management
86
+ - run : git clone https://github.com/angr/angr-management.git
87
+ - run : pip install ./angr-management
88
+ # binaries
89
+ - run : git clone https://github.com/angr/binaries.git
90
+
91
+ # Extended packages
92
+ # angr-platforms
93
+ - run : git clone https://github.com/angr/angr-platforms.git
94
+ - run : pip install ./angr-platforms
95
+ # pysoot
96
+ - run : git clone https://github.com/angr/pysoot.git
97
+ - run : pip install ./pysoot
98
+ # archr, dep of rex
99
+ - run : git clone https://github.com/angr/archr.git
100
+ - run : pip install ./archr
101
+ # angrop
102
+ - run : git clone https://github.com/angr/angrop.git
103
+ - run : pip install ./angrop
104
+ # tracer, dep of rex
105
+ - run : git clone https://github.com/angr/tracer.git
106
+ - run : pip install ./tracer
107
+ # compilerex, patcherex
108
+ - run : git clone https://github.com/mechaphish/compilerex.git
109
+ - run : pip install ./compilerex
110
+ # colorguard, dep of rex
111
+ - run : git clone https://github.com/mechaphish/colorguard.git
112
+ - run : pip install ./colorguard
113
+ # povsim, dep of rex
114
+ - run : git clone https://github.com/mechaphish/povsim.git
115
+ - run : pip install ./angr
116
+ # rex
117
+ - run : git clone https://github.com/angr/rex.git
118
+ - run : pip install ./rex
119
+ # driller
120
+ - run : git clone https://github.com/shellphish/driller.git
121
+ - run : pip install ./driller
122
+ # heaphopper
123
+ - run : git clone https://github.com/angr/heaphopper.git
124
+ - run : pip install ./heaphopper
125
+ # patcherex
126
+ - run : git clone https://github.com/angr/patcherex.git
127
+ - run : pip install ./patcherex
128
+
129
+ # Reinstall archinfo in case it was overwritten by one of the ecosystem packages
130
+ - run : pip install ./archinfo[testing]
131
+
132
+ - name : Run pytest
133
+ run : |
134
+ pytest -rs -n auto --splits 5 --group ${{matrix.group}} \
135
+ pyvex \
136
+ cle \
137
+ angr \
138
+ angr-management \
139
+ angr-examples \
140
+ angr-platforms \
141
+ pysoot \
142
+ angrop \
143
+ rex \
144
+ driller \
145
+ heaphopper \
146
+ patcherex
147
+ env :
148
+ SKIP_SLOW_TESTS : 1
0 commit comments