Skip to content

Commit

Permalink
feat: introduce lambda-based fern-bot actions (#785)
Browse files Browse the repository at this point in the history
  • Loading branch information
armandobelardo authored May 7, 2024
1 parent 86154e8 commit 22d7850
Show file tree
Hide file tree
Showing 35 changed files with 57,682 additions and 23,296 deletions.
2 changes: 1 addition & 1 deletion .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@ module.exports = {
},
},
{
files: ["servers/fdr/**/*"],
files: ["servers/fdr/**/*", "servers/fern-bot/**/*"],
rules: {
eqeqeq: "off",
"no-console": "off",
Expand Down
25 changes: 25 additions & 0 deletions .github/workflows/deploy-fern-bot-dev.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: Deploy FernBot Dev

on:
push:
branches: main
paths:
- "servers/fern-bot/**"

env:
SERVERLESS_ACCESS_KEY: ${{ secrets.SERVERLESS_ACCESS_KEY }}
GITHUB_APP_ID: ${{ secrets.FERN_BOT_DEV_GITHUB_APP_ID }}
GITHUB_APP_PRIVATE_KEY: ${{ secrets.FERN_BOT_DEV_GITHUB_APP_PRIVATE_KEY }}
GITHUB_APP_CLIENT_ID: ${{ secrets.FERN_BOT_DEV_GITHUB_APP_CLIENT_ID }}
GITHUB_APP_CLIENT_SECRET: ${{ secrets.FERN_BOT_DEV_GITHUB_APP_CLIENT_SECRET }}
GITHUB_APP_WEBHOOK_SECRET: ${{ secrets.FERN_BOT_DEV_GITHUB_APP_WEBHOOK_SECRET }}
CO_API_KEY: ${{ secrets.DEV_CO_API_KEY }}

jobs:
deploy_dev:
runs-on: ubuntu-latest
steps:
- name: 🚀 serverless deploy
run: |
pnpm --filter "@fern-platform/fern-bot" install
pnpm --filter "@fern-platform/fern-bot" deploy --stage development
24 changes: 24 additions & 0 deletions .github/workflows/deploy-fern-bot-prod.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: Deploy FernBot Prod

on:
push:
tags: ["*"]

env:
SERVERLESS_ACCESS_KEY: ${{ secrets.SERVERLESS_ACCESS_KEY }}
GITHUB_APP_ID: ${{ secrets.FERN_BOT_PROD_GITHUB_APP_ID }}
GITHUB_APP_PRIVATE_KEY: ${{ secrets.FERN_BOT_PROD_GITHUB_APP_PRIVATE_KEY }}
GITHUB_APP_CLIENT_ID: ${{ secrets.FERN_BOT_PROD_GITHUB_APP_CLIENT_ID }}
GITHUB_APP_CLIENT_SECRET: ${{ secrets.FERN_BOT_PROD_GITHUB_APP_CLIENT_SECRET }}
GITHUB_APP_WEBHOOK_SECRET: ${{ secrets.FERN_BOT_PROD_GITHUB_APP_WEBHOOK_SECRET }}
CO_API_KEY: ${{ secrets.PROD_CO_API_KEY }}

jobs:
deploy_prod:
if: github.ref_type == 'tag' && github.event_name == 'push' && startsWith(github.ref, 'refs/tags/fern-bot@')
runs-on: ubuntu-latest
steps:
- name: 🚀 serverless deploy
run: |
pnpm --filter "@fern-platform/fern-bot" install
pnpm --filter "@fern-platform/fern-bot" deploy --stage production
52 changes: 52 additions & 0 deletions .github/workflows/invoke-fern-bot-update-spec.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
name: Invoke FernBot - updateOpenApiSpec

on:
workflow_dispatch:
inputs:
environment:
type: choice
description: Which environment to run the workflow in
options:
- production
- development
repo:
description: 'The repo to run the action against (of the form `owner/repo_name`), if omitted runs on all repos the app is installed on'
type: string


jobs:
invoke_dev:
if: ${{ github.event.inputs.environment == 'development' }}
runs-on: ubuntu-latest
env:
SERVERLESS_ACCESS_KEY: ${{ secrets.SERVERLESS_ACCESS_KEY }}
GITHUB_APP_ID: ${{ secrets.FERN_BOT_DEV_GITHUB_APP_ID }}
GITHUB_APP_PRIVATE_KEY: ${{ secrets.FERN_BOT_DEV_GITHUB_APP_PRIVATE_KEY }}
GITHUB_APP_CLIENT_ID: ${{ secrets.FERN_BOT_DEV_GITHUB_APP_CLIENT_ID }}
GITHUB_APP_CLIENT_SECRET: ${{ secrets.FERN_BOT_DEV_GITHUB_APP_CLIENT_SECRET }}
GITHUB_APP_WEBHOOK_SECRET: ${{ secrets.FERN_BOT_DEV_GITHUB_APP_WEBHOOK_SECRET }}
CO_API_KEY: ${{ secrets.DEV_CO_API_KEY }}
REPO_TO_RUN_ON: ${{ github.event.inputs.repo }}
steps:
- name: 🚀 serverless deploy
run: |
pnpm --filter "@fern-platform/fern-bot" install
pnpm --filter "@fern-platform/fern-bot" invoke local --function updateOpenApiSpec --stage development
invoke_prod:
if: ${{ github.event.inputs.environment == 'production' }}
runs-on: ubuntu-latest
env:
SERVERLESS_ACCESS_KEY: ${{ secrets.SERVERLESS_ACCESS_KEY }}
GITHUB_APP_ID: ${{ secrets.FERN_BOT_PROD_GITHUB_APP_ID }}
GITHUB_APP_PRIVATE_KEY: ${{ secrets.FERN_BOT_PROD_GITHUB_APP_PRIVATE_KEY }}
GITHUB_APP_CLIENT_ID: ${{ secrets.FERN_BOT_PROD_GITHUB_APP_CLIENT_ID }}
GITHUB_APP_CLIENT_SECRET: ${{ secrets.FERN_BOT_PROD_GITHUB_APP_CLIENT_SECRET }}
GITHUB_APP_WEBHOOK_SECRET: ${{ secrets.FERN_BOT_PROD_GITHUB_APP_WEBHOOK_SECRET }}
CO_API_KEY: ${{ secrets.PROD_CO_API_KEY }}
REPO_TO_RUN_ON: ${{ github.event.inputs.repo }}
steps:
- name: 🚀 serverless deploy
run: |
pnpm --filter "@fern-platform/fern-bot" install
pnpm --filter "@fern-platform/fern-bot" invoke local --function updateOpenApiSpec --stage production
Loading

0 comments on commit 22d7850

Please sign in to comment.