Skip to content

Commit 5c0b105

Browse files
committed
Use GitHub Actions instead of Travis CI
Signed-off-by: Stefan Marr <[email protected]>
1 parent 88c59fd commit 5c0b105

File tree

3 files changed

+70
-40
lines changed

3 files changed

+70
-40
lines changed

.github/workflows/ci.yml

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
name: Tests
2+
3+
on: [push, pull_request]
4+
5+
jobs:
6+
test_soms:
7+
runs-on: ubuntu-22.04
8+
continue-on-error: true
9+
strategy:
10+
fail-fast: false # we want all jobs to run, because they may fail independently
11+
matrix:
12+
compiler: [clang, gcc]
13+
gc: [GENERATIONAL, MARK_SWEEP, COPYING]
14+
integers:
15+
- "-DUSE_TAGGING=true"
16+
- "-DUSE_TAGGING=false -DCACHE_INTEGER=true"
17+
- "-DUSE_TAGGING=false -DCACHE_INTEGER=false"
18+
19+
steps:
20+
- name: Checkout SOM Repository
21+
uses: actions/checkout@v4
22+
with:
23+
submodules: true
24+
25+
- name: Install Apt Packages
26+
run: |
27+
sudo apt-get install libcppunit-dev
28+
29+
- name: Build SOM VM
30+
run: |
31+
if [ "${{ matrix.compiler }}" = "clang" ]
32+
then
33+
export CC=clang
34+
export CXX=clang++
35+
else
36+
export CC=gcc
37+
export CXX=g++
38+
fi
39+
echo $CC $CXX
40+
echo cmake . -DGC_TYPE=${{ matrix.gc}} ${{ matrix.integers }}
41+
mkdir cmake-build
42+
cd cmake-build
43+
cmake .. -DGC_TYPE=${{ matrix.gc}} ${{ matrix.integers }}
44+
make
45+
46+
- name: Run Unit Tests
47+
run: |
48+
cd cmake-build
49+
./unittests -cp ../Smalltalk:../TestSuite/BasicInterpreterTests ../Examples/Hello.som
50+
51+
- name: Run Tests on SOM VM
52+
run: |
53+
cd cmake-build
54+
./SOM++ -cp ../Smalltalk ../TestSuite/TestHarness.som
55+
56+
- name: Test SomSom
57+
run: |
58+
cd cmake-build
59+
./SOM++ -cp ../Smalltalk:../TestSuite:../core-lib/SomSom/src/compiler:../core-lib/SomSom/src/interpreter:../core-lib/SomSom/src/primitives:../core-lib/SomSom/src/vm:../core-lib/SomSom/src/vmobjects ../core-lib/SomSom/tests/SomSomTests.som

.travis.yml

Lines changed: 0 additions & 32 deletions
This file was deleted.

README.md

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -27,17 +27,19 @@ implementation of the SOM standard library and a number of examples. Please see
2727
the [main project page][SOMst] for links to the VM implementations.
2828

2929

30-
SOM++ can be built with Make:
30+
SOM++ uses CMake for building:
3131

32+
$ mkdir cmake-build && cd cmake-build
33+
$ cmake ..
3234
$ make
3335

3436
Afterwards, the tests can be executed with:
3537

36-
$ ./SOM++ -cp Smalltalk TestSuite/TestHarness.som
38+
$ ./SOM++ -cp ../Smalltalk ../TestSuite/TestHarness.som
3739

3840
A simple Hello World program is executed with:
3941

40-
$ ./SOM++ -cp Smalltalk Examples/Hello.som
42+
$ ./SOM++ -cp ../Smalltalk ../Examples/Hello.som
4143

4244
**Note**: On Linux, the library search path needs to be adapted:
4345

@@ -64,20 +66,21 @@ Tagged integers:
6466

6567
default: off
6668
option name: TAGGING
67-
example: make TAGGING=true
69+
example: cmake .. -DUSE_TAGGING=true
6870

6971
Integer caching:
7072

7173
default: off
7274
option name: INT_CACHE
73-
example: make INT_CACHE=true
75+
example: cmake .. -DCACHE_INTEGER=true
76+
7477

7578
Build Status
7679
------------
7780

78-
Thanks to Travis CI, all commits of this repository are tested.
79-
The current build status is: [![Build Status](https://travis-ci.org/SOM-st/SOMpp.png?branch=master)](https://travis-ci.org/SOM-st/SOMpp/)
81+
Thanks to GitHub Actions, all commits of this repository are tested.
82+
The current build status is: [![Build Status](https://github.com/SOM-st/SOMpp/actions/workflows/ci.yml/badge.svg)](https://github.com/SOM-st/SOMpp/actions/workflows/ci.yml)
8083

8184
[SOM]: http://www.hpi.uni-potsdam.de/hirschfeld/projects/som/
82-
[SOMst]: https://travis-ci.org/SOM-st/
85+
[SOMst]: https://som-st.github.io
8386

0 commit comments

Comments
 (0)