-
Notifications
You must be signed in to change notification settings - Fork 36
108 lines (87 loc) · 2.8 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
name: Tests
on: [push, pull_request]
jobs:
test_awfy:
runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
include:
- { name: Java, id: java, folder: Java }
- { name: SOM, id: som, folder: SOM }
- { name: Crystal, id: crystal, folder: Crystal }
- { name: JavaScript, id: js, folder: JavaScript }
- { name: SOMns, id: somns, folder: SOMns }
#- { name: Pharo, id: pharo, folder: Smalltalk }
- { name: Squeak 64-bit, id: squeak64, folder: Smalltalk }
- { name: Ruby, id: ruby, folder: Ruby }
- { name: Lua, id: lua, folder: Lua }
- { name: Python, id: python, folder: Python }
name: ${{ matrix.name }}
steps:
- uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Checkout AWFY Repository
uses: actions/checkout@v4
- 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 == 'lua'
- name: Install LuaRocks
uses: leafo/gh-actions-luarocks@v4
if: matrix.id == 'lua'
- name: Install LuaCheck and lua5.2 symlink
run: |
luarocks install luacheck
(cd .lua/bin && ln -s lua lua5.2)
if: matrix.id == 'lua'
- 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: |
benchmarks/${{ matrix.folder }}/build.sh
- name: ReBench Test Run
run: |
rebench test.conf test-${{ matrix.id }}
- name: Style Check
run: |
benchmarks/${{ matrix.folder }}/build.sh style skip-black-for-python