aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIvan Komissarov <abbapoh@gmail.com>2021-09-17 23:44:21 +0300
committerIvan Komissarov <ABBAPOH@gmail.com>2021-09-20 10:13:40 +0000
commit2f399f57bbfbfe2f97903eb40ff7c14d8098a470 (patch)
tree097d4a8f53286425b880ea1bbec4e6524a1e2688
parent19090f5ff1681503096e8797159e773600692903 (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.yml38
-rw-r--r--.github/workflows/main.yml6
-rwxr-xr-xscripts/build-qbs-doc.sh59
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}