--- a
+++ b/.github/workflows/python-app.yml
@@ -0,0 +1,65 @@
+name: BIDS Validator
+
+on:
+  push:
+    branches: [ master ]
+  pull_request:
+    branches: [ master ]
+
+jobs:
+  build:
+
+    runs-on: ubuntu-latest
+
+    steps:
+    - uses: actions/checkout@v2
+    - name: Set up Python 3.7
+      uses: actions/setup-python@v2
+      with:
+        python-version: 3.7
+
+    - name: before_install
+      run: |
+        # install spine-generic for acquisition parameters check
+        pip install spinegeneric@git+https://github.com/spine-generic/spine-generic.git@v2.3.1
+        # use conda's git-annex, because it's the most up to date;
+        # Debian's is very behind, and even neurodebian's is behind
+        # by a year, and is currently incompatible with the format of this repo.
+        wget -O/tmp/Miniconda3-latest-Linux-x86_64.sh https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh
+        bash /tmp/Miniconda3-latest-Linux-x86_64.sh -b -f
+        source ~/miniconda3/bin/activate # careful! after this we're no longer in GH action's python, we're in conda's!
+        conda install -y -c conda-forge git-annex
+        # install proper NodeJS for bids-validator
+        sudo rm -rf ~/.nvm
+        curl -sL https://deb.nodesource.com/setup_current.x | sudo -E bash -
+        sudo apt-get install -y nodejs
+        sudo npm install -g bids-validator
+    - name: Include miniconda in PATH
+      run: |
+        echo "$HOME/miniconda3/bin" >> $GITHUB_PATH
+        echo "$HOME/miniconda3/Scripts" >> $GITHUB_PATH
+        git config --global user.name "gh-actions"
+        git config --global user.email "gh-actions"
+    - name: setup
+      run: |
+        # download the data content
+        git fetch origin git-annex:git-annex # Travis does a shallow checkout, so it is missing this important branch
+        git annex init
+    - name: download data
+      run: |        
+        echo -e "\e[1m \e[4m \e[34mDownloading dataset; this will take a while. \n"
+        # this is -q because git-annex doesn't have a short progress bar like git
+        # and the download log is overwhelming and not interesting and might trip over
+        #    https://docs.travis-ci.com/user/common-build-problems/#log-length-exceeded.
+        # but -q might instead trip over
+        #   https://docs.travis-ci.com/user/common-build-problems/#build-times-out-because-no-output-was-received
+        # so it's a balancing act.
+        git annex get -J8
+    - name: script
+      run: |
+        echo -e "\e[1m \e[4m \e[34mRunning BIDS-validator \n"
+        bids-validator ./
+        echo -e "\e[1m \e[4m \e[34mChecking acquisition parameters \n"
+        sg_params_checker -path-in ./
+        echo -e "\e[1m \e[4m \e[34mChecking data consistency \n"
+        sg_check_data_consistency -path-in ./