name: Generate openapi.json on: push: branches: [main] workflow_dispatch: env: TITLE: seadex OUTPUT: service-seadex-openapi.json DOCS_BRANCH_BASE: main DOCKERHUB_TOKEN: token DOCKERHUB_USERNAME: username GITHUB_TOKEN: token jobs: generate-docs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: python-version: "3.12" - name: Generate openapi.json shell: bash run: | pip install -r requirements.txt python scripts/dump_openapi.py --out "${{ env.OUTPUT }}" --title "${{ env.TITLE }}" - name: Clone openapi-gateway-docs repo uses: actions/checkout@v4 with: repository: ${{ github.repository_owner }}/openapi-gateway-docs path: ./openapi-gateway-docs ref: ${{ env.DOCS_BRANCH_BASE }} token: ${{ secrets.BOT_TOKEN }} - name: Move generated openapi.json run: | mkdir -p openapi-gateway-docs/sources mv "${{ env.OUTPUT }}" "openapi-gateway-docs/sources/${{ env.OUTPUT }}" - name: Generate markdown working-directory: ./openapi-gateway-docs run: python gen_docs.py - name: Update openapi-gateway-docs working-directory: ./openapi-gateway-docs run: | git config user.name "automation-bot" git config user.email "dev@gansejunge.com" git add sources API-*.md if git diff --cached --quiet; then echo "No documentation changes to commit" exit 0 fi COMMIT_URL="https://git.gansejunge.com/${GITHUB_REPOSITORY}/commit/${GITHUB_SHA}" git commit -m "Updated docs for ${GITHUB_REPOSITORY}" -m "Linked build commit: $COMMIT_URL" git pull --rebase origin "$DOCS_BRANCH_BASE" git push origin "HEAD:$DOCS_BRANCH_BASE"