name: CTest on: [push] jobs: build: # The CMake configure and build commands are platform-agnostic and should work equally # well on Windows or Mac. You can convert this to a matrix build if you need # cross-platform coverage. # See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix runs-on: ubuntu-latest strategy: # By default, GitHub will maximize the number of jobs run in parallel # depending on the available runners on GitHub-hosted virtual machines. # max-parallel: 8 fail-fast: false matrix: include: - python-version: "3.7" - python-version: "3.8" - python-version: "3.9" - python-version: "3.10" - python-version: "3.11" steps: - uses: actions/checkout@v3 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v4 with: python-version: ${{ matrix.python-version }} - name: Install packages shell: bash run: | sudo apt-get update sudo apt-get install octave octave-common octave-signal sox portaudio19-dev python3-pyaudio pip3 install psutil crcengine ujson pyserial numpy structlog sounddevice pyaudio pip3 install pytest pytest-rerunfailures - name: Build codec2 shell: bash run: | git clone https://github.com/drowe67/codec2.git cd codec2 && git checkout master # This should be pinned to a release mkdir -p build_linux && cd build_linux && cmake .. && make - name: run ctests shell: bash working-directory: ${{github.workspace}} run: | mkdir build && cd build cmake -DCODEC2_BUILD_DIR=$GITHUB_WORKSPACE/codec2/build_linux .. ctest --output-on-failure