Skip to content

Commit

Permalink
Merge pull request #143 from wizelineacademy/development
Browse files Browse the repository at this point in the history
Development release
  • Loading branch information
william-monroy authored Nov 27, 2023
2 parents b73541e + f14b059 commit 2e319fc
Show file tree
Hide file tree
Showing 173 changed files with 17,019 additions and 4,469 deletions.
213 changes: 213 additions & 0 deletions .github/workflows/cicd.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,213 @@
name: CICD

on:
push:
branches: [main]
pull_request:
branches: [main]
workflow_dispatch:

jobs:
Build:
name: Build
permissions:
contents: write
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2

- name: Install Node.js 18.x
uses: actions/setup-node@v2
with:
node-version: "18.x"

- name: Install dependencies
run: |
npm install -g pnpm && pnpm install --no-frozen-lockfile
- name: Setup environment variables
run: echo "${{ secrets.APPS_WEB_ENV }}" >> apps/web/.env

- name: Check environment variables
run: |
cat apps/web/.env
- name: Build
run: |
pnpm build
- name: Check build
run: |
ls
# - name: Test
# run: |
# pnpm test:ci --if-present

Release:
name: Release
needs: [Build, DeployStagingWeb, DeployStagingDocs]
permissions:
contents: write
issues: write
pull-requests: write
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
uses: ./.github/workflows/release.yml

Check:
name: Check PR
permissions:
contents: write
if: github.event_name == 'pull_request'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2

- name: Install Node.js 18.x
uses: actions/setup-node@v2
with:
node-version: "18.x"

- name: Install dependencies
run: |
npm install -g pnpm && pnpm install --no-frozen-lockfile
- name: Setup environment variables
run: echo "${{ secrets.APPS_WEB_ENV }}" >> apps/web/.env

- name: Check environment variables
run: |
cat apps/web/.env
# - name: Test
# run: |
# pnpm test --if-present

DeployStagingWeb:
name: Deploy to Staging Web
permissions:
contents: write
if: github.event.ref == 'refs/heads/main'
needs: [Build]
runs-on: ubuntu-latest
environment:
name: Production Web
url: "http://52.54.237.87:3000"
steps:
- uses: actions/checkout@v2

- name: Install Node.js 18.x
uses: actions/setup-node@v2
with:
node-version: "18.x"

- name: Move to docs directory
run: cd apps/web

- name: Check current directory
run: |
pwd
- name: Install dependencies
run: |
npm install -g pnpm
cd apps/web && pnpm install --no-frozen-lockfile
- name: Setup environment variables
run: echo "${{ secrets.APPS_WEB_ENV }}" >> apps/web/.env

- name: Check environment variables
run: |
cat apps/web/.env
- name: Build
run: |
cd apps/web && pnpm build
- name: Stop server
run: |
sshpass -p "${{ secrets.LIGHTSAIL_SSH_PASS }}" ssh -o StrictHostKeyChecking=no [email protected] "cd apps/web && pm2 stop all"
- name: Clean LightSail directory
run: |
sshpass -p "${{ secrets.LIGHTSAIL_SSH_PASS }}" ssh -o StrictHostKeyChecking=no [email protected] "rm -rf apps/web"
- name: Deploy to Lightsail using scp
run: |
sudo apt-get install -y sshpass
sshpass -p "${{ secrets.LIGHTSAIL_SSH_PASS }}" scp -o StrictHostKeyChecking=no -r apps/web [email protected]:/home/ubuntu/apps --exclude node_modules
- name: Set custom package.json
run: |
sshpass -p "${{ secrets.LIGHTSAIL_SSH_PASS }}" ssh -o StrictHostKeyChecking=no [email protected] "cd apps/web && echo ${{secrets.APPS_WEB_PACKAGE}} > package.json"
- name: Start server
run: |
sshpass -p "${{ secrets.LIGHTSAIL_SSH_PASS }}" ssh -o StrictHostKeyChecking=no [email protected] "cd apps/web && pnpm install && pm2 start pnpm --name "web" -- start"
- name: Create output artifact
uses: actions/upload-artifact@v2
with:
name: web
path: apps/web

DeployStagingDocs:
name: Deploy to Staging Docs
permissions:
contents: write
if: github.event.ref == 'refs/heads/main'
needs: [Build]
runs-on: ubuntu-latest
environment:
name: Production Docs
url: "http://52.54.237.87:3001"
steps:
- uses: actions/checkout@v2

- name: Install Node.js 18.x
uses: actions/setup-node@v2
with:
node-version: "18.x"

- name: Move to docs directory
run: cd apps/docs

- name: Check current directory
run: |
pwd
- name: Install dependencies
run: |
npm install -g pnpm
cd apps/web && pnpm install --no-frozen-lockfile
- name: Build
run: |
cd apps/docs && pnpm build
- name: Stop server
run: |
sshpass -p "${{ secrets.LIGHTSAIL_SSH_PASS }}" ssh -o StrictHostKeyChecking=no [email protected] "cd apps/docs && pm2 stop all"
- name: Clean LightSail directory
run: |
sshpass -p "${{ secrets.LIGHTSAIL_SSH_PASS }}" ssh -o StrictHostKeyChecking=no [email protected] "rm -rf apps/docs"
- name: Deploy to Lightsail using scp excluding node_modules
run: |
sudo apt-get install -y sshpass
sshpass -p "${{ secrets.LIGHTSAIL_SSH_PASS }}" scp -o StrictHostKeyChecking=no -r apps/docs [email protected]:/home/ubuntu/apps --exclude node_modules
- name: Set custom package.json
run: |
sshpass -p "${{ secrets.LIGHTSAIL_SSH_PASS }}" ssh -o StrictHostKeyChecking=no [email protected] "cd apps/docs && echo ${{secrets.APPS_DOCS_PACKAGE}} > package.json"
- name: Start server
run: |
sshpass -p "${{ secrets.LIGHTSAIL_SSH_PASS }}" ssh -o StrictHostKeyChecking=no [email protected] "cd apps/docs && pnpm install && pm2 start pnpm --name "docs" -- start"
- name: Create output artifact
uses: actions/upload-artifact@v2
with:
name: docs
path: apps/docs
20 changes: 7 additions & 13 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -1,30 +1,24 @@
name: Release

on:
workflow_dispatch:
workflow_call:

jobs:
release:
name: Release
permissions:
contents: write
issues: write
pull-requests: write
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: SpicyPizza/[email protected]
with:
envkey_DEBUG: false
envkey_PORT: 3000
envkey_DATABASE_URL: ${{ secrets.DATABASE_URL }}
directory: ./apps/web
file_name: .env
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: 18
- run: npm i -g pnpm
- run: pnpm install --no-frozen-lockfile
- run: pnpm build
node-version: "18.x"
- run: npm -g install @semantic-release/git semantic-release && semantic-release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- run: npx semantic-release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
8 changes: 5 additions & 3 deletions apps/docs/pages/_meta.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"index": "Introduction",
"another": "Another Page",
"advanced": "Advanced (A Folder)",
"builds": "Build",
"setup":"Setup",
"about": {
"title": "About",
"type": "page"
Expand All @@ -11,5 +11,7 @@
"type": "page",
"href": "https://twitter.com/shuding_",
"newWindow": true
}
},
"frontend": "Front-End",
"backend": "Back-End"
}
3 changes: 0 additions & 3 deletions apps/docs/pages/advanced.mdx

This file was deleted.

3 changes: 0 additions & 3 deletions apps/docs/pages/advanced/satori.mdx

This file was deleted.

31 changes: 0 additions & 31 deletions apps/docs/pages/another.mdx

This file was deleted.

3 changes: 3 additions & 0 deletions apps/docs/pages/builds/_meta.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"environment": "Environment Api Keys"
}
8 changes: 8 additions & 0 deletions apps/docs/pages/builds/environment/_meta.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"database": "Database PostgreSQL",
"openai": "OpenAI Providers Connection",
"auth0": "Accounts Authentication Auth0",
"pricing": "Chat GPT and Dall-E Models Pricing",
"s3bucket": "S3 Bucket for image storage"

}
11 changes: 11 additions & 0 deletions apps/docs/pages/builds/environment/auth0.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# **Accounts Authentication Auth0**
> ```.env filename=".env" copy
> # Providers Connections
> AUTH0_SECRET= ""
> AUTH0_BASE_URL="http://localhost:3000"
> AUTH0_ISSUER_BASE_URL= ""
> AUTH0_CLIENT_ID= ""
> AUTH0_CLIENT_SECRET= ""
> ```
> > To get the secret environment key for Auth0
> >
11 changes: 11 additions & 0 deletions apps/docs/pages/builds/environment/database.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# **Database PostgreSQL**
> The WizePrompt database
> ```.env filename=".env" copy
> # DB PostgreSQL
> DATABASE_URL= " "
> ```
> > To get the environment key for the web database you will need to migrate the **Prisma Squema** of your local repository to your *PostgreSQL* app.
> > ```js
> > npx prisma migrate
> > ```
> > You will need to have **Prisma** already installed
7 changes: 7 additions & 0 deletions apps/docs/pages/builds/environment/openai.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# **OpenAI Providers Connection**
> ```.env filename=".env" copy
> # Providers Connections
> OPENAI_API_KEY= ""
> ```
> > To get the environment key
> >
16 changes: 16 additions & 0 deletions apps/docs/pages/builds/environment/pricing.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# **Chat GPT and Dall-E models pricing**
> > *GPT Pricing*
> > ```.env filename=".env" copy
> > # GPT Model pricing per 1000 tokens
> > NEXT_PUBLIC_GPT_35_INPUT = "0.0015"
> > NEXT_PUBLIC_GPT_35_OUTPUT = "0.0020"
> > NEXT_PUBLIC_GPT_4_INPUT = "0.03"
> > NEXT_PUBLIC_GPT_4_OUTPUT = "0.06"
> > ```
> > *Dall-E Pricing*
> > ```.env filename=".env" copy
> > # DALLE Model pricing per resolution
> > NEXT_PUBLIC_DALLE_256 = "0.016"
> > NEXT_PUBLIC_DALLE_512 = "0.018"
> > NEXT_PUBLIC_DALLE_1024 = "0.02"
> > ```
7 changes: 7 additions & 0 deletions apps/docs/pages/builds/environment/s3bucket.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# **S3 Bucket for image storage**
> ```.env filename=".env" copy
> # S3 Bucket
> S3_SECRET_KEY = ""
> ```
> > To get the environment secret key for the S3 Bucket
> >
11 changes: 11 additions & 0 deletions apps/docs/pages/especifications.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Project requirements and especifications

## Requirements

Tools and Hardware Requirements Declaration

## Specifications

Technical Specifications


Loading

0 comments on commit 2e319fc

Please sign in to comment.