diff --git a/.github/workflows/validate_bids-examples.yml b/.github/workflows/validate_bids-examples.yml index 0ed566aa65..e28f92a9a5 100644 --- a/.github/workflows/validate_bids-examples.yml +++ b/.github/workflows/validate_bids-examples.yml @@ -2,14 +2,14 @@ name: validate_datasets on: push: - branches: ['**'] + branches: ['master'] pull_request: branches: ['**'] - create: - branches: [master] - tags: ['**'] - schedule: - - cron: "0 4 * * 1" +# create: +# branches: [master] +# tags: ['**'] +# schedule: +# - cron: "0 4 * * 1" concurrency: group: ${{ github.ref }} @@ -20,8 +20,9 @@ jobs: strategy: fail-fast: false matrix: - platform: [ubuntu-latest, macos-latest, windows-latest] + platform: [ubuntu-latest] # , macos-latest, windows-latest] bids-validator: [master, stable] + python-version: ["3.11"] runs-on: ${{ matrix.platform }} @@ -32,6 +33,20 @@ jobs: steps: - uses: actions/checkout@v4 + # Setup Python with bst + - uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python-version }} + - name: "Install build dependencies" + run: pip install --upgrade build twine + - name: "Build source distribution and wheel" + run: python -m build tools/schemacode + - name: "Check distribution metadata" + run: twine check tools/schemacode/dist/* + - name: "Install bst tools from the build" + run: pip install $( ls tools/schemacode/dist/*.whl )[all] + + # Setup validator - name: Set up Node.js uses: actions/setup-node@v4 with: @@ -67,24 +82,28 @@ jobs: echo "npm"; npm --version echo "node"; node --version echo "bids-validator"; bids-validator --version + echo "python"; python --version - - 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 + # Checkout bids-examples + - uses: actions/checkout@v4 + with: + repository: bids-standard/bids-examples + path: bids-examples - - name: Validate all BIDS datasets using bids-validator + - name: Validate all BIDS datasets using bids-validator without migration run: | cat ./run_tests.sh bash ./run_tests.sh + working-directory: bids-examples + + - name: Migrate all BIDS datasets + run: | + /bin/ls */dataset_description.json | sed -e 's,/.*,,g' | xargs bst migrate-datasets + shell: bash + working-directory: bids-examples + + - name: Validate all BIDS datasets using bids-validator after migration + run: | + VALIDATOR_ARGS=" ...TODO point to schema" bash ./run_tests.sh shell: bash + working-directory: bids-examples