diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6af032db..12bfb049 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,3 +1,6 @@ +# SPDX-FileCopyrightText: 2023 Pier Luigi Fiorini +# SPDX-License-Identifier: CC0-1.0 + name: CI on: @@ -5,121 +8,13 @@ on: branches: - master - develop + tags: + - v* pull_request: branches: - master - develop -env: - CLAZY_CHECKS: "level1" - jobs: - linux: - if: "!contains(github.event.head_commit.message, 'ci skip')" - strategy: - matrix: - compiler: - - gcc - - clang - container: - - suse-qt515 - runs-on: ubuntu-latest - container: - image: liridev/${{ matrix.container }} - steps: - - name: Extract branch name - id: extract_branch - shell: bash - run: | - if [ -n "${{ github.base_ref }}" ]; then - echo "##[set-output name=branch;]${{ github.base_ref }}" - else - github_ref=${{ github.ref }} - echo "##[set-output name=branch;]${github_ref##*/}" - fi - - name: Qt version identifier - id: qt_version - shell: bash - run: | - qtverid=`echo "${{ matrix.container }}" | sed -e 's,suse-qt,,g'` - echo "##[set-output name=id;]${qtverid}" - - uses: actions/checkout@v2 - - name: Build dependencies - run: | - set -x - ./.github/workflows/scripts/build-deps ${{ steps.extract_branch.outputs.branch }} - - name: Build - run: | - set -x - mkdir -p build - cd build - # OpenSuSE containers don't have any documentation - if [ "${{ matrix.compiler }}" == "clang" ]; then - export CC=clang - export CXX=clang++ - cmake .. -DLIRI_ENABLE_CLAZY:BOOL=ON -DCMAKE_INSTALL_PREFIX=/usr -DFLUID_WITH_DOCUMENTATION:BOOL=OFF - else - cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DFLUID_WITH_DOCUMENTATION:BOOL=OFF - fi - make -j $(getconf _NPROCESSORS_ONLN) - sudo make install - - name: Test - run: | - set -x - cd build - dbus-run-session -- xvfb-run -a -s "-screen 0 800x600x24" ctest -V - - # Build documentation under Ubuntu - docs: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - with: - submodules: true - - name: Install dependencies - run: | - set -x - wget -qO - 'http://archive.neon.kde.org/public.key' | sudo apt-key add - - sudo apt-add-repository http://archive.neon.kde.org/user - sudo apt-get update -y - sudo apt-get install -y qtbase5-dev qtdeclarative5-dev qtquickcontrols2-5-dev qttools5-dev libqt5svg5-dev qdoc-qt5 qt5-doc qtbase5-doc - - name: Build - run: | - set -x - mkdir -p build - cd build - cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DFLUID_WITH_DOCUMENTATION:BOOL=ON -DFLUID_WITH_DEMO:BOOL=OFF -DFLUID_WITH_QML_MODULES:BOOL=OFF -DFLUID_INSTALL_ICONS:BOOL=OFF - make -j $(getconf _NPROCESSORS_ONLN) - sudo make install - - windows: - if: "!contains(github.event.head_commit.message, 'ci skip')" - strategy: - matrix: - compiler: - - win32_msvc2017 - qt: - - 5.12.8 - runs-on: windows-2016 - steps: - - name: Cache Qt - id: cache-qt - uses: actions/cache@v1 - with: - path: ../Qt - key: ${{ runner.os }}-QtCache-${{ matrix.qt }} - - name: Install Qt - uses: jurplel/install-qt-action@v2 - with: - version: ${{ matrix.qt }} - arch: ${{ matrix.compiler }} - cached: ${{ steps.cache-qt.outputs.cache-hit }} - - uses: actions/checkout@v2 - with: - submodules: true - - name: Build - run: | - mkdir build - cd build - cmake .. -DFLUID_WITH_DOCUMENTATION:BOOL=OFF - cmake --build . + build-qt6: + uses: lirios/.github/.github/workflows/build-linux-qt6.yml@master diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml index 6cf33f9f..023264c1 100644 --- a/.github/workflows/checks.yml +++ b/.github/workflows/checks.yml @@ -1,3 +1,6 @@ +# SPDX-FileCopyrightText: 2023 Pier Luigi Fiorini +# SPDX-License-Identifier: CC0-1.0 + name: Checks on: @@ -14,33 +17,10 @@ on: - reopened - edited -env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - jobs: - wip: - if: "!contains(github.event.head_commit.message, 'ci skip') && github.event_name == 'pull_request'" - runs-on: ubuntu-latest - steps: - - name: Work in progress - uses: wip/action@master - xdg: - if: "!contains(github.event.head_commit.message, 'ci skip')" - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - with: - fetch-depth: 1 - - name: Validate XDG files - uses: liri-infra/xdg-validator-action@master - with: - strict: false - qml: - if: "!contains(github.event.head_commit.message, 'ci skip')" - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - with: - fetch-depth: 1 - - name: Validate QML and JavaScript files - uses: liri-infra/qmllint-action@master + checks: + uses: lirios/.github/.github/workflows/checks.yml@master + with: + enable_wip: true + enable_xdg: true + enable_qml: true diff --git a/.github/workflows/copr.yml b/.github/workflows/copr.yml index e5901482..c12b524f 100644 --- a/.github/workflows/copr.yml +++ b/.github/workflows/copr.yml @@ -1,3 +1,6 @@ +# SPDX-FileCopyrightText: 2023 Pier Luigi Fiorini +# SPDX-License-Identifier: CC0-1.0 + name: COPR on: @@ -7,8 +10,6 @@ on: jobs: copr: - if: "!contains(github.event.head_commit.message, 'ci skip') && !contains(github.event.head_commit.message, 'copr skip')" - runs-on: ubuntu-latest - steps: - - name: Rebuild package - run: curl -X POST ${{ secrets.COPR_WEBHOOK_URL }} + uses: lirios/.github/.github/workflows/copr.yml@master + secrets: + COPR_WEBHOOK_URL: ${{ secrets.COPR_WEBHOOK_URL }} diff --git a/.github/workflows/scripts/build-deps b/.github/workflows/scripts/build-deps deleted file mode 100755 index f0c76796..00000000 --- a/.github/workflows/scripts/build-deps +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/bash - -# SPDX-FileCopyrightText: 2021 Pier Luigi Fiorini -# -# SPDX-License-Identifier: BSD-3-Clause - -set -e - -branch=$1 - -if [ -z "$branch" ]; then - echo "Usage: $0 [branch]" - exit 1 -fi - -curdir=$(dirname `readlink -f $0`) - -mkdir -p /tmp/build-deps -pushd /tmp/build-deps -git clone git://github.com/liri-infra/ci-scripts -for repo in cmake-shared; do - ./ci-scripts/build-liri $repo $branch -done -popd diff --git a/README.md b/README.md index ac306c5b..785286e1 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ releases or clone the `master` branch that has the latest released version. ## Dependencies -Qt >= 5.10.0 with at least the following modules is required: +Qt >= 6.6.0 with at least the following modules is required: * [qtbase](http://code.qt.io/cgit/qt/qtbase.git) * [qtdeclarative](http://code.qt.io/cgit/qt/qtdeclarative.git) @@ -36,12 +36,9 @@ On Linux you also need: The following modules and their dependencies are required: - * [cmake](https://gitlab.kitware.com/cmake/cmake) >= 3.10.0 - -The following module must be installed, unless you want to use the copy provided -as a submodule: - - * [cmake-shared](https://github.com/lirios/cmake-shared.git) >= 1.0.0 + * [cmake](https://gitlab.kitware.com/cmake/cmake) >= 3.19.0 + * [extra-cmake-modules](https://invent.kde.org/frameworks/extra-cmake-modules) >= 5.245.0 + * [cmake-shared](https://github.com/lirios/cmake-shared.git) >= 2.0.99 ## Build @@ -106,7 +103,7 @@ From the root of the repository, run: ```sh git submodule update --init --recursive mkdir build -cmake -DCMAKE_INSTALL_PREFIX=/usr -DINSTALL_QMLDIR=lib/qt/qml .. +cmake -DCMAKE_INSTALL_PREFIX=/usr .. make sudo make install ```