diff --git a/.github/workflows/check-schema.yaml b/.github/workflows/check-schema.yaml new file mode 100644 index 000000000..45148ad04 --- /dev/null +++ b/.github/workflows/check-schema.yaml @@ -0,0 +1,36 @@ +name: Check JSON Schema + +on: + pull_request: + branches: + - dev + +jobs: + generate-schema: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: '3.10' + + - name: Install dependencies + run: | + pip install . + + - name: Generate JSON Schema + run: | + python -m scripts.generate_json_schema_config + + - name: Check for changes in JSON Schema + run: | + if ! git diff --quiet docs/optimizer_config.schema.json; then + echo "Error: docs/optimizer_config.schema.json has been modified after running the generator script." + exit 1 + else + echo "No changes detected in docs/optimizer_config.schema.json." + fi diff --git a/.github/workflows/generate-schema.yaml b/.github/workflows/generate-schema.yaml deleted file mode 100644 index 34e220fcf..000000000 --- a/.github/workflows/generate-schema.yaml +++ /dev/null @@ -1,45 +0,0 @@ -name: Generate JSON Schema - -on: - push: - branches: - - dev - -permissions: - contents: write - -jobs: - generate-schema: - runs-on: ubuntu-latest - - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - - name: Set up Python - uses: actions/setup-python@v5 - with: - python-version: '3.10' - - - name: Install dependencies - run: | - pip install . - - - name: Generate JSON Schema - run: python scripts/generate_json_schema_config.py - - - name: Check for changes - id: check_changes - run: | - git diff --exit-code docs/optimizer_config.schema.json || echo "changed=true" >> $GITHUB_ENV - - - name: Commit and push changes - if: env.changed == 'true' - env: - GITHUB_TOKEN: ${{ github.token }} - run: | - git config --global user.name "github-actions[bot]" - git config --global user.email "github-actions[bot]@users.noreply.github.com" - git add docs/optimizer_config.schema.json - git commit -m "Update optimizer_config.schema.json" - git push \ No newline at end of file diff --git a/Makefile b/Makefile index 15a478435..5606dc433 100644 --- a/Makefile +++ b/Makefile @@ -48,5 +48,9 @@ clean-docs: rm -rf docs/source/autoapi rm -rf docs/source/user_guides +.PHONY: schema +schema: + $(poetry) python -m scripts.generate_json_schema_config + .PHONY: all all: lint diff --git a/docs/optimizer_config.schema.json b/docs/optimizer_config.schema.json index c05937534..a2ca08730 100644 --- a/docs/optimizer_config.schema.json +++ b/docs/optimizer_config.schema.json @@ -441,24 +441,26 @@ "title": "Module Name", "type": "string" }, - "cv": { + "embedder_name": { "items": { - "type": "integer" + "type": "string" }, - "title": "Cv", + "title": "Embedder Name", "type": "array" }, - "embedder_name": { + "cv": { + "default": [ + 3 + ], "items": { - "type": "string" + "type": "integer" }, - "title": "Embedder Name", + "title": "Cv", "type": "array" } }, "required": [ "module_name", - "cv", "embedder_name" ], "title": "LogregAimedEmbeddingInitModel",