Skip to content

tests: util: Re-write XML for comparison instead of str replacement #2271

tests: util: Re-write XML for comparison instead of str replacement

tests: util: Re-write XML for comparison instead of str replacement #2271

Workflow file for this run

# 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!"