Skip to content

schema-publish

schema-publish #110

name: schema-publish
# author: @ralfhandl
# issue: https://github.com/OAI/OpenAPI-Specification/issues/3715
#
# This workflow creates a pull request for publishing schema iterations to the gh-pages site.
#
# run this on push to vX.Y-dev branches or manually
on:
push:
branches:
- "v[0-9].[0-9]-dev"
paths:
- "src/schemas/validation/*.yaml"
- "scripts/schema-publish.sh"
- ".github/workflows/schema-publish.yaml"
workflow_dispatch: {}
jobs:
publish:
runs-on: ubuntu-latest
steps:
- name: Generate access token
id: generate-token
uses: actions/create-github-app-token@v1
with:
app-id: ${{ secrets.OAI_SPEC_PUBLISHER_APPID }}
private-key: ${{ secrets.OAI_SPEC_PUBLISHER_PRIVATE_KEY }}
owner: OAI
repositories: spec.openapis.org
- uses: actions/checkout@v4 # checkout main branch
with:
fetch-depth: 0
- uses: actions/setup-node@v5 # setup Node.js
with:
node-version: "22.x"
- name: Install dependencies
run: npm ci
- uses: actions/checkout@v5 # checkout gh-pages branch
with:
token: ${{ steps.generate-token.outputs.token }}
repository: OAI/spec.openapis.org
ref: main
path: deploy
- name: run main script
run: scripts/schema-publish.sh
- name: Create Pull Request
uses: peter-evans/create-pull-request@v6
with:
token: ${{ steps.generate-token.outputs.token }}
branch: openapi-${{ github.ref_name }}-schema-iterations
base: main
delete-branch: true
path: deploy
labels: OpenAPI,Schema
reviewers: earth2marsh,lornajane,mikekistler,miqui,ralfhandl,whitlockjc,handrews,karenetheridge
title: "OpenAPI - publish ${{ github.ref_name }} schema iterations"
commit-message: "New OpenAPI schema iterations published from ${{ github.ref_name }}"
signoff: true
body: |
This pull request is automatically generated by GitHub action `schema-publish`.
The `src/schemas/validation/*.yaml` files have changed and JSON files are automatically generated.