HED-SCORE example of EEG and iEEG data with annotations #1121
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: validate_datasets | |
on: | |
push: | |
branches: ['**'] | |
pull_request: | |
branches: ['**'] | |
create: | |
branches: [master] | |
tags: ['**'] | |
schedule: | |
- cron: "0 4 * * 1" | |
concurrency: | |
group: ${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
build: | |
strategy: | |
fail-fast: false | |
matrix: | |
platform: [ubuntu-latest, macos-latest, windows-latest] | |
bids-validator: [master, stable, master-deno] | |
runs-on: ${{ matrix.platform }} | |
env: | |
TZ: Europe/Berlin | |
FORCE_COLOR: 1 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Node.js | |
if: "matrix.bids-validator == 'stable' || matrix.bids-validator == 'master'" | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 18 | |
- name: Install BIDS validator (stable) | |
if: "matrix.bids-validator == 'stable'" | |
run: | | |
npm install -g bids-validator | |
- name: Install BIDS validator (master) | |
if: "matrix.bids-validator == 'master'" | |
run: | | |
pushd .. | |
# Get npm 7+ | |
npm install -g npm | |
git clone --depth 1 https://github.com/bids-standard/bids-validator | |
cd bids-validator | |
# Generate the full development node_modules | |
npm clean-install | |
# Build & bundle the bids-validator CLI package | |
npm -w bids-validator run build | |
# Generate a package to install globally | |
npm -w bids-validator pack | |
# Install the package globally | |
bash -c "npm install -g bids-validator-*.tgz" | |
popd | |
- uses: denoland/setup-deno@v1 | |
if: "matrix.bids-validator == 'master-deno'" | |
with: | |
deno-version: v1.x | |
- name: Install BIDS validator (master deno build) | |
if: "matrix.bids-validator == 'master-deno'" | |
run: | | |
# If unmerged validator PRs are needed for testing, you can use | |
# https://github.com/<FORK>/bids-validator/raw/<BRANCH>/bids-validator/src/bids-validator.ts | |
deno install -Agf https://github.com/bids-standard/bids-validator/raw/deno-build/bids-validator.js | |
shell: bash | |
- name: Display versions and environment information | |
run: | | |
echo $TZ | |
date | |
echo "npm"; npm --version | |
echo "node"; node --version | |
echo "bids-validator"; bids-validator --version | |
shell: bash | |
- name: Check that no large files are present | |
if: "matrix.bids-validator == 'stable'" | |
run: | | |
echo "Checking for big files ..." | |
found=`find . -not -path "./.git*" -type f -size +500k` | |
if [ "$found" == "" ] | |
then | |
echo "No big files present, great!" | |
else | |
echo "Found big files:" | |
echo "$found" | |
exit 1; | |
fi | |
shell: bash | |
- name: Skip MRS validation for legacy validator | |
run: for DS in mrs_*; do touch $DS/.SKIP_VALIDATION; done | |
if: "matrix.bids-validator != 'master-deno'" | |
shell: bash | |
- name: Validate all BIDS datasets using bids-validator | |
run: | | |
cat ./run_tests.sh | |
./run_tests.sh | |
shell: bash | |
env: | |
# When proposing new features, schema changes may be necessary. | |
# Update this URL to the schema.json from PRs to the spec, when needed. | |
BIDS_SCHEMA: https://bids-specification.readthedocs.io/en/latest/schema.json |