@@ -28,7 +28,7 @@ inputs:
2828outputs :
2929 deployment-url :
3030 description : " Deployment URL"
31- value : ${{ steps.deploy .outputs.deployment-url }}
31+ value : ${{ steps.upload_middleware .outputs.deployment-url }}
3232runs :
3333 using : ' composite'
3434 steps :
@@ -63,30 +63,66 @@ runs:
6363 env :
6464 GITBOOK_RUNTIME : cloudflare
6565 shell : bash
66- - id : deploy
67- name : Deploy to Cloudflare
66+
67+ - id : upload_server
68+ name : Upload server to Cloudflare
6869 uses : cloudflare/wrangler-action@v3.14.0
6970 with :
7071 apiToken : ${{ inputs.apiToken }}
7172 accountId : ${{ inputs.accountId }}
7273 workingDirectory : ./
7374 wranglerVersion : ' 4.10.0'
7475 environment : ${{ inputs.environment }}
75- command : ${{ inputs.deploy == 'true' && 'deploy' || format('versions upload --tag {0} --message "{1}"', inputs.commitTag, inputs.commitMessage) }} --config ./packages/gitbook-v2/wrangler.jsonc
76-
77- - name : Temporary deploy server CF worker
76+ command : ${{ format('versions upload --tag {0} --message "{1}"', inputs.commitTag, inputs.commitMessage) }} --config ./packages/gitbook-v2/openNext/customWorkers/defaultWrangler.jsonc
77+
78+ - name : Extract server version worker ID
79+ shell : bash
80+ id : extract_server_version_id
81+ run : |
82+ version_id=$(echo '${{ steps.upload_server.outputs.command-output }}' | grep "Worker Version ID" | awk '{print $4}')
83+ echo "version_id=$version_id" >> $GITHUB_OUTPUT
84+
85+ - name : Run updateWrangler scripts
86+ shell : bash
87+ run : |
88+ bun run ./packages/gitbook-v2/openNext/customWorkers/script/updateWrangler.ts ${{ steps.extract_server_version_id.outputs.version_id }}
89+
90+ - id : upload_middleware
91+ name : Upload middleware to Cloudflare
7892 uses : cloudflare/wrangler-action@v3.14.0
7993 with :
8094 apiToken : ${{ inputs.apiToken }}
8195 accountId : ${{ inputs.accountId }}
8296 workingDirectory : ./
8397 wranglerVersion : ' 4.10.0'
8498 environment : ${{ inputs.environment }}
85- command : ' deploy -- config ./packages/gitbook-v2/openNext/customWorkers/defaultWrangler .jsonc'
99+ command : ${{ format('versions upload --tag {0} --message "{1}"', inputs.commitTag, inputs.commitMessage) }} -- config ./packages/gitbook-v2/openNext/customWorkers/middlewareWrangler .jsonc
86100
101+ - name : Extract middleware version worker ID
102+ shell : bash
103+ id : extract_middleware_version_id
104+ run : |
105+ version_id=$(echo '${{ steps.upload_middleware.outputs.command-output }}' | grep "Worker Version ID" | awk '{print $4}')
106+ echo "version_id=$version_id" >> $GITHUB_OUTPUT
107+
108+ - name : Deploy server and middleware to Cloudflare
109+ if : ${{ inputs.deploy == 'true' }}
110+ uses : ./.github/actions/gradual-deploy-cloudflare
111+ with :
112+ apiToken : ${{ inputs.apiToken }}
113+ accountId : ${{ inputs.accountId }}
114+ opServiceAccount : ${{ inputs.opServiceAccount }}
115+ opItem : ${{ inputs.opItem }}
116+ environment : ${{ inputs.environment }}
117+ serverVersionId : ${{ steps.extract_server_version_id.outputs.version_id }}
118+ middlewareVersionId : ${{ steps.extract_middleware_version_id.outputs.version_id }}
119+ deploy : ${{ inputs.deploy }}
120+
121+
87122 - name : Outputs
88123 shell : bash
89124 env :
90- DEPLOYMENT_URL : ${{ steps.deploy .outputs.deployment-url }}
125+ DEPLOYMENT_URL : ${{ steps.upload_middleware .outputs.deployment-url }}
91126 run : |
92- echo "URL: ${{ steps.deploy.outputs.deployment-url }}"
127+ echo "URL: ${{ steps.upload_middleware.outputs.deployment-url }}"
128+ echo "Output server: ${{ steps.upload_server.outputs.command-output }}"
0 commit comments