1

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

在我的主文件夹中,我有子目录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

这就像一个魅力。

4

1 回答 1

2

在与 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提供的脚本一起使用。

于 2015-10-30T15:32:11.687 回答