-
Notifications
You must be signed in to change notification settings - Fork 39
129 lines (100 loc) · 2.89 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
126
127
128
129
name: Tests
on: [push, pull_request]
jobs:
test_awfy:
runs-on: ${{ matrix.ubuntu == '' && 'ubuntu-22.04' || matrix.ubuntu }}
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
ubuntu: ubuntu-20.04
# - 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: C++
id: cpp
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