ci: generate schema and push to api-client repo (#1740)

* chore(api): add schema generation make target

* ci: generate schema and push to api-client repo
This commit is contained in:
Kyle Robbertze 2022-04-08 15:38:58 +02:00 committed by GitHub
parent 799c1d2660
commit beebe79edd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 37 additions and 0 deletions

32
.github/workflows/api-schema.yml vendored Normal file
View File

@ -0,0 +1,32 @@
name: Push API schema
on:
push:
branches: [main]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
generate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v3
- name: Clone api-client repo
uses: actions/checkout@v3
with:
repository: "${{ github.repository_owner }}/api-client"
path: api-client-repo
ssh-key: "${{ secrets.API_CLIENT_DEPLOY_KEY }}"
- name: Generate schema
run: |
make schema
cp schema.yml ../api-client-repo/schema.yml
working-directory: api
- name: Push schema changes to API clients
uses: stefanzweifel/git-auto-commit-action@v4
with:
commit_message: Update schema for ${{ github.sha }}
repository: ./api-client-repo

View File

@ -14,3 +14,7 @@ clean: .clean
test: $(VENV)
source $(VENV)/bin/activate
DJANGO_SETTINGS_MODULE=libretime_api.settings.testing libretime-api test libretime_api
schema: $(VENV)
source $(VENV)/bin/activate
DJANGO_SETTINGS_MODULE=libretime_api.settings.testing libretime-api spectacular --file schema.yml

View File

@ -20,6 +20,7 @@ from .prod import (
REST_FRAMEWORK,
ROOT_URLCONF,
SECRET_KEY,
SPECTACULAR_SETTINGS,
STATIC_URL,
TEMPLATES,
TIME_ZONE,