From ac7c48b4dee99d4c772f133d70d8d1b38262fcd2 Mon Sep 17 00:00:00 2001 From: Author Name Date: Fri, 7 Jul 2023 12:20:59 +0930 Subject: shallow zip-file copy from codec2 e9d726bf20 --- .github/workflows/cmake-sm1000.yml | 43 ++++++++++++++++++++++++++++ .github/workflows/cmake.yml | 58 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 101 insertions(+) create mode 100644 .github/workflows/cmake-sm1000.yml create mode 100644 .github/workflows/cmake.yml (limited to '.github/workflows') diff --git a/.github/workflows/cmake-sm1000.yml b/.github/workflows/cmake-sm1000.yml new file mode 100644 index 0000000..cce1bbe --- /dev/null +++ b/.github/workflows/cmake-sm1000.yml @@ -0,0 +1,43 @@ +name: Build SM1000 + +on: [pull_request] + +env: + # Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) + BUILD_TYPE: Debug + +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 + + steps: + - uses: actions/checkout@v2 + + - name: Install packages + shell: bash + run: | + sudo apt-get update + sudo apt-get install octave octave-common octave-signal liboctave-dev gnuplot sox p7zip-full python3-numpy valgrind + + - name: Install ST Standard Peripheral Library (SM1000) + working-directory: ${{github.workspace}}/stm32 + shell: bash + run: git clone https://github.com/whimsicalraps/STM32F4xx_DSP_StdPeriph_Lib + + - name: Install SM1000 prerequisites + working-directory: ${{github.workspace}}/stm32 + shell: bash + run: sudo apt install gcc-arm-none-eabi + + - name: Build SM1000 + working-directory: ${{github.workspace}}/stm32 + shell: bash + run: | + mkdir build_stm32 + cd build_stm32 + cmake -DCMAKE_TOOLCHAIN_FILE=../cmake/STM32_Toolchain.cmake -DPERIPHLIBDIR=${{github.workspace}}/stm32/STM32F4xx_DSP_StdPeriph_Lib .. + make diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml new file mode 100644 index 0000000..79eb86a --- /dev/null +++ b/.github/workflows/cmake.yml @@ -0,0 +1,58 @@ +name: Build Codec2 for Linux + +on: [pull_request] + +env: + # Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) + BUILD_TYPE: Debug + +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 + + steps: + - uses: actions/checkout@v2 + + - name: Install packages + shell: bash + run: | + sudo apt-get update + sudo apt-get install octave octave-common octave-signal liboctave-dev gnuplot sox p7zip-full python3-numpy valgrind + + - name: Create Build Directory + shell: bash + run: mkdir $GITHUB_WORKSPACE/build_linux + + - name: Configure codec2 CMake + shell: bash + working-directory: ${{github.workspace}}/build_linux + run: cmake -DUNITTEST=1 $GITHUB_WORKSPACE + + - name: Build LPCNet and Run ctests + shell: bash + run: | + cd $HOME + git clone https://github.com/drowe67/LPCNet.git + cd LPCNet && mkdir -p build_linux && cd build_linux + cmake .. && make && ctest + + - name: Build codec2 with LPCNet + working-directory: ${{github.workspace}}/build_linux + shell: bash + run: | + cmake -DLPCNET_BUILD_DIR=$HOME/LPCNet/build_linux -DUNITTEST=1 $GITHUB_WORKSPACE + make -j4 + + - name: Run ctests + working-directory: ${{github.workspace}}/build_linux + shell: bash + run: ctest --output-on-failure + + - name: Test library installation + working-directory: ${{github.workspace}}/build_linux + shell: bash + run: cmake --install . --prefix "$HOME/codec2_install" && rm -rf "$HOME/codec2_install" -- cgit v1.2.3