Проверьте несколько подкаталогов с помощью AppVeyor
У меня есть проект с несколькими подкаталогами, которые я все хочу проверить по очереди. На самом деле, эти каталоги являются устаревшей версией веток, которые я должен хранить по разным причинам.
В моей основной папке у меня есть подкаталоги patch
а также pkg
и хочу проверить оба. Я попытался использовать следующий скрипт для достижения этой цели.
environment:
matrix:
- TEST_DIR: patch/
- TEST_DIR: pkg/
before_build:
- ps: echo %TEST_DIR%
- ps: cd %TEST_DIR%
build_script:
- travis-tool.sh install_deps
Я также использовал $TEST_DIR
а также были строки
- ps: echo %TEST_DIR%
- ps: cd %TEST_DIR%
в build_script
как раз перед - travis-tool.sh install_deps
, Ничего из этого не сработало.
Когда я использую echo %TEST_DIR%
это эхо %TEST_DIR%
и с echo $TEST_DIR
ничего не отражено, то есть строка кажется пустой. Есть какие-нибудь подсказки?
В Travis-CI я могу использовать
## test multiple directories
## (see https://lord.io/blog/2014/travis-multiple-subdirs/)
env:
- TEST_DIR=patch/
- TEST_DIR=pkg/
language: r
sudo: required
## change directory before installation
## as R packages are not available elsewise
before_install:
- cd $TEST_DIR
который работает как шарм.
1 ответ
После обсуждения со службой поддержки AppVeyor я нашел правильное решение проблемы:
environment:
matrix:
- TEST_DIR: patch
- TEST_DIR: pkg
before_build:
- cd %TEST_DIR%
Итак, мне просто нужно было сбросить тип консоли (ps
или же cmd
) чтобы можно было менять каталоги.
В моем случае, создавая и проверяя проект R, мне дополнительно нужно было добавить несколько строк для копирования сценариев и т. Д. before_build
, Все вместе, before_build
должен выглядеть так:
before_build:
- cp ..\travis-tool.sh .\travis-tool.sh
- cp travis-tool.sh.cmd %TEST_DIR%\travis-tool.sh.cmd
- cd %TEST_DIR%
- bash -c "echo '^travis-tool\.sh\.cmd$' >> .Rbuildignore"
Теперь AppVeyor можно использовать, как обычно, со скриптами, предоставляемыми проектом github R + AppVeyor.