mitigated -Wdocumentation and -Wdocumentation-unknown-command Clang compiler warnings
#2689
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 and test | |
| on: | |
| push: | |
| branches-ignore: | |
| - "gh-pages" | |
| tags-ignore: | |
| - "v0.[0-8]**" | |
| pull_request: | |
| branches-ignore: | |
| - "gh-pages" | |
| jobs: | |
| build_and_test: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - CC: clang | |
| feature_set: min | |
| arch: amd64 | |
| os: ubuntu-latest | |
| unittests: false | |
| DISTCHECK: false | |
| - CC: clang | |
| feature_set: max | |
| arch: amd64 | |
| os: ubuntu-latest | |
| unittests: true | |
| DISTCHECK: true | |
| - CC: clang | |
| feature_set: max | |
| arch: amd64 | |
| os: ubuntu-latest | |
| unittests: true | |
| DISTCHECK: false | |
| name_extra: and AddressSanitized | |
| CFLAGS: "-fsanitize=address -ggdb" | |
| LDFLAGS: "-fsanitize=address" | |
| - CC: clang | |
| feature_set: max | |
| arch: i386 | |
| os: ubuntu-latest | |
| unittests: true | |
| DISTCHECK: false | |
| name_extra: for 32-bit arch (legacy OS) | |
| CFLAGS: "-m32" | |
| LDFLAGS: "-m32" | |
| name: ${{ matrix.feature_set }} features with ${{ matrix.CC }} ${{ matrix.name_extra }} | |
| runs-on: ${{ matrix.os }} | |
| env: | |
| CC: ${{ matrix.CC }} | |
| CFLAGS: ${{ matrix.CFLAGS }} | |
| LDFLAGS: ${{ matrix.LDFLAGS }} | |
| # HACK (2020-11-16): github actions doesn't support YAML anchors/aliases to | |
| # avoid repeating long config values. So instead the config values are defined | |
| # as environment variables using a naming convention with fields that come from | |
| # the job config. These environment variables are then referenced as regular | |
| # environment variables via the naming convention in the "define env" step to | |
| # define the standard environment variable used in the rest of the steps. | |
| CONF_FLAGS_amd64_min: "--disable-ipv6 --disable-jpeg --disable-fuse --disable-mp3lame | |
| --disable-fdkaac --disable-opus --disable-rfxcodec --disable-painter | |
| --disable-pixman --disable-utmp" | |
| CONF_FLAGS_amd64_max: "--enable-ibus --enable-ipv6 --enable-jpeg --enable-fuse | |
| --enable-mp3lame --enable-fdkaac --enable-opus --enable-rfxcodec | |
| --enable-painter --enable-pixman --enable-utmp | |
| --with-imlib2 --with-freetype2 --enable-tests --enable-x264 | |
| --enable-openh264" | |
| CONF_FLAGS_i386_max: "--enable-ipv6 --enable-jpeg | |
| --enable-mp3lame --enable-opus --enable-rfxcodec | |
| --enable-painter --disable-pixman | |
| --with-freetype2 --host=i686-linux --enable-tests" | |
| PKG_CONFIG_PATH_i386: "/usr/lib/i386-linux-gnu/pkgconfig" | |
| steps: | |
| - name: "Define feature and arch dependent environment variables" | |
| # Note: any "variable=value" written to the $GITHUB_ENV file will be | |
| # defined as an environment variable for all future steps in this job | |
| # See: https://docs.github.com/en/free-pro-team@latest/actions/reference/workflow-commands-for-github-actions#setting-an-environment-variable | |
| run: | | |
| echo "CONF_FLAGS=$CONF_FLAGS_${{ matrix.arch }}_${{ matrix.feature_set }} ${{ matrix.CONF_FLAGS_EXTRA }}" >> $GITHUB_ENV | |
| echo "PKG_CONFIG_PATH=$PKG_CONFIG_PATH_${{ matrix.arch }}" >> $GITHUB_ENV | |
| - uses: actions/checkout@v4 | |
| - name: "Install Dependencies" | |
| # See https://github.com/actions/runner-images/issues/7192 | |
| run: | | |
| echo RESET grub-efi/install_devices | sudo debconf-communicate grub-pc | |
| sudo scripts/install_xrdp_build_dependencies_with_apt.sh ${{ matrix.feature_set }} ${{ matrix.arch }} --allow-downgrades --allow-remove-essential --allow-change-held-packages | |
| - name: Bootstrap | |
| run: ./bootstrap | |
| - name: configure | |
| run: ./configure $CONF_FLAGS | |
| - name: make | |
| run: make -j $(nproc) | |
| - name: unittests | |
| if: ${{ matrix.unittests }} | |
| run: make check -j $(nproc) || (cat tests/*/test-suite.log && exit 1) | |
| - name: distcheck | |
| id: dist_check | |
| if: ${{ matrix.DISTCHECK }} | |
| run: make distcheck -j $(nproc) | |
| - name: "Artifact: test-suite.log distcheck" | |
| uses: actions/upload-artifact@v4 | |
| if: always() && steps.dist_check.outcome == 'failure' | |
| with: | |
| name: test-suite-distcheck-${{ matrix.cc }}-${{ matrix.feature_set }} | |
| path: ${{ github.workspace }}/xrdp-*/_build/sub/tests/xrdp/test-suite.log |