AnalogTapeModel

Physical modelling signal processing for analog tape recording
Log | Files | Refs | Submodules | README | LICENSE

cmake.yml (1949B)


      1 name: CI
      2 
      3 on:
      4   push:
      5     branches:
      6     - master
      7     - develop
      8     paths:
      9     - 'Plugin/**'
     10   pull_request:
     11     branches:
     12     - master
     13     - develop
     14 
     15   workflow_dispatch:
     16 
     17 jobs:
     18   build_and_test:
     19     if: contains(toJson(github.event.commits), '***NO_CI***') == false && contains(toJson(github.event.commits), '[ci skip]') == false && contains(toJson(github.event.commits), '[skip ci]') == false
     20     name: Test plugin on ${{ matrix.os }}
     21     runs-on: ${{ matrix.os }}
     22     strategy:
     23       fail-fast: false # show all errors for each platform (vs. cancel jobs on error)
     24       matrix:
     25         os: [ubuntu-latest, windows-2019, macOS-latest]
     26     
     27     steps:
     28     - name: Install Linux Deps
     29       if: runner.os == 'Linux'
     30       run: |
     31         sudo apt-get update
     32         sudo apt install libasound2-dev libcurl4-openssl-dev libx11-dev libxinerama-dev libxext-dev libfreetype6-dev libwebkit2gtk-4.0-dev libglu1-mesa-dev libjack-jackd2-dev lv2-dev
     33         sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 9
     34         sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 9
     35     
     36     - name: Get latest CMake
     37       uses: lukka/get-cmake@latest
     38 
     39     - name: Checkout code
     40       uses: actions/checkout@v2
     41       with:
     42         submodules: recursive
     43 
     44 #    - name: Setup debug session
     45 #      if: runner.os == 'Linux'
     46 #      uses: mxschmitt/action-tmate@v3
     47 
     48     - name: Configure
     49       shell: bash
     50       working-directory: ${{github.workspace}}/Plugin
     51       run: cmake -Bbuild -DBUILD_HEADLESS=ON -DCMAKE_BUILD_TYPE=Release
     52 
     53     - name: Build
     54       shell: bash
     55       working-directory: ${{github.workspace}}/Plugin
     56       run: cmake --build build --config Release --parallel 4
     57 
     58     - name: Unit Tests
     59       shell: bash
     60       working-directory: ${{github.workspace}}/Plugin
     61       run: build/ChowTapeModel --unit-tests --all
     62 
     63     - name: Pluginval
     64       if: runner.os == 'Windows' || runner.os == 'MacOS'
     65       run: bash Scripts/validate.sh