使用AppVeyor

时间:2015-10-29 10:30:47

标签: r git github yaml appveyor

我有一个包含多个子目录的项目,我想依次检查。实际上,这些目录是一个有点过时的分支版本,由于各种原因我必须保留。

在我的主文件夹中,我有子目录patchpkg,并想要同时检查两者。我尝试使用以下脚本来实现此目的。

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 个答案:

答案 0 :(得分:2)

discussions支持AppVeyor后,我找到了解决问题的有效方法:

environment:
  matrix:
  - TEST_DIR: patch
  - TEST_DIR: pkg

before_build:
  - cd %TEST_DIR%

所以,我只需要删除控制台类型(pscmd)就可以更改目录。

就我而言,构建和检查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提供的脚本一起使用。