test_crippledfs.yml 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. name: crippled-filesystems
  2. on: [pull_request]
  3. jobs:
  4. test:
  5. runs-on: ubuntu-latest
  6. steps:
  7. - name: Set up system
  8. shell: bash
  9. run: |
  10. bash <(wget -q -O- http://neuro.debian.net/_files/neurodebian-travis.sh)
  11. # enable repo for devel git-annex, if needed
  12. #sudo sed -e 's|\(deb.*data\)|#\1|' -e 's|/debian |/debian-devel |' /etc/apt/sources.list.d/neurodebian.sources.list | sudo tee /etc/apt/sources.list.d/neurodebian-devel.sources.list
  13. sudo apt-get update -qq
  14. sudo apt-get install eatmydata
  15. sudo eatmydata apt-get install git-annex-standalone dosfstools
  16. # 500 MB VFAT FS in a box
  17. sudo dd if=/dev/zero of=/crippledfs.img count=500 bs=1M
  18. sudo mkfs.vfat /crippledfs.img
  19. # mount
  20. sudo mkdir /crippledfs
  21. sudo mount -o "uid=$(id -u),gid=$(id -g)" /crippledfs.img /crippledfs
  22. - name: Set up environment
  23. run: |
  24. git config --global user.email "test@github.land"
  25. git config --global user.name "GitHub Almighty"
  26. - uses: actions/checkout@v1
  27. - name: Set up Python 3.7
  28. uses: actions/setup-python@v1
  29. with:
  30. python-version: 3.7
  31. - name: Install dependencies
  32. run: |
  33. pip install -r requirements-devel.txt
  34. python -m pip install --upgrade pip
  35. - name: Installation
  36. run: |
  37. # package install
  38. python -m pip install .
  39. - name: Run tests
  40. env:
  41. # forces all test repos/paths into the VFAT FS
  42. TMPDIR: /crippledfs
  43. run: |
  44. mkdir -p __testhome__
  45. cd __testhome__
  46. # give detailed info on actual test setup
  47. datalad wtf
  48. echo "== mount >>"
  49. mount
  50. echo "<< mount =="
  51. python -m pytest -s -v --doctest-modules --cov=datalad_helloworld --pyargs datalad_helloworld