Resolves gh-22 and gh-63: #50
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: build-and-run | |
on: [push, pull_request] | |
jobs: | |
build-libsignaletic: | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [windows-latest, ubuntu-latest, macos-latest] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-python@v1 | |
with: | |
python-version: '3.x' | |
- uses: BSFishy/pip-action@v1 | |
with: | |
packages: | | |
meson | |
ninja | |
- name: Prepare MSVC (Windows-only) | |
if: runner.os == 'Windows' | |
uses: bus1/cabuild/action/msdevshell@v1 | |
# Build libsignaletic for the native architecture | |
- name: Native build | |
run: | | |
cd libsignaletic | |
meson setup build/native | |
meson compile -C build/native | |
# Tests | |
- name: Run native unit tests | |
run: | | |
cd libsignaletic | |
meson test -C build/native -v | |
# Run examples | |
- name: run console example | |
run: ./libsignaletic/build/native/libsignaletic-console-example | |
build-wasm: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-python@v1 | |
with: | |
python-version: '3.x' | |
- uses: BSFishy/pip-action@v1 | |
with: | |
packages: | | |
meson | |
ninja | |
- uses: mymindstorm/setup-emsdk@v11 | |
- name: Web Assembly build | |
run: | | |
./cross-build-wasm.sh | |
- name: Run unit tests in Node.js | |
run: | | |
./run-wasm-tests.sh | |
- name: run console example in Node.js | |
run: node ./libsignaletic/build/wasm/libsignaletic-console-example.js | |
build-daisy-host: | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install ARM toolchain | |
# We only install ARM GCC, since we don't need the other | |
# tools in the Daisy Toolchain and they're slow to install. | |
run: | | |
git clone https://github.com/electro-smith/DaisyToolchain.git | |
cd DaisyToolchain/macOS | |
brew install ./gcc-arm-embedded.rb --cask | |
- name: Build Daisy Host and Examples | |
run: | | |
./cross-build-arm.sh |