This repository has been archived by the owner on Nov 6, 2024. It is now read-only.
Setup Go generator for monorepo (#2943) #1
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: ci | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
paths: | |
- "packages/**" | |
# Add any generators that are written in TypeScript | |
- "generators/openapi/**" | |
- "generators/postman/**" | |
- "generators/ruby/**" | |
- "generators/typescript/**" | |
branches: | |
- main | |
jobs: | |
lint: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 18 | |
cache: "yarn" | |
- name: Install | |
run: yarn install | |
- name: Lint Monorepo | |
run: yarn lint:monorepo | |
- name: Check dependencies | |
run: yarn depcheck | |
- name: Lint | |
run: yarn lint:style | |
- name: generate (dev) JSON Schema | |
run: yarn generate-json-schema:dev | |
- name: Format | |
run: yarn format:check | |
- name: Ensure no changes to git-tracked files | |
run: git --no-pager diff --exit-code | |
compile: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 18 | |
cache: "yarn" | |
- name: Install | |
run: yarn install | |
- name: compile | |
run: yarn compile | |
- name: lint:eslint | |
run: yarn lint:eslint | |
check-test-definitions: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 18 | |
cache: "yarn" | |
- name: Install Deps | |
run: yarn install | |
- name: Fern check | |
env: | |
FORCE_COLOR: "2" | |
run: | | |
yarn workspace @fern-api/cli dist:cli:dev | |
cd test-definitions | |
FERN_NO_VERSION_REDIRECTION=true node $(yarn workspace @fern-api/cli bin fern:dev) check | |
test: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 18 | |
cache: "yarn" | |
- name: Install | |
run: yarn install | |
- name: Run tests | |
run: yarn test --ci | |
- name: Ensure no changes to git-tracked files | |
run: git --no-pager diff --exit-code | |
ete-tests: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repo | |
uses: actions/checkout@v4 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 18 | |
cache: "yarn" | |
- name: Install | |
run: yarn install | |
- name: Run ETE tests | |
env: | |
FERN_ORG_TOKEN_DEV: ${{ secrets.FERN_ORG_TOKEN_DEV }} | |
run: | | |
FERN_TOKEN=${{ secrets.FERN_ORG_TOKEN_DEV }} yarn 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 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 18 | |
cache: "yarn" | |
- name: Install | |
run: yarn install | |
- name: Install Fern | |
run: npm install -g fern-api | |
- 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: | | |
yarn workspace @fern-api/cli dist:cli:dev | |
cli_path="$(yarn workspace @fern-api/cli bin fern:dev)" | |
./scripts/live-test.sh "$cli_path" "$FERN_ORG_TOKEN_DEV" |