46 lines
1.4 KiB
YAML
46 lines
1.4 KiB
YAML
|
name: Update Swagger
|
||
|
|
||
|
on:
|
||
|
workflow_dispatch:
|
||
|
push:
|
||
|
branches:
|
||
|
- master
|
||
|
jobs:
|
||
|
push:
|
||
|
|
||
|
runs-on: ubuntu-latest
|
||
|
steps:
|
||
|
|
||
|
- uses: actions/checkout@v3.5.2
|
||
|
|
||
|
- name: Set up JDK 17
|
||
|
uses: actions/setup-java@v3.11.0
|
||
|
with:
|
||
|
java-version: '17'
|
||
|
distribution: 'temurin'
|
||
|
|
||
|
- name: Grant execute permission for gradlew
|
||
|
run: chmod +x gradlew
|
||
|
|
||
|
- name: Generate Swagger documentation
|
||
|
run: ./gradlew generateOpenApiDocs
|
||
|
|
||
|
- name: Get version number
|
||
|
id: versionNumber
|
||
|
run: echo "::set-output name=versionNumber::$(./gradlew printVersion --quiet | tail -1)"
|
||
|
|
||
|
- name: Commit and push if it changed
|
||
|
run: |
|
||
|
git config --local user.email "action@github.com"
|
||
|
git config --local user.name "GitHub Action"
|
||
|
git add -A
|
||
|
git diff --quiet && git diff --staged --quiet || git commit -m "Updated Swagger documentation"
|
||
|
git remote set-url origin https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }}.git
|
||
|
git push
|
||
|
|
||
|
- name: Upload Swagger Documentation to SwaggerHub
|
||
|
run: |
|
||
|
curl -X POST -H "Authorization: ${SWAGGERHUB_API_KEY}" -H "Content-Type: application/json" -d @SwaggerDoc.json "https://api.swaggerhub.com/apis/Frooodle/Stirling-PDF/${{ steps.versionNumber.outputs.versionNumber }}?isPrivate=false&force=true"
|
||
|
env:
|
||
|
SWAGGERHUB_API_KEY: ${{ secrets.SWAGGERHUB_API_KEY }}
|