name: Build X servers env: MESON_BUILDDIR: "build" X11_PREFIX: /home/runner/x11 X11_BUILD_DIR: /home/runner/build-deps on: push: pull_request: jobs: xserver-build-ubuntu: env: MESON_ARGS: -Dc_args="-fno-common" -Dprefix=/usr -Dxephyr=true -Dwerror=false -Dxcsecurity=true -Dxorg=true -Dxvfb=true -Dxnest=true runs-on: ubuntu-latest steps: - name: Check out repository code uses: actions/checkout@v4 - name: prepare build environment run: | export MACHINE=`gcc -dumpmachine` echo "PKG_CONFIG_PATH=$X11_PREFIX/share/pkgconfig:$X11_PREFIX/lib/$MACHINE/pkgconfig:$X11_PREFIX/lib/pkgconfig:$PKG_CONFIG_PATH" >> "$GITHUB_ENV" sudo chown root /bin/tar && sudo chmod u+s /bin/tar - name: apt cache uses: actions/cache@v4 with: path: /var/cache/apt key: apt-cache-${{ hashFiles('.github/scripts/ubuntu/install-pkg.sh') }} restore-keys: apt-cache- - name: pkg install run: sudo .github/scripts/ubuntu/install-pkg.sh - name: X11 prereq cache uses: actions/cache@v4 with: path: | ${{ env.X11_PREFIX }} ${{ env.X11_BUILD_DIR }}/xts ${{ env.X11_BUILD_DIR }}/piglit key: ${{ runner.os }}-x11-deps-${{ hashFiles('.github/scripts/install-prereq.sh') }} restore-keys: ${{ runner.os }}-x11-deps- - name: generic prereq run: sudo .github/scripts/install-prereq.sh - name: build run: .gitlab-ci/meson-build.sh - name: tests (may fail) continue-on-error: true run: meson test -C "${{ env.MESON_BUILDDIR }}" --print-errorlogs || true env: XTEST_DIR: ${{ env.X11_BUILD_DIR }}/xts PIGLIT_DIR: ${{ env.X11_BUILD_DIR }}/piglit - name: archive build logs uses: actions/upload-artifact@v4 with: name: build-logs path: | build/meson-logs/* - name: ddx build check run: .gitlab-ci/check-ddx-build.sh - name: manpage check run: .gitlab-ci/manpages-check drivers-build-ubuntu: env: MESON_ARGS: -Dc_args="-fno-common" -Dprefix=/usr -Dxephyr=false -Dwerror=false -Dxcsecurity=false -Dxorg=true -Dxvfb=false -Dxnest=false runs-on: ubuntu-latest steps: - name: Check out repository code uses: actions/checkout@v4 - name: prepare build environment run: | export MACHINE=`gcc -dumpmachine` echo "PKG_CONFIG_PATH=$X11_PREFIX/share/pkgconfig:$X11_PREFIX/lib/$MACHINE/pkgconfig:$X11_PREFIX/lib/pkgconfig:$PKG_CONFIG_PATH" >> "$GITHUB_ENV" sudo chown root /bin/tar && sudo chmod u+s /bin/tar - name: apt cache uses: actions/cache@v4 with: path: /var/cache/apt key: apt-cache-${{ hashFiles('.github/scripts/ubuntu/install-pkg.sh') }} restore-keys: apt-cache- - name: pkg install run: sudo .github/scripts/ubuntu/install-pkg.sh - name: X11 prereq cache uses: actions/cache@v4 with: path: | ${{ env.X11_PREFIX }} ${{ env.X11_BUILD_DIR }}/xts ${{ env.X11_BUILD_DIR }}/piglit key: ${{ runner.os }}-x11-deps-${{ hashFiles('.github/scripts/install-prereq.sh') }} restore-keys: ${{ runner.os }}-x11-deps- - name: generic prereq run: sudo .github/scripts/install-prereq.sh - name: build xserver sdk run: | echo -n > .meson_environment echo "export MESON_BUILDDIR=$MESON_BUILDDIR" >> .meson_environment echo "export PKG_CONFIG_PATH=$PKG_CONFIG_PATH" >> .meson_environment .gitlab-ci/meson-build.sh --skip-test sudo meson install --no-rebuild -C "$MESON_BUILDDIR" sudo mkdir -p /usr/local/lib/$MACHINE/xorg/modules # /home/runner/x11/lib/xorg/modules sudo chown -R runner /usr/local/lib/$MACHINE/xorg/modules # /home/runner/x11/lib/xorg/modules - name: compile drivers run: .github/scripts/compile-drivers.sh