-
Notifications
You must be signed in to change notification settings - Fork 39
125 lines (97 loc) · 2.75 KB
/
ci.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
113
114
115
116
117
118
119
120
121
122
123
124
125
name: Tests
on: [push, pull_request]
jobs:
test_awfy:
runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
include:
- name: Java
id: java
- name: SOM
id: som
- name: Crystal
id: crystal
- name: JavaScript
id: js
- name: SOMns
id: somns
- name: Pharo
id: pharo
- name: Squeak 64-bit
id: squeak64
- name: Ruby
id: ruby
- name: Lua 5.2
id: lua52
- name: Python
id: python
name: ${{ matrix.name }}
steps:
- uses: actions/setup-python@v4
with:
python-version: '3.10'
- name: Checkout AWFY Repository
uses: actions/checkout@v3
- name: Install ReBench
run: |
python -m pip install ReBench
- name: Install Crystal
if: matrix.id == 'crystal'
uses: oprypin/install-crystal@v1
- name: Install JS
if: matrix.id == 'js'
run: |
(cd benchmarks/JavaScript; npm install .)
- name: Install Pharo
if: matrix.id == 'pharo'
uses: hpi-swa/setup-smalltalkCI@v1
with:
smalltalk-image: Pharo64-stable
- name: Install Squeak64
if: matrix.id == 'squeak64'
uses: hpi-swa/setup-smalltalkCI@v1
with:
smalltalk-image: Squeak64-5.2
- name: Install Squeak32
if: matrix.id == 'squeak32'
uses: hpi-swa/setup-smalltalkCI@v1
with:
smalltalk-image: Squeak32-5.2
- name: Install Ruby
if: matrix.id == 'ruby'
run: |
sudo gem install rubocop
- name: Install Lua
uses: leafo/gh-actions-lua@v10
with:
luaVersion: 5.2
if: matrix.id == 'lua52'
- name: Install LuaRocks
uses: leafo/gh-actions-luarocks@v4
if: matrix.id == 'lua52'
- name: Install LuaCheck and lua5.2 symlink
run: |
luarocks install luacheck
(cd .lua/bin && ln -s lua lua5.2)
if: matrix.id == 'lua52'
- name: Install Python
run: |
python -m pip install pylint
if: matrix.id == 'python'
- name: Python Black Style Check
uses: psf/black@stable
with:
options: "--check --diff ."
src: "./benchmarks/Python"
if: matrix.id == 'python'
- name: Build
run: |
implementations/build-${{ matrix.id }}.sh
- name: ReBench Test Run
run: |
rebench test.conf test-${{ matrix.id }}
- name: Style Check
run: |
implementations/build-${{ matrix.id }}.sh style skip-black-for-python