Skip to content

Machine-readable config description #1

Machine-readable config description

Machine-readable config description #1

Workflow file for this run

name: Schema
on:
pull_request:
paths:
- schema/**
- docs/usage/configuration/config_documentation.md
jobs:
validate-schema:
name: Ensure Synapse config schema is valid
runs-on: ubuntu-latest
steps:
- name: Install check-jsonschema
run: |
export DEBIAN_FRONTEND=noninteractive
apt-get -y update
apt-get -y install pipx
pipx install check-jsonschema
- name: Validate meta schema
run: /root/.local/bin/check-jsonschema --check-metaschema schema/meta.schema.json
- name: Validate schema
run: /root/.local/bin/check-jsonschema --schemafile=schema/meta.schema.json schema/synapse-config.schema.yaml
- name: Validate default config
run: echo "{}" | /root/.local/bin/check-jsonschema --fill-defaults --schemafile=schema/synapse-config.schema.yaml -
check-doc-generation:
name: Ensure generated documentation is up-to-date
runs-on: ubuntu-latest
steps:
- name: Regenerate config documentation
run: scripts-dev/gen_config_documentation.py schema/synapse-config.schema.json > docs/usage/configuration/config_documentation.md
- name: Log any differences
run: git diff
- name: Error in case of any differences
run: '! git status --porcelain=1 | grep "^ M"'