Пропустить сборку и использовать последний успешный артефакт gitlab CIC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Пропустить сборку и использовать последний успешный артефакт gitlab CI

Сообщение Anonymous »

У меня есть проект, в котором используется сочетание кода C++ и Python. Код Python использует некоторые привязки и, следовательно, зависит от сборки.
Я хочу иметь возможность пропустить этап сборки, если я не менял файлы cpp, hpp или ipp, но иметь возможность загружать артефакты с предыдущего успешного этапа сборки, чтобы я мог запускать тесты. Возможно ли это в gitlab?
# Configure CMake, which sets up the build directory and adds any files that CMake produces with the configure_file command
configure-cmake:
stage: configure
image: $UPSTREAM_REGISTRY/$CONDA_ENV_IMAGE:latest
script:
- cmake ${CMAKE_ARGS} -DCMAKE_EXPORT_COMPILE_COMMANDS=true -B $BUILD_DIR -S .
artifacts:
expire_in: 2h
paths:
- $BUILD_DIR/
# there might be an easier way to auto-detect the artifacts below, which are made by CMake's configure_file
- src/version.hpp
- bayeswavecpp_bindings/autoload_cppyy.py

####################################################################################################
############################################### BUILD ##############################################
####################################################################################################

# Build the library with CMake (includes clang-tidy static analysis)
build-cpp-library:
stage: build
image: $UPSTREAM_REGISTRY/$CONDA_ENV_IMAGE:latest
needs: ["configure-cmake"]
script:
- cmake --build $BUILD_DIR --target bayeswavecpp -- VERBOSE=1
dependencies:
- configure-cmake
artifacts:
expire_in: 2h
paths:
- $BUILD_DIR/

# This is what I want to run, especially when there have been no c++ changes
test-python-binding-import:
stage: test
image: $UPSTREAM_REGISTRY/$CONDA_ENV_IMAGE:latest
needs: ["configure-cmake", "build-cpp-library"]
# for now, install cppyy through pip because the version from conda is out of date and has bugs
script:
- pip install cppyy-cling cppyy-backend CPyCppyy cppyy
- pip install -e .
- cd test/python_binding_tests
- python -m unittest -v -b test_cppyy_imports.py
dependencies:
- configure-cmake
- build-cpp-library


Подробнее здесь: https://stackoverflow.com/questions/784 ... -gitlab-ci
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Во время выполнения трубопровода Gitlab возникает ошибка: «Не удалось найти артефакт ...»
    Anonymous » » в форуме JAVA
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • Во время выполнения трубопровода Gitlab возникает ошибка: «Не удалось найти артефакт ...»
    Anonymous » » в форуме JAVA
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Используя Jenkins, создайте проект Maven, артефакт не последний.
    Anonymous » » в форуме JAVA
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Настройка файла .gitlab-ci.yml в Gitlab для тестирования кодов Python
    Anonymous » » в форуме Python
    0 Ответы
    104 Просмотры
    Последнее сообщение Anonymous
  • Подключиться к gitlab, используя gitlab java api
    Гость » » в форуме JAVA
    0 Ответы
    120 Просмотры
    Последнее сообщение Гость

Вернуться в «C++»