name: CrippledFS

on: [pull_request]

jobs:
  test:

    runs-on: ubuntu-latest

    steps:
    - name: Set up system
      shell: bash
      run: |
        bash <(wget -q -O- http://neuro.debian.net/_files/neurodebian-travis.sh)
        # enable repo for devel git-annex
        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
        sudo apt-get update -qq
        sudo apt-get install eatmydata
        sudo eatmydata apt-get install git-annex-standalone dosfstools
        # 500 MB VFAT FS in a box
        sudo dd if=/dev/zero of=/crippledfs.img count=500 bs=1M
        sudo mkfs.vfat /crippledfs.img
        # mount
        sudo mkdir /crippledfs
        sudo mount -o "uid=$(id -u),gid=$(id -g)" /crippledfs.img /crippledfs
    - name: Set up environment
      run: |
        git config --global user.email "test@github.land"
        git config --global user.name "GitHub Almighty"
    - uses: actions/checkout@v1
    - name: Set up Python 3.6
      uses: actions/setup-python@v1
      with:
        python-version: 3.6
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -r requirements.txt
    - name: WTF!?
      run: |
        datalad wtf
        mount
    - name: Run tests
      env:
        # forces all test repos/paths into the VFAT FS
        TMPDIR: /crippledfs
      run: |
        mkdir -p __testhome__
        cd __testhome__
        python -m nose -s -v -A "not (turtle)" datalad.core datalad.local datalad.distributed datalad.tests.test_utils_cached_dataset
