| call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\Common7\\Tools\\vsdevcmd" -arch=x64 || exit 1 | call "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\Common7\\Tools\\vsdevcmd" -arch=x64 || exit 1 | ||||
| echo Executing Build and Tests | echo Executing Build and Tests | ||||
| python -m pip install pytest pytest-xdist | python -m pip install pytest pytest-xdist | ||||
| python -u tools/ci.py -B download --cxx cl.exe -T tools\\msvc.dds || exit 1 | |||||
| python -u tools/ci.py -B download --cxx cl.exe -T tools\\msvc.dds -T2 tools\\msvc.p2.dds || exit 1 | |||||
| displayName: Full CI | displayName: Full CI | ||||
| - publish: _build/dds.exe | - publish: _build/dds.exe | ||||
| artifact: DDS Executable - Windows VS2019 | artifact: DDS Executable - Windows VS2019 | ||||
| sudo apt install -y python3-minimal g++-8 | sudo apt install -y python3-minimal g++-8 | ||||
| python3 -m pip install pytest pytest-xdist | python3 -m pip install pytest pytest-xdist | ||||
| displayName: Prepare System | displayName: Prepare System | ||||
| - script: python3 -u tools/ci.py -B download --cxx g++-8 -T tools/gcc-8.dds | |||||
| - script: python3 -u tools/ci.py -B download --cxx g++-8 -T tools/gcc-8.dds -T2 tools/gcc-8.p2.dds | |||||
| displayName: Full CI | displayName: Full CI | ||||
| - publish: _build/dds | - publish: _build/dds | ||||
| artifact: DDS Executable - Linux | artifact: DDS Executable - Linux | ||||
| - script: | | - script: | | ||||
| set -eu | set -eu | ||||
| python3 -m pip install pytest pytest-xdist | python3 -m pip install pytest pytest-xdist | ||||
| python3 -u tools/ci.py -B download --cxx g++-8 -T tools/gcc-8.dds | |||||
| python3 -u tools/ci.py -B download --cxx g++-8 -T tools/gcc-8.dds -T2 tools/gcc-8.p2.dds | |||||
| displayName: Build and Run Unit Tests | displayName: Build and Run Unit Tests | ||||
| - publish: _build/dds | - publish: _build/dds | ||||
| artifact: DDS Executable - macOS | artifact: DDS Executable - macOS |
| from self_build import self_build | from self_build import self_build | ||||
| from self_deps_get import self_deps_get | from self_deps_get import self_deps_get | ||||
| from self_deps_build import self_deps_build | |||||
| from dds_ci import paths, proc | from dds_ci import paths, proc | ||||
| class CIOptions(NamedTuple): | class CIOptions(NamedTuple): | ||||
| cxx: Path | cxx: Path | ||||
| toolchain: str | toolchain: str | ||||
| toolchain_2: str | |||||
| def _do_bootstrap_build(opts: CIOptions) -> None: | def _do_bootstrap_build(opts: CIOptions) -> None: | ||||
| '-T', | '-T', | ||||
| help='The toolchain to use for the CI process', | help='The toolchain to use for the CI process', | ||||
| required=True) | required=True) | ||||
| parser.add_argument( | |||||
| '--toolchain-2', | |||||
| '-T2', | |||||
| help='Toolchain for the second-phase self-test', | |||||
| required=True) | |||||
| args = parser.parse_args(argv) | args = parser.parse_args(argv) | ||||
| opts = CIOptions(cxx=Path(args.cxx), toolchain=args.toolchain) | |||||
| opts = CIOptions( | |||||
| cxx=Path(args.cxx), | |||||
| toolchain=args.toolchain, | |||||
| toolchain_2=args.toolchain_2) | |||||
| if args.bootstrap_with == 'build': | if args.bootstrap_with == 'build': | ||||
| _do_bootstrap_build(opts) | _do_bootstrap_build(opts) | ||||
| else: | else: | ||||
| assert False, 'impossible' | assert False, 'impossible' | ||||
| proc.check_run( | |||||
| paths.PREBUILT_DDS, | |||||
| 'deps', | |||||
| 'build', | |||||
| ('-T', opts.toolchain), | |||||
| ('--repo-dir', paths.EMBEDDED_REPO_DIR), | |||||
| ) | |||||
| proc.check_run( | proc.check_run( | ||||
| paths.PREBUILT_DDS, | paths.PREBUILT_DDS, | ||||
| 'build', | 'build', | ||||
| if paths.SELF_TEST_REPO_DIR.exists(): | if paths.SELF_TEST_REPO_DIR.exists(): | ||||
| shutil.rmtree(paths.SELF_TEST_REPO_DIR) | shutil.rmtree(paths.SELF_TEST_REPO_DIR) | ||||
| self_deps_get(paths.CUR_BUILT_DDS, paths.SELF_TEST_REPO_DIR) | self_deps_get(paths.CUR_BUILT_DDS, paths.SELF_TEST_REPO_DIR) | ||||
| self_deps_build(paths.CUR_BUILT_DDS, opts.toolchain_2, | |||||
| paths.SELF_TEST_REPO_DIR, | |||||
| paths.PROJECT_ROOT / 'remote.dds') | |||||
| proc.check_run( | |||||
| paths.CUR_BUILT_DDS, | |||||
| 'build', | |||||
| '--full', | |||||
| '-T', | |||||
| opts.toolchain_2, | |||||
| ('--lm-index', paths.BUILD_DIR / 'INDEX.lmi'), | |||||
| ) | |||||
| return pytest.main(['-v', '--durations=10']) | |||||
| return pytest.main(['-v', '--durations=10', '-n4']) | |||||
| if __name__ == "__main__": | if __name__ == "__main__": |
| Compiler-ID: GNU | |||||
| C++-Version: C++17 | |||||
| C++-Compiler: g++-8 | |||||
| Flags: -fconcepts -Werror=return-type | |||||
| Flags: -D SPDLOG_COMPILED_LIB | |||||
| Optimize: True |
| Compiler-ID: MSVC | |||||
| Flags: /experimental:preprocessor /D SPDLOG_COMPILED_LIB /wd5105 /std:c++latest | |||||
| Link-Flags: rpcrt4.lib | |||||
| Optimize: True |