igo_nr: bound host-supplied control and config data #17692
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: User space tools/ directory | |
| # 'workflow_dispatch' allows running this workflow manually from the | |
| # 'Actions' tab | |
| # yamllint disable-line rule:truthy | |
| on: [pull_request, workflow_dispatch, workflow_call] | |
| permissions: | |
| contents: read | |
| jobs: | |
| # This is not the same as building every ./build-tools.sh option. | |
| top-level_default_CMake_target_ALL: | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| filter: 'tree:0' | |
| path: sof | |
| - name: apt get | |
| run: sudo apt-get update && | |
| sudo apt-get -y install ninja-build | |
| automake autoconf libtool gettext libasound2-dev | |
| pkg-config | |
| # Ubuntu 24.04 ships autoconf 2.71, but current alsa-lib/alsa-utils | |
| # require >= 2.72. Build a newer autoconf from the GNU release | |
| # tarball and install it into /usr/local (ahead of /usr/bin in PATH). | |
| - name: Install autoconf 2.72 | |
| run: | | |
| cd ${GITHUB_WORKSPACE} | |
| wget -q https://ftp.gnu.org/gnu/autoconf/autoconf-2.72.tar.gz | |
| tar xf autoconf-2.72.tar.gz | |
| cd autoconf-2.72 | |
| ./configure --prefix=/usr/local | |
| make -j"$(nproc)" | |
| sudo make install | |
| hash -r | |
| autoconf --version | head -n1 | |
| - name: Build Alsa-lib | |
| run: | | |
| cd ${GITHUB_WORKSPACE} | |
| git clone https://github.com/thesofproject/alsa-lib.git | |
| cd alsa-lib | |
| git checkout 08b532cd3da9ac8f683bcb4e4beb9b74c39c1782 -b build | |
| ./gitcompile --prefix=${GITHUB_WORKSPACE}/tools | |
| make install | |
| - name: Build Alsa-utils | |
| run: | | |
| cd ${GITHUB_WORKSPACE} | |
| git clone https://github.com/thesofproject/alsa-utils.git | |
| cd alsa-utils | |
| git checkout 9feb22ba45b48729729c8d194aaf1bc082a6842a -b build | |
| ./gitcompile --prefix=${GITHUB_WORKSPACE}/tools \ | |
| --with-alsa-prefix=${GITHUB_WORKSPACE}/tools \ | |
| --with-alsa-inc-prefix=${GITHUB_WORKSPACE}/tools/include \ | |
| --with-sysroot=${GITHUB_WORKSPACE}/tools \ | |
| --with-udev-rules-dir=${GITHUB_WORKSPACE}/tools \ | |
| PKG_CONFIG_PATH=${GITHUB_WORKSPACE}/tools \ | |
| LDFLAGS=-L${GITHUB_WORKSPACE}/tools/lib \ | |
| --disable-old-symbols \ | |
| --enable-alsatopology \ | |
| --with-asound-state-dir=${GITHUB_WORKSPACE}/tools/var/lib/alsa \ | |
| --with-systemdsystemunitdir=${GITHUB_WORKSPACE}/tools/lib/systemd/system | |
| make install | |
| # For some reason gcc has more warnings in Release mode | |
| - name: build-tools | |
| env: | |
| PKG_CONFIG_PATH: ${{ github.workspace }}/tools/lib/pkgconfig | |
| LD_LIBRARY_PATH: ${{ github.workspace }}/tools/lib | |
| PATH: ${{ github.workspace }}/tools/bin:/usr/local/bin:/usr/bin:/bin | |
| run: CMAKE_BUILD_TYPE=Release ./sof/scripts/build-tools.sh || | |
| VERBOSE=1 NO_PROCESSORS=1 USE_XARGS=no | |
| CMAKE_BUILD_TYPE=Release ./sof/scripts/build-tools.sh | |
| SOF-alsa-plugin: | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: {filter: 'tree:0'} | |
| - name: apt install | |
| run: sudo apt-get update; | |
| sudo apt-get -y install ninja-build libasound2-dev | |
| # One space character is enough to detect most quoting issues | |
| - name: configure | |
| run: cmake -GNinja -B 'build plugin' -S tools/plugin | |
| -GNinja -Wdev -Werror=dev --warn-uninitialized | |
| # Retry with -j1 in case of error because parallel builds drown error | |
| # messages. | |
| - name: build ExternalProjects first to avoid build race condition | |
| run: cmake --build 'build plugin' -- sof_ep parser_ep || | |
| cmake --build 'build plugin' -- sof_ep parser_ep -j1 | |
| - name: Remaining build steps | |
| run: cmake --build 'build plugin' || | |
| cmake --build 'build plugin' -j1 |