Skip to content

fix(cli): Handle OpenAPI type arrays better #2315

fix(cli): Handle OpenAPI type arrays better

fix(cli): Handle OpenAPI type arrays better #2315

Workflow file for this run

name: preview-docs
on:
pull_request_target:
branches:
- main
paths:
- 'fern/**'
- 'packages/cli/docs-**'
workflow_dispatch:
inputs:
prNumber:
description: "Pull Request Number"
required: true
default: ""
jobs:
run:
runs-on: ubuntu-latest
permissions:
pull-requests: write # Only for commenting
contents: read # For checking out code
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Checkout PR
if: github.event_name == 'pull_request_target'
run: |
git fetch origin pull/${{ github.event.pull_request.number }}/head:pr-${{ github.event.pull_request.number }}
git checkout pr-${{ github.event.pull_request.number }}
- name: Install
uses: ./.github/actions/install
- name: Generate preview URL
id: generate-docs
env:
FERN_TOKEN: ${{ secrets.FERN_TOKEN }}
AUTH0_DOMAIN: ${{ secrets.AUTH0_DOMAIN }}
AUTH0_CLIENT_ID: ${{ secrets.AUTH0_CLIENT_ID }}
POSTHOG_API_KEY: ${{ secrets.POSTHOG_PROJECT_API_KEY }}
run: |
pnpm --filter @fern-api/cli dist:cli:prod
cli_path="$(pwd)/packages/cli/cli/dist/prod/cli.cjs"
OUTPUT=$(node $cli_path generate --docs --preview --instance fern.docs.buildwithfern.com/learn 2>&1) || true
echo "$OUTPUT"
URL=$(echo "$OUTPUT" | grep -oP 'Published docs to \K.*(?= \()')
echo "Preview URL: $URL"
echo "$URL" > preview_url.txt
- name: Comment or Update URL in PR
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
PREVIEW_URL=$(cat preview_url.txt)
# Get existing comments
EXISTING_COMMENT=$(gh api repos/${{ github.repository }}/issues/${{ github.event.pull_request.number }}/comments \
--jq ".[] | select(.body | contains(\"Preview your docs\")) | .id")
if [ -z "$EXISTING_COMMENT" ]; then
# No existing comment, create one
gh api repos/${{ github.repository }}/issues/${{ github.event.pull_request.number }}/comments \
-f "body"="🌿 Preview your docs: [$PREVIEW_URL]($PREVIEW_URL)"
else
# Update existing comment
gh api repos/${{ github.repository }}/issues/comments/$EXISTING_COMMENT \
-X PATCH \
-f "body"="🌿 Preview your docs: [$PREVIEW_URL]($PREVIEW_URL)"
fi