Add incubate capability to xorg build script #355
Workflow file for this run
This file contains 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 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 |