diff options
Diffstat (limited to 'coin/instructions')
-rw-r--r-- | coin/instructions/coin_bic_tests.yaml | 32 | ||||
-rw-r--r-- | coin/instructions/coin_qt_build_docs.yaml | 33 | ||||
-rw-r--r-- | coin/instructions/coin_qt_build_template.yaml | 8 | ||||
-rw-r--r-- | coin/instructions/coin_qt_configure.yaml | 49 | ||||
-rw-r--r-- | coin/instructions/prepare_configure_executable.yaml | 37 |
5 files changed, 159 insertions, 0 deletions
diff --git a/coin/instructions/coin_bic_tests.yaml b/coin/instructions/coin_bic_tests.yaml new file mode 100644 index 00000000..bfdb3012 --- /dev/null +++ b/coin/instructions/coin_bic_tests.yaml @@ -0,0 +1,32 @@ +type: Group +instructions: + - type: EnvironmentVariable + variableName: QT_MODULE_TO_TEST + variableValue: "qt=QtConcurrent,QtCore,QtDBus,QtDesigner,QtGui,QtHelp,QtNetwork,QtOpenGL,QtPrintSupport,QtQml,QtQuick,QtQuickTest,QtSql,QtSvg,QtTest,QtWidgets,QtXml;{{.SourceDir}}/qtbase" + - type: EnvironmentVariable + variableName: QTDIR + variableValue: "{{.InstallDir}}" + - type: PrependToEnvironmentVariable + variableName: PATH + variableValue: "{{.InstallDir}}/bin:" + - type: ChangeDirectory + directory: "{{.SourceDir}}/qtqa/tests/postbuild/bic" + - type: ExecuteCommand + command: ["{{.InstallDir}}/bin/qmake"] + maxTimeInSeconds: 3600 + maxTimeBetweenOutput: 300 + userMessageOnFailure: "Failed to execute qmake for bic tests" + - type: ExecuteCommand + command: ["make", "check", "-j1"] + maxTimeInSeconds: 7200 + maxTimeBetweenOutput: 300 + userMessageOnFailure: "Failed to execute bic tests" +enable_if: + condition: and + conditions: + - condition: property + property: features + contains_value: Packaging + - condition: property + property: target.os + equals_value: Linux diff --git a/coin/instructions/coin_qt_build_docs.yaml b/coin/instructions/coin_qt_build_docs.yaml new file mode 100644 index 00000000..6f554816 --- /dev/null +++ b/coin/instructions/coin_qt_build_docs.yaml @@ -0,0 +1,33 @@ +type: Group +instructions: + - type: ExecuteCommand + command: "{{.Env.ENV_PREFIX}} cmake --build . --target qtbase/src/plugins/platforms/all qtbase/src/plugins/sqldrivers/all qttools/all --parallel -v" + maxTimeInSeconds: 12000 + maxTimeBetweenOutput: 1200 + userMessageOnFailure: > + Failed to build sources. + - type: ExecuteCommand + command: "{{.Env.ENV_PREFIX}} cmake --build . --target docs -v" + maxTimeInSeconds: 12000 + maxTimeBetweenOutput: 1200 + userMessageOnFailure: > + Failed to generate docs. + - type: ExecuteCommand + command: "cp -r {{.BuildDir}}/qtbase/doc/config {{.BuildDir}}/doc" + maxTimeInSeconds: 12000 + maxTimeBetweenOutput: 1200 + userMessageOnFailure: "Failed to copy qtbase/doc/config to documentation directory." + - type: ExecuteCommand + command: "cp -r {{.BuildDir}}/qtbase/doc/global {{.BuildDir}}/doc" + maxTimeInSeconds: 12000 + maxTimeBetweenOutput: 1200 + userMessageOnFailure: "Failed to copy qtbase/doc/global to documentation directory." + - type: UploadArtifact + archiveDirectory: '{{.BuildDir}}/doc' + transferType: UploadModuleDocumentation + maxTimeInSeconds: 1800 + maxTimeBetweenOutput: 1800 +enable_if: + condition: property + property: features + contains_value: "Documentation" diff --git a/coin/instructions/coin_qt_build_template.yaml b/coin/instructions/coin_qt_build_template.yaml new file mode 100644 index 00000000..b263ea8e --- /dev/null +++ b/coin/instructions/coin_qt_build_template.yaml @@ -0,0 +1,8 @@ +type: Group +instructions: + - !include "{{qt/qt5}}/coin_qt_configure.yaml" + - !include "{{qt/qt5}}/coin_qt_build_docs.yaml" +disable_if: + condition: property + property: features + contains_value: "TargetBuildOnly" diff --git a/coin/instructions/coin_qt_configure.yaml b/coin/instructions/coin_qt_configure.yaml new file mode 100644 index 00000000..c1650256 --- /dev/null +++ b/coin/instructions/coin_qt_configure.yaml @@ -0,0 +1,49 @@ +type: Group +instructions: + - !include "{{qt/qtbase}}/prepare_building_env.yaml" + - type: MakeDirectory + directory: .git + - type: SetBuildDirectory + directory: "{{.SourceDir}}" + - type: ChangeDirectory + directory: "{{.BuildDir}}" + + - !include "{{qt/qt5}}/prepare_configure_executable.yaml" + + - type: EnvironmentVariable + variableName: COIN_CONFIGURE_ARGS + variableValue: "{{.Env.CONFIGURE_ARGS}}" + - type: EnvironmentVariable + variableName: COIN_CMAKE_ARGS + # Use unix separators even on Windows, to avoid escaping issues in the configure script. + variableValue: "{{.Env.CMAKE_ARGS}} {{.Env.COMMON_CMAKE_ARGS}} -DCMAKE_INSTALL_PREFIX:PATH={{unixPathSeparators .InstallDir}}" + - type: EnvironmentVariable + variableName: CONFIGURE_ENV_PREFIX + variableValue: "{{.Env.ENV_PREFIX}}" + + - type: ExecuteCommand + # There is no SourceDir on purpose, because configure is called directly from qtbase, + # so the script knows it's own source dir. + # TODO: Consider removing these instructions, and using the ones in qtbase/call_configure_qtbase.yaml + # once all dependencies are propagated. + command: "{{.Env.CONFIGURE_ENV_PREFIX}} {{.Env.CONFIGURE_EXECUTABLE}} {{.Env.COIN_CONFIGURE_ARGS}} -- {{.Env.COIN_CMAKE_ARGS}}" + executeCommandArgumentSplitingBehavior: SplitAfterVariableSubstitution + maxTimeInSeconds: 6000 + maxTimeBetweenOutput: 1200 + userMessageOnFailure: > + Failed to call cmake. + enable_if: + condition: property + property: features + contains_value: UseConfigure + - type: ExecuteCommand + command: "{{.Env.CONFIGURE_ENV_PREFIX}} {{.Env.CONFIGURE_EXECUTABLE}} {{.SourceDir}} {{.Env.COIN_CONFIGURE_ARGS}} {{.Env.COIN_CMAKE_ARGS}}" + executeCommandArgumentSplitingBehavior: SplitAfterVariableSubstitution + maxTimeInSeconds: 6000 + maxTimeBetweenOutput: 1200 + userMessageOnFailure: > + Failed to call cmake. + disable_if: + condition: property + property: features + contains_value: UseConfigure diff --git a/coin/instructions/prepare_configure_executable.yaml b/coin/instructions/prepare_configure_executable.yaml new file mode 100644 index 00000000..50474cc5 --- /dev/null +++ b/coin/instructions/prepare_configure_executable.yaml @@ -0,0 +1,37 @@ +# Call either cmake or configure depending on whether the +# UseConfigure platform configuration feature is set. +# We should remove the cmake branch, once all platform configurations +# are ported to use configure. +# TODO: Remove this file, and reference the one in qtbase, once all +# all dependencies are propagated. +type: Group +instructions: + - type: Group + enable_if: + condition: property + property: features + contains_value: UseConfigure + instructions: + - type: EnvironmentVariable + variableName: CONFIGURE_EXECUTABLE + variableValue: "{{.SourceDir}}/configure" + disable_if: + condition: property + property: host.os + equals_value: Windows + - type: EnvironmentVariable + variableName: CONFIGURE_EXECUTABLE + variableValue: "{{.SourceDir}}\\configure.bat" + enable_if: + condition: property + property: host.os + equals_value: Windows + - type: Group + disable_if: + condition: property + property: features + contains_value: UseConfigure + instructions: + - type: EnvironmentVariable + variableName: CONFIGURE_EXECUTABLE + variableValue: "cmake" |