summaryrefslogtreecommitdiffstats
path: root/coin/instructions/cmake_build_and_upload_test_artifacts.yaml
blob: 7fa663e4d29578b665a63bd3eafe72efc07b8eda (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
type: Group
instructions:
  - type: ChangeDirectory
    directory: "{{.SourceDir}}"
  - type: MakeDirectory
    directory: "{{.SourceDir}}_standalone_tests"
  - type: SetBuildDirectory
    directory: "{{.SourceDir}}_standalone_tests"
  - type: ChangeDirectory
    directory: "{{.BuildDir}}"
  - type: AppendToEnvironmentVariable
    variableName: COIN_CMAKE_ARGS
    variableValue: " -S {{.SourceDir}} -B ."
    disable_if:
      condition: runtime
      env_var: COIN_CMAKE_ARGS
      equals_value: null
  - type: EnvironmentVariable
    variableName: COIN_CMAKE_ARGS
    variableValue: "-S {{.SourceDir}} -B ."
    enable_if:
      condition: runtime
      env_var: COIN_CMAKE_ARGS
      equals_value: null

  # Set an informational build environment env var during the an integration's build phase.
  # It can be checked during Qt and standalone tests configuration (so configure,
  # qt-configure-module and qt-internal-configure-tests time).
  # It's currently needed for some CMake autotest iOS-specific decisions, but it could be useful
  # for other scenarios as well.
  #
  # A related QTEST_ENVIRONMENT env var is set during an integration's test phase.
  #
  # Note that CMake auto tests are configured and built during the /test/ phase, NOT the build
  # phase.
  # BUT, the options that will be passed to the project cmake invocation in the test phase, are
  # decided during the /build/ phase.
  - type: EnvironmentVariable
    variableName: QT_BUILD_ENVIRONMENT
    variableValue: "ci"

  # Inform CMake to build just a minimal set of tests for static Qt builds.
  - type: AppendToEnvironmentVariable
    variableName: COIN_CMAKE_ARGS
    variableValue: " -DQT_BUILD_MINIMAL_STATIC_TESTS=ON"
    enable_if:
      condition: property
      property: features
      contains_value: "MinimalStaticTests"

  # Inform CMake to build just a minimal set of tests for Android multi-ABI Qt builds.
  - type: AppendToEnvironmentVariable
    variableName: COIN_CMAKE_ARGS
    variableValue: " -DQT_BUILD_MINIMAL_ANDROID_MULTI_ABI_TESTS=ON"
    enable_if:
      condition: property
      property: features
      contains_value: "MinimalAndroidMultiABITests"

  - !include "{{qt/qtbase}}/call_cmake_for_standalone_tests.yaml"
  - type: ExecuteCommand
    command: "{{.Env.TESTS_ENV_PREFIX}} cmake --build . --parallel -v"
    maxTimeInSeconds: 6000
    maxTimeBetweenOutput: 4800
    userMessageOnFailure: >
      Failed to build sources.
  - type: UploadTestArtifact
    transferType: UploadModuleTestsArtifact
    archiveDirectory: "{{.BuildDir}}"
    maxTimeInSeconds: 1200
    maxTimeBetweenOutput: 1200
    # INTEGRITY artifacts aren't used.
    disable_if:
      condition: property
      property: target.osVersion
      equals_value: INTEGRITY