diff --git a/.github/workflows/regenerate-schemas.yml b/.github/workflows/regenerate-schemas.yml new file mode 100644 index 00000000..1e08d8e6 --- /dev/null +++ b/.github/workflows/regenerate-schemas.yml @@ -0,0 +1,29 @@ +name: Regenerate JSON schemas + +on: + push: + branches: ["main"] + +jobs: + regenerate_schemas: + runs-on: ubuntu-latest + permissions: + pull-requests: write + steps: + - uses: actions/checkout@v4 + + - name: Update Schema + run: cargo run -p dora-core --bin generate_schema + - name: Create if changed + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + if git diff --exit-code -- libraries/core/dora-schema.json; then + echo "Schema file was not changed" + else + git switch -c schema-update-for-${{ github.sha }} + git add libraries/core/dora-schema.json + git commit -m "Update JSON schema for `dora-core`" + gh pr create --fill + fi +