From ca877f74e1f02825171c7a6c3568f4beb1ba7959 Mon Sep 17 00:00:00 2001 From: sammrai <13623491+sammrai@users.noreply.github.com> Date: Fri, 10 Jan 2025 02:31:59 +0000 Subject: [PATCH 01/11] feat: add GitHub Actions workflow for deploying to GitHub Pages --- .github/workflows/build-docker-image.yml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/.github/workflows/build-docker-image.yml b/.github/workflows/build-docker-image.yml index d6eb18e..09ba3b6 100644 --- a/.github/workflows/build-docker-image.yml +++ b/.github/workflows/build-docker-image.yml @@ -89,3 +89,20 @@ jobs: run: | docker stop sd-forge-container docker rm sd-forge-container + - uses: actions/upload-pages-artifact@v1 + with: + path: pages + + deploy: + needs: build + runs-on: ubuntu-latest + timeout-minutes: 5 + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + permissions: + pages: write + id-token: write + steps: + - uses: actions/deploy-pages@v1 + id: deployment From f9d1c506566c7122a6c839fadc91dce233efd110 Mon Sep 17 00:00:00 2001 From: sammrai <13623491+sammrai@users.noreply.github.com> Date: Fri, 10 Jan 2025 02:32:54 +0000 Subject: [PATCH 02/11] fix: update deployment job dependency in GitHub Actions workflow --- .github/workflows/build-docker-image.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-docker-image.yml b/.github/workflows/build-docker-image.yml index 09ba3b6..323af79 100644 --- a/.github/workflows/build-docker-image.yml +++ b/.github/workflows/build-docker-image.yml @@ -94,7 +94,7 @@ jobs: path: pages deploy: - needs: build + needs: generate-redoc runs-on: ubuntu-latest timeout-minutes: 5 environment: From 8300b1d8b4cbafb9f1241971582c920b5f8774a6 Mon Sep 17 00:00:00 2001 From: sammrai <13623491+sammrai@users.noreply.github.com> Date: Fri, 10 Jan 2025 02:38:16 +0000 Subject: [PATCH 03/11] fix: update Docker image version and adjust run command in workflow --- .github/workflows/build-docker-image.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-docker-image.yml b/.github/workflows/build-docker-image.yml index 323af79..4433f48 100644 --- a/.github/workflows/build-docker-image.yml +++ b/.github/workflows/build-docker-image.yml @@ -56,15 +56,15 @@ jobs: cache-to: type=registry,ref=${{ github.repository }}:cache-${{ matrix.cuda_version }},mode=max generate-redoc: + needs: docker-build runs-on: ubuntu-latest - needs: docker-build # このジョブはdocker-buildが完了した後に実行されます steps: - name: checkout uses: actions/checkout@v2 - name: Run Docker container run: | - docker run -d -p 7680:7680 --name sd-forge-container -e ARGS="--listen --enable-insecure-extension-access --port 7680 --nowebui --api --always-cpu --skip-torch-cuda-test --skip-install" sammrai/sd-forge-docker:latest + docker run -d -p 7680:7680 --name sd-forge-container -e ARGS="--listen --enable-insecure-extension-access --port 7680 --nowebui --api --api-server-stop --always-cpu --skip-torch-cuda-test --skip-install" sammrai/sd-forge-docker:12.4.0 sleep 30 # Adjust if necessary, based on how long it takes the app to initialize - name: Download openapi.json From 1034cb47bd1cddff5c14101de4d2ec0ebf2cd7a2 Mon Sep 17 00:00:00 2001 From: sammrai <13623491+sammrai@users.noreply.github.com> Date: Fri, 10 Jan 2025 02:41:24 +0000 Subject: [PATCH 04/11] fix: update Docker workflow to move Redoc HTML output and upload pages artifact --- .github/workflows/build-docker-image.yml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build-docker-image.yml b/.github/workflows/build-docker-image.yml index 4433f48..7ae1bce 100644 --- a/.github/workflows/build-docker-image.yml +++ b/.github/workflows/build-docker-image.yml @@ -78,20 +78,22 @@ jobs: - name: Generate Redoc HTML run: | redoc-cli bundle openapi.json --output openapi.html + mv openapi.html pages/ - name: Upload Redoc HTML as an artifact uses: actions/upload-artifact@v3 with: name: openapi-redoc - path: openapi.html + path: pages + + - uses: actions/upload-pages-artifact@v1 + with: + path: pages - name: Clean up Docker container run: | docker stop sd-forge-container docker rm sd-forge-container - - uses: actions/upload-pages-artifact@v1 - with: - path: pages deploy: needs: generate-redoc From 41d8fe7f42f43eb38749a2d8e1cd33b3554c140f Mon Sep 17 00:00:00 2001 From: sammrai <13623491+sammrai@users.noreply.github.com> Date: Fri, 10 Jan 2025 04:33:46 +0000 Subject: [PATCH 05/11] fix: update Docker workflow to use @redocly/cli and add Swagger HTML generation --- .github/workflows/build-docker-image.yml | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build-docker-image.yml b/.github/workflows/build-docker-image.yml index 7ae1bce..e3cdca4 100644 --- a/.github/workflows/build-docker-image.yml +++ b/.github/workflows/build-docker-image.yml @@ -73,17 +73,27 @@ jobs: - name: Install Redoc CLI run: | - npm install -g redoc-cli + npm install -g @redocly/cli - name: Generate Redoc HTML run: | - redoc-cli bundle openapi.json --output openapi.html - mv openapi.html pages/ + npx @redocly/cli build-docs openapi.json --output redoc.html + mkdir pages + mv redoc.html pages/ - - name: Upload Redoc HTML as an artifact + - name: Install Swagger CLI + run: | + npm install -g swagger-cli + + - name: Generate Swagger HTML + run: | + swagger-cli bundle openapi.json --outfile swagger.html --type html + mv swagger.html pages/ + + - name: Upload Redoc and Swagger HTML as artifacts uses: actions/upload-artifact@v3 with: - name: openapi-redoc + name: openapi-docs path: pages - uses: actions/upload-pages-artifact@v1 From 5d0899636caea04e1316fa47919bee0f9252b991 Mon Sep 17 00:00:00 2001 From: sammrai <13623491+sammrai@users.noreply.github.com> Date: Fri, 10 Jan 2025 04:42:35 +0000 Subject: [PATCH 06/11] fix: update Docker workflow to use openapi-generate-html for HTML generation --- .github/workflows/build-docker-image.yml | 25 +++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/.github/workflows/build-docker-image.yml b/.github/workflows/build-docker-image.yml index e3cdca4..4f71243 100644 --- a/.github/workflows/build-docker-image.yml +++ b/.github/workflows/build-docker-image.yml @@ -71,24 +71,27 @@ jobs: run: | curl -o openapi.json http://localhost:7680/openapi.json - - name: Install Redoc CLI + - name: Install openapi-generate-html run: | - npm install -g @redocly/cli + npm install -g openapi-generate-html - - name: Generate Redoc HTML + - name: Generate Stoplight Light HTML run: | - npx @redocly/cli build-docs openapi.json --output redoc.html - mkdir pages - mv redoc.html pages/ + npx openapi-generate-html -i openapi.json --ui=stoplight --theme=light + mkdir -p pages/stoplight-light + mv openapi.html pages/stoplight-light/index.html - - name: Install Swagger CLI + - name: Generate Stoplight Dark HTML run: | - npm install -g swagger-cli + npx openapi-generate-html -i openapi.json --ui=stoplight --theme=dark + mkdir -p pages/stoplight-dark + mv openapi.html pages/stoplight-dark/index.html - - name: Generate Swagger HTML + - name: Generate Swagger Light HTML run: | - swagger-cli bundle openapi.json --outfile swagger.html --type html - mv swagger.html pages/ + npx openapi-generate-html -i openapi.json --ui=swagger --theme=light + mkdir -p pages/swagger-light + mv openapi.html pages/swagger-light/index.html - name: Upload Redoc and Swagger HTML as artifacts uses: actions/upload-artifact@v3 From 892adcfcfbff7e85428b62f1b98971178298dfa3 Mon Sep 17 00:00:00 2001 From: sammrai <13623491+sammrai@users.noreply.github.com> Date: Fri, 10 Jan 2025 05:25:04 +0000 Subject: [PATCH 07/11] fix: update Docker workflow to improve HTML generation and output structure --- .github/workflows/build-docker-image.yml | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/.github/workflows/build-docker-image.yml b/.github/workflows/build-docker-image.yml index 4f71243..673b258 100644 --- a/.github/workflows/build-docker-image.yml +++ b/.github/workflows/build-docker-image.yml @@ -69,29 +69,24 @@ jobs: - name: Download openapi.json run: | - curl -o openapi.json http://localhost:7680/openapi.json + curl -output openapi.json http://localhost:7680/openapi.json - name: Install openapi-generate-html run: | npm install -g openapi-generate-html + mkdir pages - name: Generate Stoplight Light HTML run: | - npx openapi-generate-html -i openapi.json --ui=stoplight --theme=light - mkdir -p pages/stoplight-light - mv openapi.html pages/stoplight-light/index.html + npx openapi-generate-html -i openapi.json --ui=stoplight --theme=light --output pages/stoplight/stoplight.html - name: Generate Stoplight Dark HTML run: | - npx openapi-generate-html -i openapi.json --ui=stoplight --theme=dark - mkdir -p pages/stoplight-dark - mv openapi.html pages/stoplight-dark/index.html + npx openapi-generate-html -i openapi.json --ui=redoc --theme=light --output pages/redoc.html - name: Generate Swagger Light HTML run: | - npx openapi-generate-html -i openapi.json --ui=swagger --theme=light - mkdir -p pages/swagger-light - mv openapi.html pages/swagger-light/index.html + npx openapi-generate-html -i openapi.json --ui=swagger --theme=light --output pages/swagger.html - name: Upload Redoc and Swagger HTML as artifacts uses: actions/upload-artifact@v3 @@ -108,7 +103,7 @@ jobs: docker stop sd-forge-container docker rm sd-forge-container - deploy: + documentation-deployment: needs: generate-redoc runs-on: ubuntu-latest timeout-minutes: 5 From 23cf309344c2821e03903fc3671c81b4cfbd561c Mon Sep 17 00:00:00 2001 From: sammrai <13623491+sammrai@users.noreply.github.com> Date: Fri, 10 Jan 2025 05:40:22 +0000 Subject: [PATCH 08/11] fix: correct curl command option for downloading openapi.json --- .github/workflows/build-docker-image.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-docker-image.yml b/.github/workflows/build-docker-image.yml index 673b258..316c29e 100644 --- a/.github/workflows/build-docker-image.yml +++ b/.github/workflows/build-docker-image.yml @@ -69,7 +69,7 @@ jobs: - name: Download openapi.json run: | - curl -output openapi.json http://localhost:7680/openapi.json + curl -o openapi.json http://localhost:7680/openapi.json - name: Install openapi-generate-html run: | From a77ee00cae68afdcb8ffcae775e2a066f1e144c9 Mon Sep 17 00:00:00 2001 From: sammrai <13623491+sammrai@users.noreply.github.com> Date: Fri, 10 Jan 2025 06:03:15 +0000 Subject: [PATCH 09/11] fix: correct output path for Stoplight Light HTML generation --- .github/workflows/build-docker-image.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-docker-image.yml b/.github/workflows/build-docker-image.yml index 316c29e..46d8dbd 100644 --- a/.github/workflows/build-docker-image.yml +++ b/.github/workflows/build-docker-image.yml @@ -78,7 +78,7 @@ jobs: - name: Generate Stoplight Light HTML run: | - npx openapi-generate-html -i openapi.json --ui=stoplight --theme=light --output pages/stoplight/stoplight.html + npx openapi-generate-html -i openapi.json --ui=stoplight --theme=light --output pages/stoplight.html - name: Generate Stoplight Dark HTML run: | From d8f5cf378e27ea0ea3bc9ad8b2013e1071bb2f5a Mon Sep 17 00:00:00 2001 From: sammrai <13623491+sammrai@users.noreply.github.com> Date: Fri, 10 Jan 2025 06:13:02 +0000 Subject: [PATCH 10/11] fix: add gh-pages branch to Docker build workflow triggers --- .github/workflows/build-docker-image.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build-docker-image.yml b/.github/workflows/build-docker-image.yml index 46d8dbd..8d3db32 100644 --- a/.github/workflows/build-docker-image.yml +++ b/.github/workflows/build-docker-image.yml @@ -5,6 +5,7 @@ on: branches: - "main" - "test" + - "gh-pages" jobs: docker-build: From b24eed4783e2a54556c189bc1babdad1e10e2a47 Mon Sep 17 00:00:00 2001 From: sammrai <13623491+sammrai@users.noreply.github.com> Date: Fri, 10 Jan 2025 09:16:14 +0000 Subject: [PATCH 11/11] fix: enhance openapi.json download with retry logic and error handling --- .github/workflows/build-docker-image.yml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-docker-image.yml b/.github/workflows/build-docker-image.yml index 8d3db32..99c0c7e 100644 --- a/.github/workflows/build-docker-image.yml +++ b/.github/workflows/build-docker-image.yml @@ -70,7 +70,11 @@ jobs: - name: Download openapi.json run: | - curl -o openapi.json http://localhost:7680/openapi.json + for i in $(seq 1 30); do + curl -sf -o openapi.json http://localhost:7680/openapi.json && break + sleep 1 + done + [ -f openapi.json ] || { echo "openapi.json not found after 30 attempts"; exit 1; } - name: Install openapi-generate-html run: | @@ -106,8 +110,9 @@ jobs: documentation-deployment: needs: generate-redoc - runs-on: ubuntu-latest + runs-on: ubuntu-latest timeout-minutes: 5 + if: ${{ github.ref == 'refs/heads/main' }} environment: name: github-pages url: ${{ steps.deployment.outputs.page_url }}