Skip to content

use voyage ai embeddings (#204) #6

use voyage ai embeddings (#204)

use voyage ai embeddings (#204) #6

name: Build, Push, and Deploy Chat Langchain
on:
push:
branches: [master]
workflow_dispatch:
jobs:
deploy-backend:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set up Short Hash
run: |
echo "GIT_SHORT_SHA=$(git rev-parse --short HEAD)" >> $GITHUB_ENV
echo "LC_ENVIRONMENT=dev" >> $GITHUB_ENV
- name: Set up depot.dev multi-arch runner
uses: depot/setup-action@v1
- name: Login to DockerHub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build and push
uses: docker/build-push-action@v5
with:
push: true
tags: docker.io/langchain/chat-langchain-backend:${{ env.GIT_SHORT_SHA }}
- name: Checkout deployments repo
uses: actions/checkout@v3
with:
repository: langchain-ai/deployments
path: deployments
token: ${{ secrets.DEPLOYMENTS_PAT }}
- name: Update Docker image in Terraform files (dev)
run: |
cd deployments/environments/langchain/chat-langchain
# Modify the main.tf terraform file
sed -i "s|image_tag = \"docker.io/langchain/chat-langchain-backend:[^\"]*\"|image_tag = \"docker.io/langchain/chat-langchain-backend:${{ env.GIT_SHORT_SHA }}\"|" main.tf
- name: Create Pull Request
id: create-pr
uses: peter-evans/create-pull-request@v5
with:
token: ${{ secrets.DEPLOYMENTS_PAT }}
title: "Update Chat Langchain Docker image to ${{ env.GIT_SHORT_SHA }}"
commit-message: "Update Docker image"
base: "main"
branch: "actions/update-docker-image-${{ env.GIT_SHORT_SHA }}"
body: 'Update Chat Langchain Docker image to ${{ env.GIT_SHORT_SHA }}'
path: deployments
- name: Enable Pull Request Automerge
uses: peter-evans/enable-pull-request-automerge@v3
with:
token: ${{ secrets.DEPLOYMENTS_PAT }}
pull-request-number: ${{ steps.create-pr.outputs.pull-request-number }}
repository: langchain-ai/deployments
deploy-frontend:
name: Deploy Frontend to Vercel
runs-on: ubuntu-latest
environment: Production
needs: deploy-backend
env:
VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }}
VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }}
steps:
- uses: actions/checkout@v2
- name: Install Vercel CLI
run: npm install --global vercel@latest
- name: Pull Vercel Environment Information
run: vercel pull --yes --environment=production --token=${{ secrets.VERCEL_TOKEN }}
- name: Build Project Artifacts
run: vercel build --prod --token=${{ secrets.VERCEL_TOKEN }}
- name: Deploy Project Artifacts to Vercel
run: vercel deploy --prebuilt --prod --token=${{ secrets.VERCEL_TOKEN }}