qt5base-lts/coin/instructions
Alexandru Croitor 0423814a2f CMake: Add support for enforcing passing CI tests per repository
Create a new test instructions yaml template that does not ignore the
exit code of running tests. This template can be included by
repositories where tests pass in all configurations tested by the CI.

The template should be included in module_config.yaml via

Test:
    - !include "{{qt/qtbase}}/coin_module_test_template_v3.yaml"

This allows us to opt into enforcing test runs per repository,
rather than waiting to fix all tests in all qt5.git repositories.

Implementation notes

Try to extract the common parts of the instructions as much as
possible to avoid duplication. Unfortunately some duplication still
remains due to the restricted yaml language supported by Coin.

Add a short README.md file that describes the differences between the
existing templates.

The v2 non-enforcing test template should probably be removed in
the future.

Task-number: QTBUG-84886
Task-number: QTBUG-85364
Change-Id: I718fc3cb44d6aefdbebc2fd2088a910a8095a375
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-07-03 11:14:11 +02:00
..
call_cmake_for_standalone_tests.yaml CMake: Add instructions for building and testing qemu configs 2020-06-25 14:11:56 +02: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 CMake: Add instructions for building and testing qemu configs 2020-06-25 14:11:56 +02:00
cmake_build_and_upload_test_artifacts_target.yaml CMake: Add instructions for building and testing qemu configs 2020-06-25 14:11:56 +02:00
cmake_build_and_upload_test_artifacts.yaml CMake: Add instructions for building and testing qemu configs 2020-06-25 14:11:56 +02:00
cmake_cross_compilation_module_build_instructions.yaml CMake: Use custom install script to support Ninja Multi-Config builds 2020-05-19 10:16:11 +02:00
cmake_cross_compilation_qtbase_build_instructions.yaml CMake: Use custom install script to support Ninja Multi-Config builds 2020-05-19 10:16:11 +02:00
cmake_module_build_instructions.yaml CMake: Use custom install script to support Ninja Multi-Config builds 2020-05-19 10:16:11 +02:00
cmake_qtbase_build_instructions.yaml CMake: Use custom install script to support Ninja Multi-Config builds 2020-05-19 10:16:11 +02:00
cmake_regular_test_instructions_common.yaml CMake: Add support for enforcing passing CI tests per repository 2020-07-03 11:14:11 +02:00
cmake_regular_test_instructions_enforced.yaml CMake: Add support for enforcing passing CI tests per repository 2020-07-03 11:14:11 +02: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 CMake: Add support for enforcing passing CI tests per repository 2020-07-03 11:14:11 +02:00
cmake_run_ctest_ignore_exit_code.yaml CMake: Add support for enforcing passing CI tests per repository 2020-07-03 11:14:11 +02:00
cmake_setup_running_tests_env_vars.yaml CMake: Skip / ignore failing tests on CMake platforms 2020-07-01 14:55:29 +02:00
coin_module_build_template_v2.yaml CMake: Add instructions for building and testing qemu configs 2020-06-25 14:11:56 +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 CMake: Add support for enforcing passing CI tests per repository 2020-07-03 11:14:11 +02: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: Add support for enforcing passing CI tests per repository 2020-07-03 11:14:11 +02:00
coin_qtbase_build_template_v2.yaml CMake: Add instructions for building and testing qemu configs 2020-06-25 14:11:56 +02:00
prepare_building_env.yaml CMake: Adjust instructions for MinGW builds 2020-05-01 19:11:22 +02: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.