diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 165fb18..b83edef 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -1,12 +1,15 @@ # This workflow will validate the mzQC example files against the JSON schema. name: tests - +env: + # folder path only; file name and extension wild cards get added in-use + PATH_TO_EXAMPLES: ./specification_documents/examples + on: push: - branches: [ main ] + branches: [ main, ci_test_validate ] pull_request: - branches: [ main ] + branches: [ main, ci_test_validate ] schedule: - cron: "0 0 1 1/1 *" # Run monthly. @@ -19,16 +22,28 @@ jobs: - name: Set up Python uses: actions/setup-python@v2 with: - python-version: '3.x' + python-version: '3.10' - name: Install dependencies run: | python -m pip install --upgrade pip - pip install jsonschema - - name: Validate mzQC files + pip install jsonschema check-jsonschema click + pip install -U git+https://github.com/MS-Quality-hub/pymzqc.git@v1.0.0rc3 + - name: Syntactic Validatation of Example mzQC Files + run: | + for i in $PATH_TO_EXAMPLES/*.mz[qQ][cC]; do + echo "Syntactic Validation of $i" + #jsonschema -i $i ./schema/mzqc_schema.json + check-jsonschema --schemafile ./schema/mzqc_schema.json $i + if [ $? -ne 0 ]; then + echo "Failed to validate $i" + exit 1 + fi + done + - name: Semantic Validatation of Example mzQC Files run: | - for i in ./specification_documents/examples/*.mz[qQ][cC]; do - echo "Syntactic validating of $i" - jsonschema -i $i ./schema/mzqc_schema.json + for i in $PATH_TO_EXAMPLES/*.mz[qQ][cC]; do + echo "Semantic Validation of $i" + mzqc-validator $i if [ $? -ne 0 ]; then echo "Failed to validate $i" exit 1