File tree Expand file tree Collapse file tree 13 files changed +377
-16
lines changed Expand file tree Collapse file tree 13 files changed +377
-16
lines changed Original file line number Diff line number Diff line change
1
+ name : Fern Check
2
+
3
+ on :
4
+ pull_request :
5
+ push :
6
+ branches :
7
+ - main
8
+
9
+ jobs :
10
+ run :
11
+ runs-on : ubuntu-latest
12
+ steps :
13
+ - name : Checkout repository
14
+ uses : actions/checkout@v4
15
+
16
+ - name : Install Fern
17
+ run : npm install -g fern-api
18
+
19
+ - name : Check API is valid
20
+ run : fern check
Original file line number Diff line number Diff line change
1
+ name : Preview SDKs
2
+
3
+ on :
4
+ pull_request :
5
+ paths :
6
+ - ' fern/**'
7
+ - ' openapi.json'
8
+ - ' openapi-overrides.yml'
9
+
10
+ jobs :
11
+ preview-typescript :
12
+ runs-on : ubuntu-latest
13
+ steps :
14
+ - name : Checkout repo
15
+ uses : actions/checkout@v4
16
+
17
+ - name : Setup node
18
+ uses : actions/setup-node@v3
19
+
20
+ - name : Download Fern
21
+ run : npm install -g fern-api
22
+
23
+ - name : Generate Preview
24
+ env :
25
+ FERN_TOKEN : ${{ secrets.FERN_TOKEN }}
26
+ run : |
27
+ fern generate --api v5 --group ts-sdk --preview --log-level debug
28
+
29
+ - name : Compile
30
+ env :
31
+ FERN_TOKEN : ${{ secrets.FERN_TOKEN }}
32
+ run : |
33
+ cd fern/apis/v5/.preview/fern-typescript-node-sdk
34
+ yarn install
35
+ yarn build
36
+
37
+
38
+ preview-python :
39
+ runs-on : ubuntu-latest
40
+ steps :
41
+ - name : Checkout repo
42
+ uses : actions/checkout@v4
43
+
44
+ - name : Setup node
45
+ uses : actions/setup-node@v3
46
+
47
+ - name : Download Fern
48
+ run : npm install -g fern-api
49
+
50
+ - name : Preview Python SDK
51
+ env :
52
+ FERN_TOKEN : ${{ secrets.FERN_TOKEN }}
53
+ run : |
54
+ fern generate --api v5 --group python-sdk --preview --log-level debug
55
+
56
+ - name : Set up python
57
+ uses : actions/setup-python@v4
58
+ with :
59
+ python-version : 3.8
60
+
61
+ - name : Bootstrap poetry
62
+ run : |
63
+ curl -sSL https://install.python-poetry.org | python - -y --version 1.5.1
64
+
65
+ - name : Compile
66
+ run : |
67
+ cd fern/apis/v5/.preview/fern-python-sdk
68
+ poetry install
69
+ poetry run mypy .
Original file line number Diff line number Diff line change
1
+ name : Release C# SDK
2
+
3
+ on :
4
+ workflow_dispatch :
5
+ inputs :
6
+ version :
7
+ description : " The version of the C# SDK that you would like to release"
8
+ required : true
9
+ type : string
10
+ makePR :
11
+ description : Make Pull Request
12
+ required : true
13
+ default : false
14
+ type : boolean
15
+
16
+ jobs :
17
+ release :
18
+ runs-on : ubuntu-latest
19
+ steps :
20
+ - name : Checkout repo
21
+ uses : actions/checkout@v3
22
+
23
+ - name : Setup node
24
+ uses : actions/setup-node@v3
25
+
26
+ - name : Download Fern
27
+ run : npm install -g fern-api
28
+
29
+ - name : Release C# SDK
30
+ env :
31
+ FERN_TOKEN : ${{ secrets.FERN_TOKEN }}
32
+ NUGET_API_KEY : ${{ secrets.NUGET_API_KEY }}
33
+ run : |
34
+ if ${{ github.event.inputs.makePR }}; then
35
+ fern generate --group csharp-sdk --version ${{ inputs.version }} --mode pull-request --log-level debug
36
+ else
37
+ fern generate --group csharp-sdk --version ${{ inputs.version }} --log-level debug
38
+ fi
Original file line number Diff line number Diff line change
1
+ name : Release Go SDK
2
+
3
+ on :
4
+ workflow_dispatch :
5
+ inputs :
6
+ version :
7
+ description : " The version of the Go SDK that you would like to release"
8
+ required : true
9
+ type : string
10
+ makePR :
11
+ description : Make Pull Request
12
+ required : true
13
+ default : false
14
+ type : boolean
15
+
16
+ jobs :
17
+ release :
18
+ runs-on : ubuntu-latest
19
+ steps :
20
+ - name : Checkout repo
21
+ uses : actions/checkout@v3
22
+
23
+ - name : Setup node
24
+ uses : actions/setup-node@v3
25
+
26
+ - name : Download Fern
27
+ run : npm install -g fern-api
28
+
29
+ - name : Release Go SDK
30
+ env :
31
+ FERN_TOKEN : ${{ secrets.FERN_TOKEN }}
32
+ run : |
33
+ if ${{ github.event.inputs.makePR }}; then
34
+ fern generate --group go-sdk --version ${{ inputs.version }} --mode pull-request --log-level debug
35
+ else
36
+ fern generate --group go-sdk --version ${{ inputs.version }} --log-level debug
37
+ fi
Original file line number Diff line number Diff line change
1
+ name : Release Java SDK
2
+
3
+ on :
4
+ workflow_dispatch :
5
+ inputs :
6
+ version :
7
+ description : " The version of the Java SDK that you would like to release"
8
+ required : true
9
+ type : string
10
+ makePR :
11
+ description : Make Pull Request
12
+ required : true
13
+ default : false
14
+ type : boolean
15
+
16
+ jobs :
17
+ release :
18
+ runs-on : ubuntu-latest
19
+ steps :
20
+ - name : Checkout repo
21
+ uses : actions/checkout@v3
22
+
23
+ - name : Setup node
24
+ uses : actions/setup-node@v3
25
+
26
+ - name : Download Fern
27
+ run : npm install -g fern-api
28
+
29
+ - name : Release Java SDK
30
+ env :
31
+ FERN_TOKEN : ${{ secrets.FERN_TOKEN }}
32
+ MAVEN_USERNAME : ${{ secrets.MAVEN_USERNAME }}
33
+ MAVEN_PASSWORD : ${{ secrets.MAVEN_PASSWORD }}
34
+ run : |
35
+ if ${{ github.event.inputs.makePR }}; then
36
+ fern generate --group java-sdk --version ${{ inputs.version }} --mode pull-request --log-level debug
37
+ else
38
+ fern generate --group java-sdk --version ${{ inputs.version }} --log-level debug
39
+ fi
Original file line number Diff line number Diff line change
1
+ name : Release 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
+ makePR :
11
+ description : Make Pull Request
12
+ required : true
13
+ default : false
14
+ type : boolean
15
+
16
+ jobs :
17
+ release :
18
+ runs-on : ubuntu-latest
19
+ steps :
20
+ - name : Checkout repo
21
+ uses : actions/checkout@v3
22
+
23
+ - name : Setup node
24
+ uses : actions/setup-node@v3
25
+
26
+ - name : Download Fern
27
+ run : npm install -g fern-api
28
+
29
+ - name : Release Python SDK
30
+ env :
31
+ FERN_TOKEN : ${{ secrets.FERN_TOKEN }}
32
+ PYPI_TOKEN : ${{ secrets.PYPI_TOKEN }}
33
+ run : |
34
+ if ${{ github.event.inputs.makePR }}; then
35
+ fern generate --group python-sdk --version ${{ inputs.version }} --mode pull-request --log-level debug
36
+ else
37
+ fern generate --group python-sdk --version ${{ inputs.version }} --log-level debug
38
+ fi
Original file line number Diff line number Diff line change
1
+ name : Release Ruby SDK
2
+
3
+ on :
4
+ workflow_dispatch :
5
+ inputs :
6
+ version :
7
+ description : " The version of the Ruby SDK that you would like to release"
8
+ required : true
9
+ type : string
10
+ makePR :
11
+ description : Make Pull Request
12
+ required : true
13
+ default : false
14
+ type : boolean
15
+
16
+ jobs :
17
+ release :
18
+ runs-on : ubuntu-latest
19
+ steps :
20
+ - name : Checkout repo
21
+ uses : actions/checkout@v3
22
+
23
+ - name : Setup node
24
+ uses : actions/setup-node@v3
25
+
26
+ - name : Download Fern
27
+ run : npm install -g fern-api
28
+
29
+ - name : Release Ruby SDK
30
+ env :
31
+ FERN_TOKEN : ${{ secrets.FERN_TOKEN }}
32
+ run : |
33
+ if ${{ github.event.inputs.makePR }}; then
34
+ fern generate --group ruby-sdk --version ${{ inputs.version }} --mode pull-request --log-level debug
35
+ else
36
+ fern generate --group ruby-sdk --version ${{ inputs.version }} --log-level debug
37
+ fi
Original file line number Diff line number Diff line change
1
+ name : Release TypeScript SDK
2
+
3
+ on :
4
+ workflow_dispatch :
5
+ inputs :
6
+ version :
7
+ description : " The version of the TypeScript SDK that you would like to release"
8
+ required : true
9
+ type : string
10
+ makePR :
11
+ description : Make Pull Request
12
+ required : true
13
+ default : false
14
+ type : boolean
15
+
16
+ jobs :
17
+ release :
18
+ runs-on : ubuntu-latest
19
+ steps :
20
+ - name : Checkout repo
21
+ uses : actions/checkout@v3
22
+
23
+ - name : Setup node
24
+ uses : actions/setup-node@v3
25
+
26
+ - name : Download Fern
27
+ run : npm install -g fern-api
28
+
29
+ - name : Release TypeScript SDK
30
+ env :
31
+ FERN_TOKEN : ${{ secrets.FERN_TOKEN }}
32
+ NPM_TOKEN : ${{ secrets.NPM_TOKEN }}
33
+ run : |
34
+ if ${{ github.event.inputs.makePR }}; then
35
+ fern generate --group ts-sdk --version ${{ inputs.version }} --mode pull-request --log-level debug
36
+ else
37
+ fern generate --group ts-sdk --version ${{ inputs.version }} --log-level debug
38
+ fi
Original file line number Diff line number Diff line change 1
- # vapi-fern-config
2
- The Fern Configuration for generating Vapi's SDKs
1
+ # VAPI Fern Configuration
2
+
3
+ This repository contains our Fern Configuration:
4
+
5
+ - [ OpenAPI spec] ( ./openapi.json )
6
+ - [ OpenAPI Overrides] ( ./openapi-overrides.yml )
7
+ - [ SDK generator config] ( ./fern/generators.yml )
8
+
9
+ ## Setup
10
+
11
+ ``` sh
12
+ npm install -g fern-api
13
+ ```
14
+
15
+ ## Validating your OpenAPI Specs
16
+
17
+ To validate your API, run:
18
+
19
+ ``` sh
20
+ fern check
21
+ ```
22
+
23
+ ## Managing SDKs
24
+
25
+ ### Deploying your SDKs
26
+
27
+ To deploy your SDKs, simply run the ` Release Python SDK ` GitHub Action with the
28
+ desired version for the release. Under the hood, this leverages the Fern CLI:
29
+
30
+ ``` sh
31
+ fern generate --group python-sdk
32
+ ```
33
+
34
+ ### Developing SDKs
35
+
36
+ You can also regenerate the SDKs locally by running:
37
+
38
+ ``` sh
39
+ fern generate --group python-sdk --preview --log-level debug
40
+ ```
41
+
42
+ This will generate the SDK and download it to a local folder that can be pip installed.
43
+
44
+ ``` sh
45
+ pip install -e /fern/.preview/fern-python-sdk
46
+ ```
Original file line number Diff line number Diff line change 1
1
{
2
2
"organization" : " vapi" ,
3
- "version" : " 0.42.14 "
3
+ "version" : " 0.43.8 "
4
4
}
You can’t perform that action at this time.
0 commit comments