Skip to content

Check OpenAPI Updates #341

Check OpenAPI Updates

Check OpenAPI Updates #341

name: Check OpenAPI Updates
on:
workflow_dispatch:
schedule:
- cron: "0 16 * * *" # every day at 4pm UTC
jobs:
check-spec-updates:
runs-on: ubuntu-latest
outputs:
changed: ${{ steps.check-changes.outputs.changed }}
steps:
- uses: actions/checkout@v4
- name: Check OpenAPI Spec for updates
id: check-changes
run: |
curl -s -o openapi.yaml https://app.loops.so/openapi.yaml
DIFF=$(git diff openapi.yaml)
if [[ "$DIFF" ]]; then
echo "OpenAPI Spec has changed"
echo "changed=true" >> "$GITHUB_OUTPUT"
exit 0
else
echo "OpenAPI Spec has not changed. Exiting"
exit 0
fi
update-spec:
runs-on: ubuntu-latest
needs:
- check-spec-updates
if: ${{ needs.check-spec-updates.outputs.changed == 'true' }}
env:
GIT_USER_ID: 'behnh'
GIT_REPO_ID: 'loops-api-go'
permissions:
contents: write
pull-requests: write
steps:
- uses: actions/checkout@v4
- run: |
curl -s -o openapi.yaml https://app.loops.so/openapi.yaml
wget https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/7.7.0/openapi-generator-cli-7.7.0.jar -O /tmp/openapi-generator-cli.jar
- run: java -jar /tmp/openapi-generator-cli.jar generate -i openapi.yaml -g go -c config.yaml --git-user-id $GIT_USER_ID --git-repo-id $GIT_REPO_ID
- name: Raise PR
uses: peter-evans/create-pull-request@v7
with:
branch: bot/generate-client
title: '[Automated] OpenAPI Spec Update'
reviewers: behnh