Skip to content

Commit 7be164c

Browse files
committed
Merge branch 'main' into jsklan/update-readme-docs
2 parents 3d45e81 + a93963f commit 7be164c

28 files changed

+349
-32
lines changed

examples/typescript-sdk/generators.yml renamed to examples/sdks/generators.yml

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,4 +22,17 @@ groups:
2222
namespaceExport: YourClientName
2323
github:
2424
repository: your-company/ts-sdk
25-
# generator groups for other SDKs go here
25+
# This group configures a Python SDK for PyPi publishing
26+
python-sdk:
27+
generators:
28+
- name: fernapi/fern-python-sdk
29+
version: 4.28.0
30+
output:
31+
location: pypi
32+
package-name: devin-new-test-package
33+
token: ${PYPI_TOKEN}
34+
config:
35+
client_class_name: MyClientNameDevin
36+
github:
37+
repository: devalog/company-python-test
38+
# generator groups for other SDKs go here

examples/sdks/python-publish.yml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
name: Publish Python SDK
2+
3+
on:
4+
workflow_dispatch:
5+
inputs:
6+
version:
7+
description: "The version of the Python SDK that you would like to release"
8+
required: true
9+
type: string
10+
11+
jobs:
12+
release:
13+
runs-on: ubuntu-latest
14+
steps:
15+
- name: Checkout repo
16+
uses: actions/checkout@v4
17+
18+
- name: Install Fern CLI
19+
run: npm install -g fern-api
20+
21+
- name: Release Python SDK
22+
env:
23+
FERN_TOKEN: ${{ secrets.FERN_TOKEN }}
24+
PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }}
25+
run: |
26+
fern generate --group python-sdk --version ${{ inputs.version }} --log-level debug

fern/apis/fai/generators.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
api:
22
specs:
3-
- openapi: ./openapi/openapi.json
3+
- openapi: ./openapi.json
44
default-group: local
55

66
groups:

fern/products/cli-api-reference/cli-changelog/2025-08-28.mdx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
1+
## 0.68.0
2+
**`(feat):`** Fern cli diff command recognizes availability.
3+
14
## 0.66.31
2-
**`(fix):`** Ignore self-referential types that are optional<nullable<SELF>>
5+
**`(fix):`** Ignore self-referential types that are `optional<nullable<SELF>>`
36

47
## 0.66.30
58
**`(fix):`** Skip OpenAPI 3.1 null type properties instead of failing
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
## 0.69.1
2+
**`(fix):`** Example generation ignores headers that don't exist in the channel instead of failing hard.
3+
4+
## 0.69.0
5+
**`(feat):`** Fern diff command can consider from and to generator versions.
6+
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
## 0.69.2
2+
**`(fix):`** Add custom license name extraction for Java SDK generation. The CLI now reads the first line
3+
from custom LICENSE files and passes it to generators via the _fernLicenseName field in customConfig.
4+
5+

fern/products/docs/docs.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -201,6 +201,10 @@ navigation:
201201
contents:
202202
- page: Overview
203203
path: ./pages/enterprise/self-hosted.mdx
204+
- page: Set up self-hosted documentation
205+
path: ./pages/enterprise/self-hosted-set-up.mdx
206+
slug: set-up
207+
hidden: true
204208
- section: Integrations
205209
collapsed: true
206210
contents:

fern/products/docs/pages/customization/global-configuration.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -215,8 +215,8 @@ logo:
215215
redirects:
216216
- source: "/old-path"
217217
destination: "/new-path"
218-
- source: "/old-folder/*"
219-
destination: "/new-folder/*"
218+
- source: "/old-folder/:path"
219+
destination: "/new-folder/:path"
220220
```
221221

222222
<ParamField path="source" type="string" required={true}>
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
---
2+
title: Set up self-hosted documentation
3+
description: Learn how to set up self-hosted documentation on your own infrastructure.
4+
---
5+
6+
<Note>Self-hosted documentation is only available for the enterprise plan.</Note>
7+
8+
## Prerequisites
9+
10+
Before setting up self-hosted documentation, ensure you have:
11+
- Docker installed on your system
12+
- Access to your Fern project's `fern/` directory
13+
- A Docker Hub account (for accessing the private image)
14+
15+
<Steps>
16+
<Step title="Request Access to the Docker Image">
17+
18+
The self-hosted documentation runs on a private Docker image: `fernapi/fern-self-hosted`
19+
20+
**Contact Fern Support** and provide your Docker Hub username to the Fern team. Fern will allowlist your account to download the private image
21+
22+
</Step>
23+
<Step title="Download the Docker Image">
24+
25+
Once your account is allowlisted, download the latest image:
26+
27+
```bash
28+
docker pull fernapi/fern-self-hosted:<latest-tag>
29+
```
30+
31+
<Warning>
32+
Do not use `fernapi/fern-self-hosted:latest` as it may not contain the most recent version. Always use the specific latest tag provided by Fern.
33+
</Warning>
34+
35+
You can verify the image is available in your Docker daemon:
36+
37+
```bash
38+
docker images | grep fernapi/fern-self-hosted
39+
```
40+
41+
</Step>
42+
<Step title="Create a Dockerfile">
43+
44+
In the directory containing your `fern/` folder, create a new `Dockerfile` with the following content:
45+
46+
```dockerfile <your-docker-file-name>
47+
FROM fernapi/fern-self-hosted:<latest-tag>
48+
49+
COPY fern/ /fern/
50+
```
51+
52+
Replace `<latest-tag>` with the actual tag used in the previous step.
53+
54+
</Step>
55+
<Step title="Build Your Custom Docker Image">
56+
57+
Build your custom Docker image using the Dockerfile:
58+
59+
```bash
60+
docker build -f <your-docker-file-name> -t <your-image-name> .
61+
```
62+
63+
</Step>
64+
<Step title="Run the Documentation">
65+
66+
Start your self-hosted documentation:
67+
68+
```bash
69+
docker run -it <your-image-name>
70+
```
71+
72+
The documentation will be available at the domain specified in your `docs.yml` configuration.
73+
74+
</Step>
75+
<Step title="Configure Custom Domain">
76+
77+
Your documentation will be published to the domain specified in your `docs.yml` file. For example:
78+
79+
```yaml
80+
instances:
81+
- url: example-org.docs.buildwithfern.com
82+
custom-domain: plantstore.dev
83+
```
84+
</Step>
85+
</Steps>
86+

0 commit comments

Comments
 (0)