added(server): api endpoint for replacing batch of user topics with new one. #1075
Workflow file for this run
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: Deploy | |
env: | |
TELEGRAM_API_TOKEN: ${{ secrets.TELEGRAM_API_TOKEN }} | |
on: | |
pull_request: | |
branches: ["master"] | |
paths: | |
- "apps/blog/**" | |
- "apps/dashboard/**" | |
- "apps/nebula/**" | |
- "apps/nova/**" | |
- "packages/luna/**" | |
- "packages/atlas/**" | |
- "packages/headless/**" | |
- "packages/sol/**" | |
- "packages/types/**" | |
# Allows you to run this workflow manually from the Actions tab | |
workflow_dispatch: | |
jobs: | |
deploy: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Setup Node | |
uses: actions/setup-node@v3 | |
with: | |
node-version: "20.11.1" | |
- name: Enable pnpm | |
run: corepack enable pnpm | |
- name: Get pnpm store directory | |
shell: bash | |
run: | | |
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV | |
- uses: actions/cache@v3 | |
name: Setup pnpm cache | |
with: | |
path: ${{ env.STORE_PATH }} | |
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('pnpm-lock.yaml') }} | |
restore-keys: | | |
${{ runner.os }}-pnpm-store- | |
- name: Install dependencies | |
run: pnpm install | |
- name: Build packages | |
run: pnpm build:pkgs | |
# Nova Deployment | |
- name: Pull Nova from Vercel | |
run: pnpm vercel:ci pull "nova" "apps/nova/" --token=${{ secrets.VERCEL_TOKEN }} | |
- name: Setup staging environment variables for Nova | |
run: cp apps/nova/.env.staging apps/nova/.env | |
- name: Build Nova using Vercel | |
run: pnpm build:nova:vercel | |
- name: Deploy Nova to Vercel | |
run: pnpm deploy:nova:vercel --token=${{ secrets.VERCEL_TOKEN }} | |
# Luna Deployment | |
- name: Pull Luna from Vercel | |
run: pnpm vercel:ci pull "luna" "packages/luna/" --token=${{ secrets.VERCEL_TOKEN }} | |
- name: Setup staging environment variables for Nova | |
run: cp packages/luna/.env.staging packages/luna/.env | |
- name: Build Luna using Vercel | |
run: pnpm build:luna:vercel | |
- name: Deploy Luna to Vercel | |
run: pnpm deploy:luna:vercel --token=${{ secrets.VERCEL_TOKEN }} | |
# Nebula Deployment | |
- name: Pull Nebula from Vercel | |
run: pnpm vercel:ci pull "nebula" "apps/nebula/" --token=${{ secrets.VERCEL_TOKEN }} | |
- name: Build Nebula using Vercel | |
run: pnpm build:nebula:vercel | |
- name: Deploy Nebula to Vercel | |
run: pnpm deploy:nebula:vercel --token=${{ secrets.VERCEL_TOKEN }} | |
# Dashboard Deployment | |
- name: Pull Dashboard from Vercel | |
run: pnpm vercel:ci pull "dashboard" "apps/dashboard/" --token=${{ secrets.VERCEL_TOKEN }} | |
- name: Setup staging environment variables for Dashboard | |
run: cp apps/dashboard/.env.staging apps/dashboard/.env | |
- name: Build Dashboard using Vercel | |
run: pnpm build:dashboard:vercel | |
- name: Deploy Dashboard to Vercel | |
run: pnpm deploy:dashboard:vercel --token=${{ secrets.VERCEL_TOKEN }} | |
# Display deployment URLs as GitHub comment and Telegram message | |
- name: Pull latest deployment urls from Vercel | |
run: pnpm vercel:ci urls "nova,luna,nebula,dashboard" --token=${{ secrets.VERCEL_TOKEN }} | |
- name: Send latest deployment urls to Telegram | |
run: pnpm telegram send-vercel-urls -p ${{ github.event.number }} -b ${{ github.head_ref }} | |
- name: Make GitHub comment with Vercel URLs | |
run: pnpm github comment -p ${{ github.event.number }} -t ${{ secrets.AUTH_GITHUB_TOKEN }} |