使用 AppVeyor 检查多个子目录

Check multiple subdirectories using 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。 None 这是有效的。

当我使用 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

这很有魅力。

在 AppVeyor 支持下 discussions 之后,我找到了一个有效的问题解决方案:

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