Skip to content

Add incubate capability to xorg build script #355

Add incubate capability to xorg build script

Add incubate capability to xorg build script #355

Workflow file for this run

name: build and test
on:
push:
branches-ignore:
- "gh-pages"
tags-ignore:
- "v0.[0-9]**"
pull_request:
branches-ignore:
- "gh-pages"
jobs:
build_and_test:
strategy:
fail-fast: false
matrix:
include:
# GCC builds
- CC: gcc
CONF_FLAGS:
CHECK: 1
DISTCHECK: 1
name_extra: Basic build and dist check
- CC: gcc
CONF_FLAGS: --without-simd
name_extra: Without simd
- CC: gcc
CONF_FLAGS: --enable-glamor
CHECK: 1
name_extra: With glamor
- CC: gcc
CONF_FLAGS: --host=i686-linux
CFLAGS: -m32
arch: i386
name_extra: 32-bit build
# clang builds
- CC: clang
CONF_FLAGS:
CHECK: 1
DISTCHECK: 1
name_extra: Basic build and dist check
- CC: clang
CONF_FLAGS: --without-simd
name_extra: Without simd
- CC: clang
CONF_FLAGS: --enable-glamor
CHECK: 1
name_extra: With glamor
- CC: clang
CONF_FLAGS: --host=i686-linux
CFLAGS: -m32
arch: i386
name_extra: 32-bit build
name: ${{ matrix.name_extra }} (${{ matrix.CC }})
runs-on: ubuntu-latest
env:
CC: ${{ matrix.CC }}
CFLAGS: ${{matrix.CFLAGS }}
XRDP_CFLAGS: -I${{ github.workspace }}/xrdp/common
steps:
- uses: actions/checkout@v4
- run: sudo scripts/install_xorgxrdp_build_dependencies_with_apt.sh ${{ matrix.arch }} --allow-downgrades --allow-remove-essential --allow-change-held-packages
- run: git clone --depth 1 --branch=devel https://github.com/neutrinolabs/xrdp.git ${{ github.workspace}}/xrdp
- run: ./bootstrap
- run: ./configure ${{ matrix.CONF_FLAGS }}
- run: make CFLAGS="$CFLAGS -O2 -Wall -Wwrite-strings -Werror"
- if: ${{ matrix.CHECK }}
run: make check
- if: ${{ matrix.DISTCHECK }}
run: make distcheck
- if: ${{ always() }}
name: Display test logs (make check only)
run: scripts/display_test_logs
build_with_latest_xorg:
name: Build with latest xorg
runs-on: ubuntu-latest
env:
CC: gcc
CONF_FLAGS: --enable-glamor
XRDP_CFLAGS: -I${{ github.workspace }}/xrdp/common
# Use a PKG_CONFIG_PATH to pick up the pkg-config file for Xorg
PKG_CONFIG_PATH: ${{ github.workspace }}/xorg-build/lib/pkgconfig
# This is used for the tests
XORG: ${{ github.workspace }}/xorg-build/bin/Xorg
steps:
# Set steps.os.outputs.image to the specific OS (e.g. 'ubuntu24')
- name: Get operating system name and version.
id: os
run: echo "image=$ImageOS" >>$GITHUB_OUTPUT
shell: sh
- uses: actions/checkout@v4
- run: sudo scripts/install_xorgxrdp_build_dependencies_with_apt.sh ${{ matrix.arch }} --allow-downgrades --allow-remove-essential --allow-change-held-packages
- run: git clone --depth 1 --branch=devel https://github.com/neutrinolabs/xrdp.git ${{ github.workspace}}/xrdp
- name: Cache xorg-build
uses: actions/cache@v4
env:
cache-name: cache-xorg-build
with:
path: ${{ github.workspace }}/xorg-build
key: ${{ steps.os.outputs.image }}-${{ env.cache-name }}
- name: Remove OS xserver-xorg-dev package
run: sudo apt-get remove -y xserver-xorg-dev
- name: Build latest xorg-build
run: scripts/build_latest_xorg_apt.sh ${{ github.workspace }}/xorg-build
- run: ./bootstrap
- run: ./configure $CONF_FLAGS
- run: make CFLAGS="$CFLAGS -O2 -Wall -Wwrite-strings -Werror"
- run: make check