fix: fixed swagger wf AGAIN #15
Workflow file for this run
This file contains 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: Generate Endpoint Docs | |
on: | |
push: | |
branches: | |
# - "v2-dev" # TODO: remove this when merged into main # TODO uncomment after test complete | |
# - "main" # TODO: uncomment after test complete | |
- "v2-docswf-test" # TODO Remove this after test complete | |
# paths: | |
# - "controllers/*.go" # TODO uncomments after test complete | |
# - "cmd/backend.go" # TODO uncomment after test complete | |
workflow_dispatch: | |
jobs: | |
main: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
token: ${{ secrets.KS_PAT }} | |
ref: docs | |
- name: Configure SSH key | |
env: | |
SSH_PRIVATE_KEY: ${{ secrets.KS_SSH_PRIVATE_KEY }} | |
SSH_PUBLIC_KEY: ${{ secrets.KS_SSH_PUBLIC_KEY }} | |
run: | | |
mkdir -p ~/.ssh | |
echo "$SSH_PRIVATE_KEY" > ~/.ssh/koss-service | |
echo "$SSH_PUBLIC_KEY" > ~/.ssh/koss-service.pub | |
chmod 600 ~/.ssh/koss-service | |
chmod 600 ~/.ssh/koss-service.pub | |
- name: Setup go | |
uses: actions/setup-go@v4 | |
- name: install swag | |
run: go install github.com/swaggo/swag/cmd/swag@latest | |
- name: Setup node | |
uses: actions/setup-node@v3 | |
- name: Merge the changes from main branch to docs branch | |
run: | | |
git checkout -b docs || git checkout docs | |
git pull origin docs | |
git merge '${{ github.ref_name }}' | |
- name: Generate swagger.yaml and exit if no changes | |
run: | | |
swag init -g cmd/backend.go --ot yaml | |
if [ -z "$(git status --porcelain docs/swagger.yaml)" ]; then | |
exit 0 | |
fi | |
- name: Generate the html doc | |
run: | | |
mkdir -p docs | |
pushd ./docs | |
npx @redocly/cli build-docs --output index.html --config redocly.yaml | |
popd | |
- name: Commit and push changes | |
run: | | |
cd ./docs || exit 1 | |
git config user.email "admin@kossiitkgp.org" | |
git config user.name "koss-service" | |
git config gpg.format ssh | |
git config user.signingkey ~/.ssh/koss-service.pub | |
if [ -n "$(git status --porcelain swagger.yaml index.html)" ]; then | |
git add swagger.yaml index.html | |
git commit -S -m "Updated endpoints documentation" | |
git push | |
else | |
echo "No changes endpoint documentation" | |
fi |