Всем здарова.
Имею такой код на CI:
stages:
- build
- publish
image: gcc:latest
build_job:
stage: build
script:
- gcc --version
- echo "Compiling the project ${BUILD_TARGET}..."
- g++ -o ${BUILD_TARGET}_program main.cpp
parallel:
matrix:
- BUILD_TARGET: [foo, bar]
artifacts:
paths:
- ${BUILD_TARGET}_program
expire_in: 1 day
when: manual
publish_job:
stage: publish
needs:
- build_job
script:
- echo "Running tests ${BUILD_TARGET}..."
- ./${BUILD_TARGET}_program
parallel:
matrix:
- BUILD_TARGET: [foo, bar]
when: manual
Т.е. тут на 1-ом шаге собираются два таргета foo и bar, а затем на 2-ом шаге эти таргеты выполняются (ну, в реале должны копироваться куда-то там, но сейчас не важно).
Все делается вручную (так надо).
Так вот, я ожидал, что после того как я нажму на «build» таргет foo, и после успешной его сборки, я смогу далее нажмать и на «publish» этого таргета foo. Но, при нажатии на «publich» - ничего не происходит, этот шаг так и остается в состоянии skipped…
Я могу нажать на «publish» таргетов foo или bar только после того, как ВСЕ эти таргеты были собраны…
Но мне надо, чтобы я смог запустить второй шаг для какого-то таргета, если первый шаг для этого таргета был выполнен.
Как это сделать, и возможно ли? Помогите, кто нить, не понимаю, куда надо копать, гуглил уже, и ничо толкового не нагуглил.
PS: А этот гугловский ББ тупой аки пробка, выдает какую то не работающую дичь.