Repository navigation
Add libplacebo GPU module with render and shader filters #339
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: Test Building on Distros | |
| on: | |
| pull_request: | |
| branches: | |
| - master | |
| workflow_dispatch: | |
| inputs: | |
| target: | |
| description: 'Target distribution to build (or "all" for all targets)' | |
| required: false | |
| default: 'all' | |
| type: choice | |
| options: | |
| - all | |
| - ubuntu-26.04 | |
| - ubuntu-24.04 | |
| - ubuntu-22.04 | |
| - debian-testing | |
| - debian-stable | |
| - fedora-44 | |
| - fedora-40 | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - name: ubuntu-26.04 | |
| image: ubuntu:26.04 | |
| setup_script: | | |
| sed -i 's/^Types: deb/Types: deb deb-src/' /etc/apt/sources.list.d/ubuntu.sources | |
| DEBIAN_FRONTEND=noninteractive apt-get -qq update | |
| DEBIAN_FRONTEND=noninteractive apt-get -yqq build-dep mlt | |
| DEBIAN_FRONTEND=noninteractive apt-get -yqq install autoconf automake git libtool pkg-config wget cmake libplacebo-dev qt6-base-dev libqt6svg6-dev | |
| git clone --depth 1 --branch v0.2 https://github.com/xiph/rnnoise.git /tmp/rnnoise | |
| cd /tmp/rnnoise | |
| ./autogen.sh | |
| ./configure --prefix=/usr/local --enable-shared --disable-static | |
| make -j"$(nproc)" | |
| make install | |
| - name: ubuntu-24.04 | |
| image: ubuntu:24.04 | |
| setup_script: | | |
| sed -i 's/^Types: deb/Types: deb deb-src/' /etc/apt/sources.list.d/ubuntu.sources | |
| DEBIAN_FRONTEND=noninteractive apt-get -qq update | |
| DEBIAN_FRONTEND=noninteractive apt-get -yqq build-dep mlt | |
| DEBIAN_FRONTEND=noninteractive apt-get -yqq install autoconf automake git libtool pkg-config wget cmake qt6-base-dev libplacebo-dev libqt6svg6-dev | |
| git clone --depth 1 --branch v0.2 https://github.com/xiph/rnnoise.git /tmp/rnnoise | |
| cd /tmp/rnnoise | |
| ./autogen.sh | |
| ./configure --prefix=/usr/local --enable-shared --disable-static | |
| make -j"$(nproc)" | |
| make install | |
| - name: ubuntu-22.04 | |
| image: ubuntu:22.04 | |
| setup_script: | | |
| sed -i '/^#\sdeb-src /s/^#//' "/etc/apt/sources.list" | |
| DEBIAN_FRONTEND=noninteractive apt-get -qq update | |
| DEBIAN_FRONTEND=noninteractive apt-get -yqq build-dep mlt | |
| DEBIAN_FRONTEND=noninteractive apt-get -yqq install autoconf automake git libtool pkg-config wget cmake libplacebo-dev qt6-base-dev libqt6svg6-dev libqt6core5compat6-dev | |
| git clone --depth 1 --branch v0.2 https://github.com/xiph/rnnoise.git /tmp/rnnoise | |
| cd /tmp/rnnoise | |
| ./autogen.sh | |
| ./configure --prefix=/usr/local --enable-shared --disable-static | |
| make -j"$(nproc)" | |
| make install | |
| - name: debian-testing | |
| image: debian:testing | |
| setup_script: | | |
| echo 'deb-src http://deb.debian.org/debian testing main' >> /etc/apt/sources.list | |
| apt-get -qq update | |
| apt-get -yqq build-dep mlt | |
| apt-get -yqq install autoconf automake git libtool pkg-config wget cmake libplacebo-dev qt6-base-dev libqt6svg6-dev | |
| git clone --depth 1 --branch v0.2 https://github.com/xiph/rnnoise.git /tmp/rnnoise | |
| cd /tmp/rnnoise | |
| ./autogen.sh | |
| ./configure --prefix=/usr/local --enable-shared --disable-static | |
| make -j"$(nproc)" | |
| make install | |
| - name: debian-stable | |
| image: debian:stable | |
| setup_script: | | |
| echo 'deb-src http://deb.debian.org/debian stable main\ndeb-src http://deb.debian.org/debian stable-updates main' >> /etc/apt/sources.list | |
| echo 'deb http://deb.debian.org/debian bookworm-backports main' >> /etc/apt/sources.list | |
| apt-get -qq update | |
| apt-get -yqq build-dep mlt | |
| apt-get -yqq install autoconf automake git libtool pkg-config wget cmake libplacebo-dev qt6-base-dev libqt6svg6-dev | |
| git clone --depth 1 --branch v0.2 https://github.com/xiph/rnnoise.git /tmp/rnnoise | |
| cd /tmp/rnnoise | |
| ./autogen.sh | |
| ./configure --prefix=/usr/local --enable-shared --disable-static | |
| make -j"$(nproc)" | |
| make install | |
| - name: fedora-44 | |
| image: fedora:44 | |
| setup_script: | | |
| dnf --assumeyes group install development-tools | |
| dnf --assumeyes install \ | |
| yasm gavl-devel libsamplerate-devel libxml2-devel \ | |
| ladspa-devel jack-audio-connection-kit-devel sox-devel \ | |
| SDL2-devel fftw-devel frei0r-devel gtk2-devel libexif-devel \ | |
| qt6-qtbase-devel qt6-qtsvg-devel \ | |
| libtheora-devel libvorbis-devel libvdpau-devel \ | |
| libsoup-devel liboil-devel python-devel alsa-lib \ | |
| pulseaudio-libs-devel gcc-c++ cmake ffmpeg-free-devel \ | |
| libplacebo-devel movit-devel rubberband-devel vid.stab-devel rnnoise-devel | |
| - name: fedora-40 | |
| image: fedora:40 | |
| setup_script: | | |
| yum --assumeyes groupinstall "Development Tools" | |
| yum --assumeyes install \ | |
| yasm gavl-devel libsamplerate-devel libxml2-devel \ | |
| ladspa-devel jack-audio-connection-kit-devel sox-devel \ | |
| SDL2-devel fftw-devel frei0r-devel gtk2-devel libexif-devel \ | |
| qt6-qtbase-devel qt6-qtsvg-devel \ | |
| libtheora-devel libvorbis-devel libvdpau-devel \ | |
| libsoup-devel liboil-devel python-devel alsa-lib \ | |
| pulseaudio-libs-devel gcc-c++ cmake ffmpeg-free-devel \ | |
| libplacebo-devel movit-devel rubberband-devel vid.stab-devel rnnoise-devel | |
| container: | |
| image: ${{ matrix.image }} | |
| name: Build on ${{ matrix.name }} | |
| steps: | |
| - name: Check if job should run | |
| id: should_run | |
| run: | | |
| # For pull requests, always run all jobs | |
| # For workflow_dispatch, check the input parameter | |
| if [ "${{ github.event_name }}" = "pull_request" ]; then | |
| echo "run=true" >> $GITHUB_OUTPUT | |
| elif [ "${{ github.event.inputs.target }}" = "all" ] || [ "${{ github.event.inputs.target }}" = "${{ matrix.name }}" ]; then | |
| echo "run=true" >> $GITHUB_OUTPUT | |
| else | |
| echo "run=false" >> $GITHUB_OUTPUT | |
| fi | |
| - name: Checkout code | |
| if: steps.should_run.outputs.run == 'true' | |
| uses: actions/checkout@v4 | |
| - name: Setup dependencies | |
| if: steps.should_run.outputs.run == 'true' | |
| run: | | |
| ${{ matrix.setup_script }} | |
| - name: Build and install | |
| if: steps.should_run.outputs.run == 'true' | |
| run: | | |
| cmake -DCMAKE_BUILD_TYPE=Debug . && make -j -f Makefile install |