Я пытался настроить CI / CD в репозитории для библиотеки, над которой я работаю. Требуется C ++ 17 и успешно компилируется на моей локальной машине. Однако, когда конвейер работает на Gitlab, когда он компилируется, я получаю эту ошибку.
$ make check
Scanning dependencies of target gtest
[ 9%] Building CXX object googletest-build/googletest/CMakeFiles/gtest.dir/src/gtest-
all.cc.o
[ 18%] Linking CXX static library ../../lib/libgtest.a
[ 18%] Built target gtest
Scanning dependencies of target mconf
[ 27%] Building CXX object CMakeFiles/mconf.dir/src/config_option.cpp.o
[ 36%] Building CXX object CMakeFiles/mconf.dir/src/config_file.cpp.o
In file included from /builds/USER/config_parser/src/config_file.cpp:1:0:
/builds/USER/config_parser/src/config_file.hpp:9:10: fatal error: filesystem: No
such file or directory
#include <filesystem>
^~~~~~~~~~~~
compilation terminated.
CMakeFiles/mconf.dir/build.make:86: recipe for target
'CMakeFiles/mconf.dir/src/config_file.cpp.o' failed
make[3]: *** [CMakeFiles/mconf.dir/src/config_file.cpp.o] Error 1
CMakeFiles/Makefile2:100: recipe for target 'CMakeFiles/mconf.dir/all' failed
make[2]: *** [CMakeFiles/mconf.dir/all] Error 2
CMakeFiles/Makefile2:75: recipe for target 'CMakeFiles/check.dir/rule' failed
make[1]: *** [CMakeFiles/check.dir/rule] Error 2
Makefile:175: recipe for target 'check' failed
make: *** [check] Error 2
ERROR: Job failed: exit code 1
Вот мой файл .gitlab-ci.yml.
image: ubuntu:latest
stages:
- build
before_script:
- apt update -qq
Build:
stage: build
script:
- apt install -y -qq cmake make git gcc g++
- mkdir build
- cd build
- cmake ..
- make check
artifacts:
paths:
- public
У меня также нет изменил любые настройки для CI / CD на Gitlab. Я попытался использовать debian: stable, но только что получил ошибку компоновщика для функций, которые я использую из файловой системы.