Update Swagger UI #1
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Update Swagger UI | |
| on: | |
| schedule: | |
| - cron: "0 10 * * *" # 매일 오전 10시에 실행 (UTC) | |
| workflow_dispatch: # 수동으로 실행할 수 있는 옵션 | |
| jobs: | |
| updateSwagger: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Get Latest Swagger UI Release | |
| id: swagger-ui | |
| run: | | |
| release_tag=$(curl -sL https://api.github.com/repos/swagger-api/swagger-ui/releases/latest | jq -r ".tag_name") | |
| echo "release_tag=$release_tag" >> $GITHUB_OUTPUT | |
| current_tag=$(<swagger-ui.version) | |
| echo "current_tag=$current_tag" >> $GITHUB_OUTPUT | |
| - name: Update Swagger UI | |
| if: steps.swagger-ui.outputs.current_tag != steps.swagger-ui.outputs.release_tag | |
| env: | |
| RELEASE_TAG: ${{ steps.swagger-ui.outputs.release_tag }} | |
| SWAGGER_YAML: "swagger.yaml" | |
| run: | | |
| # 기존 dist와 index.html 삭제 | |
| rm -fr dist index.html | |
| # 최신 Swagger UI 다운로드 | |
| curl -sL -o $RELEASE_TAG https://api.github.com/repos/swagger-api/swagger-ui/tarball/$RELEASE_TAG | |
| tar -xzf $RELEASE_TAG --strip-components=1 $(tar -tzf $RELEASE_TAG | head -1 | cut -f1 -d"/")/dist | |
| rm $RELEASE_TAG | |
| # index.html 이동 및 설정 | |
| mv dist/index.html . | |
| # swagger.yaml을 참조하도록 수정 | |
| sed -i "s|https://petstore.swagger.io/v2/swagger.json|$SWAGGER_YAML|g" dist/swagger-initializer.js | |
| # CSS/JS 경로 수정 (dist 폴더를 참조하도록) | |
| sed -i "s|href=\"./|href=\"dist/|g" index.html | |
| sed -i "s|src=\"./|src=\"dist/|g" index.html | |
| sed -i "s|href=\"index|href=\"dist/index|g" index.html | |
| # 버전 파일 업데이트 | |
| echo ${{ steps.swagger-ui.outputs.release_tag }} > swagger-ui.version | |
| - name: Create Pull Request | |
| uses: peter-evans/create-pull-request@v6 | |
| with: | |
| commit-message: Update swagger-ui to ${{ steps.swagger-ui.outputs.release_tag }} | |
| title: Update SwaggerUI to ${{ steps.swagger-ui.outputs.release_tag }} | |
| body: | | |
| Updates [swagger-ui][1] to ${{ steps.swagger-ui.outputs.release_tag }} | |
| ## 변경 사항 | |
| - Swagger UI 버전이 ${{ steps.swagger-ui.outputs.release_tag }}로 업데이트되었습니다. | |
| - 새로운 기능 및 버그 수정이 포함되어 있습니다. | |
| Auto-generated by [create-pull-request][2] | |
| [1]: https://github.com/swagger-api/swagger-ui | |
| [2]: https://github.com/peter-evans/create-pull-request | |
| labels: dependencies, automated pr | |
| branch: swagger-ui-updates |