qt5base-lts/coin/instructions
Alexandru Croitor 80705298ca CMake: Build a subset of tests when targeting iOS in the CI
Add infrastructure to build cmake auto tests in the CI when targeting
iOS.
Currently the are only CI instructions for qtbase.
More work is needed to make it work for other repos.

With this change, we will build a single Widgets application targeting
the iOS simulator. We can't target the device SDK in the CI because
signing fails due to a missing signing certificate and provisioning
profile.

The Coin instructions will now set a QT_BUILD_ENVIRONMENT=ci env var
whose value will be checked in _qt_internal_test_expect_pass, to
ensure we build for the simulator SDK when using a universal Qt.
Without this, xcodebuild will try to build with the device SDK and
fail to build the project.

Pick-to: 6.2
Task-number: QTBUG-95839
Change-Id: Ib39c9527b107b2004746ccbdc9d9d1d658f88c76
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2021-08-26 16:40:15 +02:00
..
qmake CMake: Build examples with qmake against a CMake built Qt 2020-12-04 15:39:32 +01:00
qmake_examples CMake: Build examples with qmake against a CMake built Qt 2020-12-04 15:39:32 +01:00
call_cmake_for_standalone_tests.yaml Move bin/qt-internal-configure-tests to libexec 2021-03-30 14:39:12 +01:00
call_cmake.yaml CMake: Use the same generator when building other repositories 2020-05-19 10:16:16 +02:00
call_host_cmake.yaml CMake: Use the same generator when building other repositories 2020-05-19 10:16:16 +02:00
call_host_install.yaml CMake: Use custom install script to support Ninja Multi-Config builds 2020-05-19 10:16:11 +02:00
call_target_cmake.yaml CMake: Use the same generator when building other repositories 2020-05-19 10:16:16 +02:00
call_target_install.yaml CMake: Use custom install script to support Ninja Multi-Config builds 2020-05-19 10:16:11 +02:00
cmake_build_and_upload_test_artifacts_host.yaml Read test specific configure arguments from environment 2020-09-28 05:28:22 +00:00
cmake_build_and_upload_test_artifacts_target.yaml Read test specific configure arguments from environment 2020-09-28 05:28:22 +00:00
cmake_build_and_upload_test_artifacts.yaml CMake: Build a subset of tests when targeting iOS in the CI 2021-08-26 16:40:15 +02:00
cmake_cross_compilation_module_build_instructions.yaml Apply custom timeouts to cross compilations 2021-08-10 12:21:58 +00:00
cmake_cross_compilation_qtbase_build_instructions.yaml CMake: Build examples with qmake against a CMake built Qt 2020-12-04 15:39:32 +01:00
cmake_documentation_build.yaml Update the COIN build instructions to also build creator help file 2021-06-01 11:58:50 +00:00
cmake_module_build_instructions.yaml Allow overriding CMake build timeout values 2021-05-18 07:02:52 +03:00
cmake_qtbase_build_instructions.yaml CMake: Build examples with qmake against a CMake built Qt 2020-12-04 15:39:32 +01:00
cmake_regular_test_instructions_common.yaml Coin: remove workarounds to allow running Android tests 2021-02-18 13:42:19 +02:00
cmake_regular_test_instructions_enforced.yaml CMake: Build minimal subset of tests in desktop static builds 2021-04-06 09:15:37 +01:00
cmake_regular_test_instructions.yaml CMake: Add support for enforcing passing CI tests per repository 2020-07-03 11:14:11 +02:00
cmake_run_ctest_enforce_exit_code.yaml Add instructions to collect results from COIN test run 2021-07-01 08:46:57 +00:00
cmake_run_ctest_ignore_exit_code.yaml Increase the timeout for test targets 2021-06-02 21:02:41 +03:00
cmake_setup_running_tests_env_vars.yaml CMake: Build a subset of tests when targeting iOS in the CI 2021-08-26 16:40:15 +02:00
coin_module_build_template_v2.yaml Make Integrity to use cross compile instructions 2021-07-15 18:56:23 +03:00
coin_module_test_android_start_emulator.yaml Coin: fix android emulator script to use bash instead of sh 2021-02-19 10:31:44 +02:00
coin_module_test_qemu_env_vars.yaml CMake: Add instructions for building and testing qemu configs 2020-06-25 14:11:56 +02:00
coin_module_test_template_common.yaml Add coin instructions to run Android test in emulator 2020-11-20 13:28:31 +00:00
coin_module_test_template_v2.yaml CMake: Add support for enforcing passing CI tests per repository 2020-07-03 11:14:11 +02:00
coin_module_test_template_v3.yaml CMake: Build a subset of tests when targeting iOS in the CI 2021-08-26 16:40:15 +02:00
coin_qtbase_build_template_v2.yaml CMake: Build a subset of tests when targeting iOS in the CI 2021-08-26 16:40:15 +02:00
prepare_building_env.yaml Avoid setting DCMAKE_C_COMPILER and DCMAKE_CXX_COMPILER twice 2021-06-02 21:02:45 +00:00
README.md CMake: Add support for enforcing passing CI tests per repository 2020-07-03 11:14:11 +02:00

Information about Coin instruction templates

Build templates

  • coin_qtbase_build_template_v2.yaml did not exist. The build instructions were directly embedded into module_config.yaml and did not support repos outside of qtbase, also no cross-compilation.
  • coin_qtbase_build_template_v2 introduced support for building other repos, and also enabled build cross-compiling targets like Android and iOS. A bit later the template gained the ability to build qemu cross-compiling configurations. The counterpart to qtbase to build other repositories is coin_module_build_template_v2

Test templates

  • coin_module_test_template_v1 did not exist. The test instructions were directly embedded into module_config.yaml and did not support repos outside of qtbase, also no cross-compilation.
  • coin_module_test_template_v2 introduced support for building tests for other repos, and made sure not to build and run tests on cross-compiling configuration. A bit later the template gained the ability to build and run tests for qemu cross-compiling configurations.
  • coin_module_test_template_v3 changed the run test instructions to not ignore the exit code and thus enforce that tests pass in the CI.