• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1name: CI
2
3on:
4  push:
5    branches: [ main ]
6  pull_request:
7    branches: [ main ]
8
9jobs:
10  build-linux:
11    runs-on: ubuntu-latest
12    steps:
13    - uses: actions/checkout@v4
14    - run: gcc -v
15    - run: make
16
17  build-linux-meson:
18    runs-on: ubuntu-latest
19    steps:
20    - uses: actions/checkout@v4
21    - uses: actions/setup-python@v5
22      with:
23        python-version: '3.10'
24        cache: 'pip'
25    - run: pip install meson ninja
26    - run: gcc -v
27    - run: meson setup builddir/
28      env:
29        CC: gcc
30    - run: meson compile -C builddir/
31
32  build-macos-meson:
33    runs-on: macos-latest
34    steps:
35    - uses: actions/checkout@v4
36    - uses: actions/setup-python@v5
37      with:
38        python-version: '3.10'
39        cache: 'pip'
40    - run: pip install meson ninja
41    - run: clang -v
42    - run: meson setup builddir/
43      env:
44        CC: clang
45    - run: meson compile -C builddir/
46
47  build-msvc-meson:
48    runs-on: windows-latest
49    steps:
50    - uses: actions/checkout@v4
51    - uses: actions/setup-python@v5
52      with:
53        python-version: '3.10'
54        cache: 'pip'
55    - run: pip install meson ninja
56    - uses: TheMrMilchmann/setup-msvc-dev@v3
57      with:
58        arch: x64
59    - run: meson setup builddir
60    - run: meson compile -C builddir
61
62  build-wasm:
63    runs-on: ubuntu-latest
64    steps:
65    - uses: actions/checkout@v4
66    - run: clang -v
67    - run: make CC="clang --target=wasm32"
68    - uses: actions/upload-artifact@v4
69      with:
70        name: liblc3.wasm
71        path: bin/liblc3.wasm
72
73  test-linux:
74    runs-on: ubuntu-latest
75    steps:
76    - uses: actions/checkout@v4
77    - uses: actions/setup-python@v5
78      with:
79        python-version: '3.10'
80        cache: 'pip'
81    - run: pip install scipy numpy
82    - run: gcc -v
83    - run: make test
84
85  install-python-linux:
86    runs-on: ubuntu-latest
87    steps:
88    - uses: actions/checkout@v4
89    - uses: actions/setup-python@v5
90      with:
91        python-version: '3.10'
92        cache: 'pip'
93    - run: pip install .
94