Skip to content

feat(docs): server stub generation #5703

feat(docs): server stub generation

feat(docs): server stub generation #5703

Workflow file for this run

name: ci
on:
push:
branches:
- main
pull_request:
branches:
- main
# Cancel previous workflows on previous push
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}
cancel-in-progress: true
jobs:
lint:
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v4
- name: Install
uses: ./.github/actions/install
- name: Check dependencies
run: pnpm depcheck
- name: Lint
run: pnpm lint:style
# - name: generate (dev) JSON Schema
# run: pnpm generate-json-schema:dev
- name: Format
run: pnpm format:check
- name: Ensure no changes to git-tracked files
run: git --no-pager diff --exit-code
compile:
runs-on: CLI
steps:
- name: Checkout repo
uses: actions/checkout@v4
- name: Install
uses: ./.github/actions/install
- name: Compile
run: pnpm compile
eslint:
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v4
- name: Install
uses: ./.github/actions/install
- name: lint:eslint
run: pnpm lint:eslint
test:
runs-on: Test
steps:
- name: Checkout repo
uses: actions/checkout@v4
- name: Install
uses: ./.github/actions/install
- uses: bufbuild/[email protected]
with:
github_token: ${{ github.token }}
- uses: actions/setup-go@v5
with:
go-version: 'stable'
- name: Install protoc-gen-openapi
run: go install github.com/google/gnostic/cmd/[email protected]
- name: Compile
run: pnpm compile
- name: Run tests
run: pnpm test
- name: Ensure no changes to git-tracked files
run: git --no-pager diff --exit-code
ete-tests:
runs-on: CLI
steps:
- name: Checkout repo
uses: actions/checkout@v4
- name: Install
uses: ./.github/actions/install
- name: Compile
run: pnpm compile
- name: Run ETE tests
env:
FERN_ORG_TOKEN_DEV: ${{ secrets.FERN_ORG_TOKEN_DEV }}
run: |
FERN_TOKEN=${{ secrets.FERN_ORG_TOKEN_DEV }} pnpm test:ete
- name: Ensure no changes to git-tracked files
run: git --no-pager diff --exit-code
live-test-dev:
environment: Fern Dev
if: github.ref == 'refs/heads/main'
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v4
- name: Install
uses: ./.github/actions/install
- name: Check API definition is valid
env:
FORCE_COLOR: "2"
FERN_ORG_TOKEN_DEV: ${{ secrets.FERN_ORG_TOKEN_DEV }}
AUTH0_DOMAIN: ${{ secrets.AUTH0_DOMAIN }}
AUTH0_CLIENT_ID: ${{ secrets.AUTH0_CLIENT_ID }}
run: |
pnpm --filter @fern-api/cli dist:cli:dev
cli_path="$(pwd)/packages/cli/cli/dist/dev/bundle.cjs"
./scripts/live-test.sh "$cli_path" "$FERN_ORG_TOKEN_DEV"
ts-generator-changes:
runs-on: ubuntu-latest
outputs:
typescript: ${{ steps.filter.outputs.typescript }}
steps:
- uses: actions/checkout@v2
- uses: dorny/paths-filter@v2
id: filter
with:
filters: |
typescript:
- 'generators/typescript/sdk/**'
node-version-tests:
runs-on: ubuntu-latest
needs: ts-generator-changes
if: ${{ needs.changes.outputs.typescript == 'true' }}
steps:
- name: Checkout repo
uses: actions/checkout@v4
- name: Install
uses: ./.github/actions/install
- name: Load NVM
run: |
source /home/runner/.nvm/nvm.sh
shell: bash
- name: Run file tests
run: ./scripts/node-all-versions-test.sh
- name: Ensure no changes to git-tracked files
run: git --no-pager diff --exit-code
cloudflare-startup-tests:
runs-on: ubuntu-latest
needs: ts-generator-changes
if: ${{ needs.changes.outputs.typescript == 'true' }}
steps:
- name: Checkout repo
uses: actions/checkout@v4
- name: Run cloudflare startup test
run: ./scripts/cloudflare-startup-test.sh
- name: Ensure no changes to git-tracked files
run: git --no-pager diff --exit-code
browser-startup-tests:
runs-on: ubuntu-latest
needs: ts-generator-changes
if: ${{ needs.changes.outputs.typescript == 'true' }}
steps:
- name: Checkout repo
uses: actions/checkout@v4
- name: Run browser startup test
run: ./scripts/browser-startup-test.sh
- name: Ensure no changes to git-tracked files
run: git --no-pager diff --exit-code