.appveyor.yml 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. # On a virtualenv is used for testing. The effective virtual env
  2. # is available under ~/VENV.
  3. #
  4. # All workers support remote login. Login details are shown at the top of each
  5. # CI run log.
  6. #
  7. # - Linux workers (via SSH):
  8. #
  9. # - A permitted SSH key must be defined in an APPVEYOR_SSH_KEY environment
  10. # variable (via the appveyor project settings)
  11. #
  12. # - SSH login info is given in the form of: 'appveyor@67.225.164.xx -p 22xxx'
  13. #
  14. # - Login with:
  15. #
  16. # ssh -o StrictHostKeyChecking=no <LOGIN>
  17. #
  18. # - to prevent the CI run from exiting, `touch` a file named `BLOCK` in the
  19. # user HOME directory (current directory directly after login). The session
  20. # will run until the file is removed (or 60 min have passed)
  21. # do not make repository clone cheap: interfers with versioneer
  22. shallow_clone: false
  23. environment:
  24. DTS: datalad_next
  25. APPVEYOR_BUILD_WORKER_IMAGE: Ubuntu2004
  26. INSTALL_SYSPKGS: graphicsmagick-imagemagick-compat moreutils jq uidmap fuse2fs
  27. # go with whatever is most recent to catch anything that might break
  28. # with them
  29. INSTALL_GITANNEX: git-annex -m snapshot
  30. skip_commits:
  31. files:
  32. - changelog.d/
  33. # it is OK to specify paths that may not exist for a particular test run
  34. cache:
  35. # pip cache
  36. - /home/appveyor/.cache/pip -> .appveyor.yml
  37. # turn of support for MS project build support (not needed)
  38. build: off
  39. install:
  40. - tools/appveyor/enable-ssh-login
  41. - tools/setup-git-identity
  42. - tools/bootstrap-handbook-user
  43. # Missing system software
  44. - tools/appveyor/install-syspkgs $INSTALL_SYSPKGS
  45. # pull latest singularity
  46. - tools/appveyor/install-singularity.sh
  47. # in case of a snapshot installation, use the following approach to adjust
  48. # If a particular Python version is requested, use env setup (using the
  49. # appveyor provided environments/installation). Note, these are broken
  50. # on the ubuntu images
  51. # https://help.appveyor.com/discussions/problems/28217-appveyor-ubunu-image-with-python3-lzma-module
  52. # Otherwise create a virtualenv using the default Python 3, to enable uniform
  53. # use of python/pip executables below
  54. - "[ \"x$PY\" != x ] && . ${HOME}/venv${PY}/bin/activate || virtualenv -p 3 ${HOME}/dlvenv && . ${HOME}/dlvenv/bin/activate; ln -s \"$VIRTUAL_ENV\" \"${HOME}/VENV\""
  55. - chronic tools/appveyor/install-git-annex ${INSTALL_GITANNEX}
  56. # enable the git-annex provisioned by the installer
  57. - "[ -f ${HOME}/dlinstaller_env.sh ] && . ${HOME}/dlinstaller_env.sh || true"
  58. build_script:
  59. - chronic python -m pip install -r requirements.txt
  60. - chronic python -m pip install -r requirements-devel.txt
  61. - chronic python -m pip install .
  62. # pull all submodules
  63. - chronic datalad get . -r -n
  64. before_test:
  65. # simple call to see if datalad and git-annex are installed properly
  66. - datalad wtf
  67. test_script:
  68. # Wipe out runrecords to trigger rebuild
  69. - rm -rf docs/basics/_examples
  70. - rm -rf docs/beyond_basics/_examples
  71. - make build
  72. on_success:
  73. - tools/appveyor/provision-runrecord-diff runrecord_diff.txt
  74. artifacts:
  75. - path: runrecord_diff.txt
  76. name: runrecord updates from rebuilding code snippets
  77. type: File
  78. on_finish:
  79. # conditionally block the exit of a CI run for direct debugging
  80. - while [ -f ~/BLOCK ]; do sleep 5; done