add c/c++ testing infrastructure and tests + fix for clock internal and jack client timing issues #64
Workflow file for this run
This file contains hidden or 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: test | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| workflow_dispatch: | |
| jobs: | |
| test-c_cpp: | |
| runs-on: ubuntu-24.04-arm | |
| steps: | |
| - name: check out repository | |
| uses: actions/checkout@v4 | |
| with: | |
| submodules: 'recursive' | |
| - name: ensure build directory exists | |
| # this is needed so that the cache action can do the caching | |
| run: mkdir -p build | |
| - name: cache waf build directory | |
| uses: actions/cache@v4 | |
| with: | |
| path: build | |
| # create a cache key based on the wscript files | |
| key: ${{ runner.os }}-waf-build-${{ hashFiles('**/wscript') }} | |
| restore-keys: | | |
| ${{ runner.os }}-waf-build- | |
| - name: Login to GitHub Container Registry | |
| uses: docker/login-action@v2 | |
| with: | |
| registry: ghcr.io | |
| username: ${{ github.repository_owner }} | |
| password: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Pre-build dev container image and run tests inside dev container | |
| uses: devcontainers/[email protected] | |
| with: | |
| imageName: ghcr.io/monome/norns-ci | |
| cacheFrom: ghcr.io/monome/norns-ci | |
| push: never | |
| runCmd: ./waf configure && sh ./test.sh | |
| test-lua: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: install lua | |
| run: | | |
| sudo apt-get update -qq | |
| sudo apt-get install -y lua5.3 | |
| - name: run lua tests | |
| run: ./test-lua.sh |