misc: add mix_stream_url config option (#74) #580
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: CI | |
| on: | |
| push: | |
| branches: [ main ] | |
| pull_request: | |
| branches: [ main ] | |
| jobs: | |
| webui: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Use Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '22' | |
| cache: 'npm' | |
| cache-dependency-path: 'webui/package-lock.json' | |
| - name: build | |
| run: | | |
| cd webui && npm install && npm run build && cd .. | |
| zip -r webui.zip webui/dist | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: webui | |
| path: webui.zip | |
| retention-days: 1 | |
| ccheck: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: ccheck | |
| run: | | |
| make ccheck | |
| test: | |
| runs-on: ${{ matrix.os }} | |
| needs: webui | |
| strategy: | |
| matrix: | |
| os: [ubuntu-24.04] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: install clang-18 and ninja | |
| if: ${{ runner.os == 'Linux' }} | |
| run: | | |
| wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add - | |
| sudo add-apt-repository "deb http://apt.llvm.org/noble/ llvm-toolchain-noble-18 main" | |
| sudo apt-get update | |
| sudo apt-get install -y clang-tools-18 clang-18 clang-tidy-18 ninja-build cppcheck gdb | |
| - name: install libs | |
| if: ${{ runner.os == 'Linux' }} | |
| run: | | |
| sudo apt-get install -y libgd-dev libopus-dev libz-dev libssl-dev \ | |
| libavformat-dev libavcodec-dev libswscale-dev libflac-dev liblmdb-dev \ | |
| libswresample-dev libavfilter-dev libavdevice-dev | |
| - uses: actions/download-artifact@v4 | |
| with: | |
| name: webui | |
| - name: make StudioLink - Linux | |
| if: ${{ runner.os == 'Linux' }} | |
| run: CC=clang-18 make | |
| - name: test requirements | |
| run: cd tests/phpunit && composer install | |
| - name: make test | |
| run: make test | |
| - name: clang-tidy | |
| if: ${{ runner.os == 'Linux' }} | |
| run: | | |
| clang-tidy-18 -p build -checks=cert-\*,-cert-dcl37-c,-cert-dcl51-cpp,-clang-analyzer-valist.Uninitialized src/*.c | |
| clang-tidy-18 -p build -checks=cert-\*,-cert-dcl37-c,-cert-dcl51-cpp,-clang-analyzer-valist.Uninitialized modules/**/*.c | |
| - name: clang scan-build | |
| if: ${{ runner.os == 'Linux' }} | |
| run: make clean && scan-build-18 --status-bugs make | |
| analyze: | |
| name: CodeQL Analyze | |
| runs-on: ubuntu-24.04 | |
| needs: webui | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: install and ninja | |
| run: | | |
| sudo apt-get update && sudo apt-get install -y ninja-build | |
| - name: install libs | |
| if: ${{ runner.os == 'Linux' }} | |
| run: | | |
| sudo apt-get install -y libgd-dev libopus-dev libz-dev libssl-dev \ | |
| libavformat-dev libavcodec-dev libswscale-dev libflac-dev liblmdb-dev \ | |
| libswresample-dev libavfilter-dev libavdevice-dev | |
| - uses: actions/cache@v4 | |
| with: | |
| path: third_party | |
| key: ${{ runner.os }}-gcc-${{ hashFiles('versions.mk') }} | |
| - uses: actions/download-artifact@v4 | |
| with: | |
| name: webui | |
| - name: unzip webui | |
| run: rm -Rf webui && unzip webui.zip | |
| - run: make && make clean | |
| - name: Initialize CodeQL | |
| uses: github/codeql-action/init@v3 | |
| with: | |
| languages: cpp | |
| queries: security-extended | |
| - run: | | |
| make | |
| - name: Perform CodeQL Analysis | |
| uses: github/codeql-action/analyze@v3 |