# Lists of paths for artifacts of various stages.

.cmake_build_artifacts:
    artifacts:
        expire_in: 1d
        paths:
            # XXX(globbing): Can be simplified with support from
            # https://gitlab.com/gitlab-org/gitlab-runner/issues/4840
            - build/CTestTestfile.cmake
            - build/*/CTestTestfile.cmake
            - build/*/*/CTestTestfile.cmake
            - build/*/*/*/CTestTestfile.cmake
            - build/*/*/*/*/CTestTestfile.cmake

            # Allow CMake to find CMAKE_ROOT.
            - build/CMakeFiles/CMakeSourceDir.txt

            # Take the install tree.
            - build/install/

            # We need the main binaries.
            - build/bin/
            # The cache is needed for the installation test.
            - build/CMakeCache.txt
            # Test binaries. Eventually these might be better under
            # `Source/Tests` or the like.
            - build/Tests/EnforceConfig.cmake
            - build/Tests/CMakeBuildTest.cmake
            - build/Tests/CMakeBuildDoubleProjectTest.cmake
            - build/Tests/CMake*/runcompilecommands
            - build/Tests/CMake*/runcompilecommands.exe
            - build/Tests/CMake*/test*
            - build/Tests/CMake*/PseudoMemcheck/valgrind
            - build/Tests/CMake*/PseudoMemcheck/purify
            - build/Tests/CMake*/PseudoMemcheck/memcheck_fail
            - build/Tests/CMake*/PseudoMemcheck/BC
            - build/Tests/CMake*/PseudoMemcheck/valgrind.exe
            - build/Tests/CMake*/PseudoMemcheck/purify.exe
            - build/Tests/CMake*/PseudoMemcheck/memcheck_fail.exe
            - build/Tests/CMake*/PseudoMemcheck/BC.exe
            - build/Tests/CMake*/PseudoMemcheck/NoLog
            - build/Tests/CMake*Lib/*LibTests
            - build/Tests/CMake*Lib/*LibTests.exe
            - build/Source/kwsys/cmsysTest*
            - build/Source/kwsys/testConsoleBufChild.exe
            - build/Utilities/cmcurl/curltest
            - build/Utilities/cmcurl/curltest.exe
            - build/Utilities/KWIML/test/kwiml_test
            - build/Utilities/KWIML/test/kwiml_test.exe
            - build/Source/kwsys/*cmsysTestDynload.*
            - build/Source/kwsys/dynloaddir/cmsysTestDynloadImpl.dll
            - build/Source/kwsys/dynloaddir/cmsysTestDynloadUse.dll

            # Test directories.
            - build/Tests/CTest*
            - build/Tests/Find*
            - build/Tests/Qt5*
            - build/Tests/RunCMake/
            - build/Tests/CMakeOnly/
            - build/Tests/CMakeTests/

            # CTest/CDash information.
            - build/Testing/
            - build/DartConfiguation.tcl
            - build/CTestCustom.cmake

.cmake_release_artifacts:
    artifacts:
        expire_in: 5d
        paths:
            # Any packages made.
            - build/cmake-*-Linux-x86_64.*

.cmake_test_artifacts:
    artifacts:
        expire_in: 1d
        paths:
            # Take the install tree.
            - build/install/
