Repository navigation
fix(core): forward needs_host_frame() through the consumer proxies #1250
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: Build Linux with system dependencies | |
| on: | |
| push: | |
| # branches: [ "master" ] | |
| pull_request: | |
| branches: ["master"] | |
| jobs: | |
| build: | |
| name: ${{ matrix.container || matrix.os }} ${{ matrix.arch }} (${{matrix.family}}:${{ matrix.distribution }}) | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - os: ubuntu-24.04 | |
| family: ubuntu | |
| distribution: noble | |
| arch: amd64 | |
| container: "" | |
| apt_prefix: sudo | |
| upload_artifacts: true | |
| - os: ubuntu-latest | |
| family: ubuntu | |
| distribution: resolute | |
| arch: amd64 | |
| container: ubuntu:26.04 | |
| apt_prefix: "" | |
| upload_artifacts: false | |
| - os: ubuntu-24.04-arm | |
| family: ubuntu | |
| distribution: resolute | |
| arch: arm64 | |
| container: ubuntu:26.04 | |
| apt_prefix: "" | |
| upload_artifacts: false | |
| - os: ubuntu-latest | |
| family: debian | |
| distribution: trixie | |
| arch: amd64 | |
| container: debian:trixie # Debian 13 | |
| apt_prefix: "" | |
| upload_artifacts: false # Because of CEF, this is not built correctly | |
| - os: ubuntu-latest | |
| family: debian | |
| distribution: sid | |
| arch: amd64 | |
| container: debian:sid # Debian Testing | |
| apt_prefix: "" | |
| upload_artifacts: false # Because of CEF, this is not built correctly | |
| experimental: true | |
| - os: ubuntu-latest | |
| family: archlinux | |
| distribution: latest | |
| arch: amd64 | |
| container: archlinux:latest | |
| apt_prefix: "" | |
| upload_artifacts: false # Not supported | |
| experimental: true | |
| runs-on: ${{ matrix.os }} | |
| container: ${{ matrix.container }} | |
| continue-on-error: ${{ matrix.experimental || false }} # Stop failures of smoke tests being loud | |
| defaults: | |
| run: | |
| shell: bash | |
| steps: | |
| - name: Install git (archlinux) | |
| if: ${{ matrix.family == 'archlinux' }} | |
| run: pacman -Sy --noconfirm git | |
| - uses: actions/checkout@v7 | |
| - name: Setup environment | |
| id: setup-env | |
| if: ${{ matrix.family == 'ubuntu' || matrix.family == 'debian' }} | |
| run: | | |
| ln -s tools/linux/deb/${{ matrix.family }}-${{ matrix.distribution }}/debian ./ | |
| # Build a version number for this build | |
| GH_REF="${GITHUB_REF##*/}" | |
| GH_REF=$(echo "$GH_REF" | sed 's/[\/]/-/g' | sed 's/ /-/g' | sed 's/_/-/g') | |
| VERSION_MAJOR=$(grep -oPi 'set\(CONFIG_VERSION_MAJOR \K\d+' src/CMakeLists.txt) | |
| VERSION_MINOR=$(grep -oPi 'set\(CONFIG_VERSION_MINOR \K\d+' src/CMakeLists.txt) | |
| VERSION_PATCH=$(grep -oPi 'set\(CONFIG_VERSION_BUG \K\d+' src/CMakeLists.txt) | |
| BUILD_VERSION="${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}~${GH_REF}-${{ matrix.distribution }}+${GITHUB_SHA:0:7}" | |
| echo "BUILD_VERSION=$BUILD_VERSION" >> $GITHUB_OUTPUT | |
| echo "Building as $BUILD_VERSION" | |
| BUILD_FILENAME="casparcg-server-${BUILD_VERSION}" | |
| echo "BUILD_FILENAME=$BUILD_FILENAME" >> $GITHUB_OUTPUT | |
| # install some needed tooling | |
| $APT_PREFIX apt-get update | |
| $APT_PREFIX apt-get -y install build-essential dpkg-dev debhelper devscripts | |
| if [[ "${{ matrix.family }}" == "ubuntu" ]]; then | |
| $APT_PREFIX apt-get -y install software-properties-common | |
| $APT_PREFIX add-apt-repository ppa:casparcg/ppa | |
| fi | |
| # Put something in the changelog | |
| export DEBEMAIL="builds@casparcg.com" | |
| export DEBFULLNAME="CasparCG Builds" | |
| dch -v "$BUILD_VERSION" --create -D ${{ matrix.distribution }} --package casparcg-server-beta "Build" | |
| # Install build dependencies | |
| $APT_PREFIX apt-get -y build-dep . | |
| if [[ "${{ matrix.family }}" == "ubuntu" ]]; then | |
| # Download required packages | |
| cd .. | |
| apt-get download casparcg-cef | |
| apt-get download casparcg-scanner | |
| fi | |
| env: | |
| CI: 1 | |
| DEBIAN_FRONTEND: noninteractive | |
| APT_PREFIX: ${{ matrix.apt_prefix }} | |
| - name: Run build | |
| if: ${{ matrix.family == 'ubuntu' || matrix.family == 'debian' }} | |
| run: | | |
| # Perform build | |
| debuild -b -uc -us | |
| env: | |
| CI: 1 | |
| - name: Collect artifacts | |
| id: artifacts | |
| if: ${{ (matrix.family == 'ubuntu' || matrix.family == 'debian') && matrix.upload_artifacts }} | |
| run: | | |
| mkdir -p dist | |
| mv ../*.deb dist/ | |
| # collect some docs for the zip | |
| cp README.md dist/ | |
| cp tools/linux/deb/INSTALLING dist/ | |
| # check if a release branch, or master, or a tag | |
| if [[ "${{ github.ref_name }}" == "master" || "${{ github.ref_name }}" == "2.3.x-lts" ]] | |
| then | |
| # Only proceed if we have an sftp password | |
| if [ -n "${{ secrets.SFTP_PASSWORD }}" ] | |
| then | |
| zip -r "${{ steps.setup-env.outputs.BUILD_FILENAME }}.zip" dist | |
| set -x | |
| eval $(ssh-agent -s) | |
| mkdir -v -m 700 $HOME/.ssh | |
| ssh-keyscan -H ${{ secrets.SFTP_HOST }} > $HOME/.ssh/known_hosts | |
| sshpass -p '${{ secrets.SFTP_PASSWORD }}' rsync -avvz --mkpath "${{ steps.setup-env.outputs.BUILD_FILENAME }}.zip" "${{ secrets.SFTP_USERNAME }}@${{ secrets.SFTP_HOST }}:${{ secrets.SFTP_ROOT }}/${{ github.ref_name }}/${{ steps.setup-env.outputs.BUILD_FILENAME }}.zip" | |
| fi | |
| fi | |
| env: | |
| CI: 1 | |
| - uses: actions/upload-artifact@v7 | |
| if: ${{ (matrix.family == 'ubuntu' || matrix.family == 'debian') && matrix.upload_artifacts }} | |
| with: | |
| name: ${{ steps.setup-env.outputs.BUILD_FILENAME }} | |
| path: dist | |
| - name: Setup environment (archlinux) | |
| if: ${{ matrix.family == 'archlinux' }} | |
| run: | | |
| pacman -Syu --noconfirm | |
| pacman -S --noconfirm --needed \ | |
| base-devel cmake ninja pkg-config \ | |
| boost boost-libs ffmpeg glew libglvnd \ | |
| onetbb openal sfml \ | |
| libxrandr simde | |
| env: | |
| CI: 1 | |
| - name: Run build (archlinux) | |
| if: ${{ matrix.family == 'archlinux' }} | |
| run: | | |
| cmake -B build -S src \ | |
| -DCMAKE_BUILD_TYPE=Release \ | |
| -DDIAG_FONT_PATH="/usr/share/fonts/liberation/LiberationMono-Regular.ttf" \ | |
| -DENABLE_HTML=OFF \ | |
| -G Ninja | |
| cmake --build build | |
| env: | |
| CI: 1 |