datalad/datalad-neuroimaging

View on GitHub
.github/workflows/test_crippledfs.yml

Summary

Maintainability
Test Coverage
name: crippled-filesystems

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, if needed
        #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.8
      uses: actions/setup-python@v1
      with:
        python-version: 3.8
    - name: Install dependencies
      run: |
        pip install -r requirements-devel.txt
        python -m pip install --upgrade pip
    - name: Installation
      run: |
        # package install
        python -m pip install .
    - name: Run tests
      env:
        # forces all test repos/paths into the VFAT FS
        TMPDIR: /crippledfs
      run: |
        mkdir -p __testhome__
        cd __testhome__
        # give detailed info on actual test setup
        datalad wtf
        echo "== mount >>"
        mount
        echo "<< mount =="
        python -m pytest -s -v --cov=datalad_neuroimaging --pyargs datalad_neuroimaging