2016-01-31 2 views
0

Я пытаюсь сделать pytest публиковать отчеты о покрытии из AppVeyor. Я добавил зашифрованный токен репозитория, как описано here. Вот appveyor.yml файл:комбинезоны не работают на AppVeyor в некоторых сборках, но не в других

environment: 
    COVERALLS_REPO_TOKEN: 
    secure: 2NJ5Ct55cHJ9WEg3xbSqCuv0rdgzzb6pnzOIG5OkMbTndw3wOBrXntWFoQrXiMFi 
    # this is pytest's token in coveralls.io, encrypted 
    # using pytestbot account as detailed here: 
    # https://www.appveyor.com/docs/build-configuration#secure-variables 

install: 
    - echo Installed Pythons 
    - dir c:\Python* 

    # install pypy using choco (redirect to a file and write to console in case 
    # choco install returns non-zero, because choco install python.pypy is too 
    # noisy) 
    - choco install python.pypy > pypy-inst.log 2>&1 || (type pypy-inst.log & exit /b 1) 
    - set PATH=C:\tools\pypy\pypy;%PATH% # so tox can find pypy 
    - echo PyPy installed 
    - pypy --version 

    - C:\Python35\python -m pip install tox 

build: false # Not a C# project, build stuff at the test step instead. 

test_script: 
    # - C:\Python35\python -m tox 
    - C:\Python35\python -m tox -e coveralls # coveralls is not in tox's envlist 

Теперь странная вещь, некоторые сборки проходят другие не делают. Панель GH для непрерывной интеграции на PR показывает, что сборка для continuous-integration/appveyor/branch проходов и публикует освещение, как ожидалось, но не выполняется для continuous-integration/appveyor/pr сборки с этим сообщением:

You have to provide either repo_token in .coveralls.yml, or launch via Travis or CircleCI 
ERROR: InvocationError: 'C:\\projects\\pytest\\.tox\\coveralls\\Scripts\\coveralls.EXE' 

Кто-нибудь есть какие-либо идеи, что происходит?

ответ

0

Защищенные переменные не установлены во время сборки PR по соображениям безопасности.

+0

Благодарим за отзыв. Я подозревал, что ... но значит ли это, что с тех пор все PR перестанут? –

+0

Ну, да. Если AppVeyor не предоставляет встроенный механизм для загрузки результатов coveralls.io. Возможно ли, чтобы python отменил запуск тестов и сохранил результаты в некоторой форме, а затем отправил эти результаты в coveralls.io? –

+0

Решение, которое я принял, состояло в том, чтобы просто пропустить загрузку результатов комбинезонов, если 'COVERALLS_REPO_TOKEN' недоступен ... время покажет, приведет ли это к другим проблемам или нет. Еще раз спасибо за ваш ответ, я принимаю его. –

Смежные вопросы