Skip to content

chore(typescript): add coverage for optional body property colliding … #7276

chore(typescript): add coverage for optional body property colliding …

chore(typescript): add coverage for optional body property colliding … #7276

name: Write Changelogs to Docs
on:
push:
branches:
- main
workflow_dispatch:
permissions:
pull-requests: write
contents: write
# Idempotent: always checks out latest main and regenerates all changelogs,
# so cancelling a pending run in favor of a newer one is safe.
concurrency:
group: write-changelogs-to-docs
cancel-in-progress: true
env:
DO_NOT_TRACK: "1"
jobs:
copy-changelogs:
runs-on: ubuntu-latest
steps:
- name: Checkout main branch of fern repo
uses: actions/checkout@v6
with:
ref: main
- name: Install
uses: ./.github/actions/install
- name: Write generator changelogs
env:
FERN_TOKEN: ${{ secrets.FERN_TOKEN }}
run: |
echo "Generating changelogs for generators"
pnpm seed:local generate changelog generator -o ./changelogs/ --clean-directory
- name: Write CLI changelogs
env:
FERN_TOKEN: ${{ secrets.FERN_TOKEN }}
run: |
echo "Generating changelogs for CLI"
pnpm seed:local generate changelog cli -o ./changelogs/cli/ --clean-directory
- name: Checkout main branch of docs repo
uses: actions/checkout@v6
with:
repository: fern-api/docs
ref: main
path: docs
- name: update csharp-sdk changelog
run: rsync -av --delete "changelogs/csharp-sdk/" "docs/fern/products/sdks/generators/csharp/changelog"
- name: update go-sdk changelog
run: rsync -av --delete "changelogs/go-sdk/" "docs/fern/products/sdks/generators/go/changelog"
- name: update java-sdk changelog
run: rsync -av --delete "changelogs/java-sdk/" "docs/fern/products/sdks/generators/java/changelog"
- name: update php-sdk changelog
run: rsync -av --delete "changelogs/php-sdk/" "docs/fern/products/sdks/generators/php/changelog"
- name: update python-sdk changelog
run: rsync -av --delete "changelogs/python-sdk/" "docs/fern/products/sdks/generators/python/changelog"
- name: update ruby-sdk changelog
run: rsync -av --delete "changelogs/ruby-sdk-v2/" "docs/fern/products/sdks/generators/ruby/changelog"
- name: update ts-sdk changelog
run: rsync -av --delete "changelogs/ts-sdk/" "docs/fern/products/sdks/generators/typescript/changelog"
- name: update rust-sdk changelog
run: rsync -av --delete "changelogs/rust-sdk/" "docs/fern/products/sdks/generators/rust/changelog"
- name: update swift-sdk changelog
run: rsync -av --delete "changelogs/swift-sdk/" "docs/fern/products/sdks/generators/swift/changelog"
- name: update cli changelog
run: rsync -av --delete "changelogs/cli/" "docs/fern/products/cli-api-reference/cli-changelog"
- name: create PR
id: cpr
uses: peter-evans/create-pull-request@v8
with:
token: ${{ secrets.FERN_SUPPORT_GH_ACTIONS_PAT }}
commit-message: "update changelogs"
title: "Update changelogs from fern repo"
branch: update-changelogs
delete-branch: true
path: docs
- name: Enable Pull Request Automerge
if: steps.cpr.outputs.pull-request-number
uses: peter-evans/enable-pull-request-automerge@v3
with:
token: ${{ secrets.FERN_SUPPORT_GH_ACTIONS_PAT }}
pull-request-number: ${{ steps.cpr.outputs.pull-request-number }}
repository: fern-api/docs
merge-method: squash
- name: Trigger approval workflow in docs repo
if: steps.cpr.outputs.pull-request-number
env:
GH_TOKEN: ${{ secrets.FERN_SUPPORT_GH_ACTIONS_PAT }}
PR_NUMBER: ${{ steps.cpr.outputs.pull-request-number }}
run: |
gh api repos/fern-api/docs/dispatches \
-f event_type=approve-changelog-pr \
-f "client_payload[pull_number]=$PR_NUMBER"