diff options
author | Ivan Komissarov <abbapoh@gmail.com> | 2021-09-17 23:44:21 +0300 |
---|---|---|
committer | Ivan Komissarov <ABBAPOH@gmail.com> | 2021-09-20 10:13:40 +0000 |
commit | 2f399f57bbfbfe2f97903eb40ff7c14d8098a470 (patch) | |
tree | 097d4a8f53286425b880ea1bbec4e6524a1e2688 | |
parent | 19090f5ff1681503096e8797159e773600692903 (diff) |
GitHub actions: add doc job
This job monitors only changes in documentation files
and uploads generated html files as a resulting artifact.
Also, ignore changes in documentation files when running tests -
this is more environment-friendly and saves a lot of time.
Change-Id: I807a5a246d8b9527ada2e9e5cd23234b9278b1b0
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
-rw-r--r-- | .github/workflows/docs.yml | 38 | ||||
-rw-r--r-- | .github/workflows/main.yml | 6 | ||||
-rwxr-xr-x | scripts/build-qbs-doc.sh | 59 |
3 files changed, 102 insertions, 1 deletions
diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml new file mode 100644 index 000000000..248baf5f7 --- /dev/null +++ b/.github/workflows/docs.yml @@ -0,0 +1,38 @@ +name: Build and Qbs docs + +on: + push: + paths: + - 'doc/**' + - 'examples/**' + - 'scripts/build-qbs-doc.sh' + - 'VERSION' + +jobs: + build-docs: + name: ${{ matrix.config.name }} + runs-on: ubuntu-latest + timeout-minutes: 60 + strategy: + fail-fast: false + matrix: + config: + - { + name: 'Build Qbs Docs', + options: '', + script: './scripts/build-qbs-doc.sh' + } + env: + BUILD_OPTIONS: ${{ matrix.config.options }} + WITH_TESTS: 0 + steps: + - uses: actions/checkout@v1 + - name: Pull the Focal Image + run: docker-compose pull focal + - name: Build Qbs Docs + run: docker-compose run focal ${{ matrix.config.script }} + - name: Upload artifacts + uses: 'actions/upload-artifact@v2' + with: + name: qbs-docs-${{ github.run_id }} + path: documentation/install-root/usr/local/share/doc/qbs/ diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 6f0cbdb33..6f148c0ad 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,6 +1,10 @@ name: Build and test Qbs -on: [push] +on: + push: + paths-ignore: + - 'changelogs/**' + - 'doc/**' jobs: build-linux: diff --git a/scripts/build-qbs-doc.sh b/scripts/build-qbs-doc.sh new file mode 100755 index 000000000..82a84269c --- /dev/null +++ b/scripts/build-qbs-doc.sh @@ -0,0 +1,59 @@ +#!/usr/bin/env bash +############################################################################# +## +## Copyright (C) 2021 Ivan Komissarov (abbapoh@gmail.com). +## Contact: https://www.qt.io/licensing/ +## +## This file is part of Qbs. +## +## $QT_BEGIN_LICENSE:LGPL$ +## Commercial License Usage +## Licensees holding valid commercial Qt licenses may use this file in +## accordance with the commercial license agreement provided with the +## Software or, alternatively, in accordance with the terms contained in +## a written agreement between you and The Qt Company. For licensing terms +## and conditions see https://www.qt.io/terms-conditions. For further +## information use the contact form at https://www.qt.io/contact-us. +## +## GNU Lesser General Public License Usage +## Alternatively, this file may be used under the terms of the GNU Lesser +## General Public License version 3 as published by the Free Software +## Foundation and appearing in the file LICENSE.LGPL3 included in the +## packaging of this file. Please review the following information to +## ensure the GNU Lesser General Public License version 3 requirements +## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. +## +## GNU General Public License Usage +## Alternatively, this file may be used under the terms of the GNU +## General Public License version 2.0 or (at your option) the GNU General +## Public license version 3 or any later version approved by the KDE Free +## Qt Foundation. The licenses are as published by the Free Software +## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +## included in the packaging of this file. Please review the following +## information to ensure the GNU General Public License requirements will +## be met: https://www.gnu.org/licenses/gpl-2.0.html and +## https://www.gnu.org/licenses/gpl-3.0.html. +## +## $QT_END_LICENSE$ +## +############################################################################# +set -e + +if [ -z "${QBS_BUILD_PROFILE}" ]; then + QBS_BUILD_PROFILE=$(qbs config defaultProfile | cut -d: -f2 | tr -d '[:space:]') +fi +if [ -z "${QBS_BUILD_PROFILE}" ]; then + echo "Either QBS_BUILD_PROFILE or a defaultProfile must be set." + exit 1 +fi + +# +# Additional build options +# +BUILD_OPTIONS="\ + profile:${QBS_BUILD_PROFILE} \ + ${BUILD_OPTIONS} \ + config:documentation \ +" + +qbs build -p "qbs documentation" ${BUILD_OPTIONS} |