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