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 |