Skip to content

RF: move from single entrypoint API to entrypoint per command #253

RF: move from single entrypoint API to entrypoint per command

RF: move from single entrypoint API to entrypoint per command #253

name: crippled-filesystems
on:
pull_request:
branches:
- 'main'
push:
branches:
- 'main'
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 "[email protected]"
git config --global user.name "GitHub Almighty"
- uses: actions/checkout@v1
- name: Set up Python 3.7
uses: actions/setup-python@v1
with:
python-version: 3.7
- name: Install dependencies
run: |
pip install -r requirements-devel.txt
python -m pip install --upgrade pip
- name: Install datalad_catalog
run: |
# package install
python -m pip install -e .
- 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 =="
coverage run -m pytest -s -v ../datalad_catalog
coverage xml
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3
with:
flags: unittests