name: 'Deploy vercel' description: 'Deploy GitBook to Vercel' inputs: vercelOrg: description: 'Vercel organization' required: true vercelProject: description: 'Vercel project' required: true vercelToken: description: 'Vercel token' required: true opItem: description: '1Password item to load secrets from' required: true opServiceAccount: description: '1Password service account token' required: true environment: description: 'Environment to deploy to' required: true outputs: deployment-url: description: "Deployment URL" value: ${{ steps.deploy.outputs.deployment-url }} runs: using: 'composite' steps: - name: Setup Bun uses: ./.github/composite/setup-bun - name: Install dependencies run: bun install --frozen-lockfile shell: bash env: PUPPETEER_SKIP_DOWNLOAD: 1 - name: Pull Vercel Environment Information run: bun run vercel pull --yes --environment=${{ inputs.environment }} --token=${{ inputs.vercelToken }} shell: bash env: VERCEL_ORG_ID: ${{ inputs.vercelOrg }} VERCEL_PROJECT_ID: ${{ inputs.vercelProject }} - name: Load secret uses: 1password/load-secrets-action@v2 env: OP_SERVICE_ACCOUNT_TOKEN: ${{ inputs.opServiceAccount }} GITBOOK_URL: ${{ inputs.opItem }}/GITBOOK_URL GITBOOK_ICONS_URL: ${{ inputs.opItem }}/GITBOOK_ICONS_URL GITBOOK_ICONS_TOKEN: ${{ inputs.opItem }}/GITBOOK_ICONS_TOKEN GITBOOK_SECRET: ${{ inputs.opItem }}/GITBOOK_SECRET GITBOOK_APP_URL: ${{ inputs.opItem }}/GITBOOK_APP_URL GITBOOK_API_URL: ${{ inputs.opItem }}/GITBOOK_API_URL GITBOOK_API_PUBLIC_URL: ${{ inputs.opItem }}/GITBOOK_API_PUBLIC_URL GITBOOK_API_TOKEN: ${{ inputs.opItem }}/GITBOOK_API_TOKEN GITBOOK_INTEGRATIONS_HOST: ${{ inputs.opItem }}/GITBOOK_INTEGRATIONS_HOST GITBOOK_IMAGE_RESIZE_SIGNING_KEY: ${{ inputs.opItem }}/GITBOOK_IMAGE_RESIZE_SIGNING_KEY GITBOOK_IMAGE_RESIZE_URL: ${{ inputs.opItem }}/GITBOOK_IMAGE_RESIZE_URL GITBOOK_IMAGE_RESIZE_MODE: ${{ inputs.opItem }}/GITBOOK_IMAGE_RESIZE_MODE GITBOOK_ASSETS_PREFIX: ${{ inputs.opItem }}/GITBOOK_ASSETS_PREFIX GITBOOK_FONTS_URL: ${{ inputs.opItem }}/GITBOOK_FONTS_URL - name: Build Project Artifacts run: bun run vercel build --target=${{ inputs.environment }} --token=${{ inputs.vercelToken }} shell: bash env: VERCEL_ORG_ID: ${{ inputs.vercelOrg }} VERCEL_PROJECT_ID: ${{ inputs.vercelProject }} GITBOOK_RUNTIME: vercel - name: Deploy Project Artifacts to Vercel id: deploy shell: bash run: | DEPLOYMENT_URL=$(bun run vercel deploy --prebuilt --target=${{ inputs.environment }} --token=${{ inputs.vercelToken }}) echo "deployment-url=$DEPLOYMENT_URL" >> "$GITHUB_OUTPUT" env: VERCEL_ORG_ID: ${{ inputs.vercelOrg }} VERCEL_PROJECT_ID: ${{ inputs.vercelProject }} - name: Outputs shell: bash run: | echo "URL: ${{ steps.deploy.outputs.deployment-url }}"