tests: util: Re-write XML for comparison instead of str replacement #2271
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
# SPDX-FileCopyrightText: 2020 Jeremy Lainé <jeremy.laine@m4x.org> | |
# | |
# SPDX-License-Identifier: CC0-1.0 | |
name: tests | |
on: [push, pull_request] | |
jobs: | |
linux: | |
runs-on: ubuntu-latest | |
container: | |
image: debian:stable | |
env: | |
CONFIG: ${{ matrix.config }} | |
QT_VERSION: ${{ matrix.qt_version }} | |
strategy: | |
fail-fast: false | |
matrix: | |
config: [minimal, full, full-debug] | |
qt_version: ['5.15.*'] | |
include: | |
- config: minimal | |
qt_version: 6.1.* | |
- config: full-debug | |
qt_version: 6.5.3 | |
steps: | |
- name: Install sudo | |
run: apt update && apt install -qq -y sudo | |
- uses: actions/checkout@v2 | |
- name: Install Qt | |
uses: jurplel/install-qt-action@v3 | |
with: | |
version: ${{ matrix.qt_version }} | |
modules: ${{ (startsWith(matrix.qt_version, '6.') && 'qt5compat') || '' }} | |
setup-python: true | |
- name: Install extra packages | |
run: tests/travis/install-build-depends-debian | |
- name: Run tests | |
run: tests/travis/build-and-test | |
- uses: codecov/codecov-action@v1 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
macos: | |
runs-on: macos-13 | |
env: | |
CONFIG: ${{ matrix.config }} | |
QT_VERSION: ${{ matrix.qt_version }} | |
strategy: | |
fail-fast: false | |
matrix: | |
config: [minimal, full, full-debug] | |
qt_version: ['5.15.*'] | |
include: | |
- config: full-debug | |
qt_version: 6.7.* | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install Qt | |
uses: jurplel/install-qt-action@v3 | |
with: | |
version: ${{ matrix.qt_version }} | |
modules: ${{ matrix.qt_version[0] == '6' && 'qt5compat' || '' }} | |
- name: Install extra packages | |
run: tests/travis/install-build-depends-macos | |
- name: Disable OS X firewall | |
run: | | |
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate off | |
- name: Run tests | |
run: tests/travis/build-and-test | |
- uses: codecov/codecov-action@v1 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
windows: | |
runs-on: windows-latest | |
env: | |
QT_VERSION: ${{ matrix.qt_version }} | |
BUILD_WITH_QT6: ${{ (startsWith(matrix.qt_version, '6.') && 'ON') || 'OFF' }} | |
strategy: | |
fail-fast: false | |
matrix: | |
qt_version: ['5.15.*', '6.7.*'] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install Qt | |
uses: jurplel/install-qt-action@v3 | |
with: | |
version: ${{ matrix.qt_version }} | |
modules: ${{ (startsWith(matrix.qt_version, '6.') && 'qt5compat') || '' }} | |
- name: Install deps | |
run: | | |
choco install pkgconfiglite | |
- name: Build QCA | |
shell: bash | |
run: | | |
mkdir D:/a/usr | |
git clone https://invent.kde.org/libraries/qca | |
cd qca | |
cmake . -DCMAKE_INSTALL_PREFIX="D:/a/usr" -DBUILD_TESTS=OFF -DBUILD_TOOLS=OFF -DBUILD_WITH_QT6=${BUILD_WITH_QT6} | |
cmake --build . --config Release --parallel | |
cmake --install . --config Release | |
cd .. | |
- name: Build libomemo-c | |
run: | | |
git clone https://github.com/dino/libomemo-c | |
cd libomemo-c | |
git checkout v0.5.0 | |
cmake . -DCMAKE_INSTALL_PREFIX="D:/a/usr" | |
cmake --build . --config Release --parallel | |
cmake --install . --config Release | |
cd .. | |
- name: Run tests | |
run: | | |
${env:PATH} += ";D:/a/usr/bin" | |
${env:PATH} += ";D:/a/qxmpp/qxmpp/src/Debug" | |
${env:PKG_CONFIG_PATH} += ";D:/a/usr/lib/pkgconfig" | |
cmake . -DBUILD_OMEMO=ON && cmake --build . --parallel | |
# ctest | |
# ctest --rerun-failed --output-on-failure | |
doxygen: | |
runs-on: ubuntu-latest | |
container: | |
image: debian:stable | |
steps: | |
- name: Install dependencies | |
run: apt update && apt install -qq -y sudo git clang cmake qt6-base-dev doxygen graphviz | |
- uses: actions/checkout@v3 | |
- name: Build doxygen documentation | |
run: tests/travis/build-documentation | |
xmllint: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- run: sudo apt update && sudo apt install -y libxml2-utils | |
- run: xmllint --noout $(find . -type f -name *.xml) | |
reuse: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: REUSE Compliance Check | |
uses: fsfe/reuse-action@v1 | |
cpp-linter: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: cpp-linter/cpp-linter-action@v2 | |
id: linter | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
style: file | |
version: 15 | |
files-changed-only: false | |
step-summary: true | |
thread-comments: false | |
- name: C++ Linter | |
if: steps.linter.outputs.checks-failed > 0 | |
run: echo "Some files failed the linting checks!" |