Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -59,8 +59,8 @@ environment:

# All of these are common to all matrix runs ATM, so pre-defined here and to be overloaded if needed
DTS: datalad_container
APPVEYOR_BUILD_WORKER_IMAGE: Ubuntu2004
INSTALL_SYSPKGS: python3-venv xz-utils jq
APPVEYOR_BUILD_WORKER_IMAGE: Ubuntu2204
INSTALL_SYSPKGS: python3-venv xz-utils jq libffi7
# system git-annex is way too old, use better one
INSTALL_GITANNEX: git-annex -m deb-url --url http://snapshot.debian.org/archive/debian/20210906T204127Z/pool/main/g/git-annex/git-annex_8.20210903-1_amd64.deb
CODECOV_BINARY: https://uploader.codecov.io/latest/linux/codecov
Expand Down
56 changes: 56 additions & 0 deletions .github/workflows/test_crippledfs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
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 "[email protected]"
git config --global user.name "GitHub Almighty"
- uses: actions/checkout@v4
- name: Set up Python 3.9
uses: actions/setup-python@v5
with:
python-version: 3.9
- name: Install dependencies
run: |
pip install -r requirements-devel.txt
python -m pip install --upgrade pip
tools/ci/install-singularity.sh
- 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 --doctest-modules --cov=datalad_container --pyargs datalad_container
3 changes: 3 additions & 0 deletions changelog.d/pr-279.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
### 🧪 Tests

- Add testing under a crippled FS. [PR #279](https://github.com/datalad/datalad-container/pull/279) (by [@yarikoptic](https://github.com/yarikoptic))