feat ✨: UI Store Document management functionality added #146
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: AORA CI/CD PIPELINE | |
on: [push, pull_request] | |
jobs: | |
AORA-backend-Checks: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Set up Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: "3.10" | |
cache: "pip" | |
- name: Install dependencies | |
run: | | |
cd backend | |
pip install -r requirements.txt | |
touch .env | |
echo "DATABASE_PATH=chroma_db \n COLLECTION_NAME=langchain" >> .env | |
- name: Start FastAPI app | |
run: | | |
cd backend | |
nohup fastapi dev > /dev/null 2>&1 & | |
echo $! > uvicorn.pid | |
sleep 10 | |
echo "Aora-API is running" | |
- name: Check FastAPI /health endpoint | |
run: | | |
response=$(curl -s http://127.0.0.1:8000/health/) | |
echo "Response: $response" | |
if [ "$response" == '{"status":"Active"}' ]; then | |
echo "Health check passed" | |
else | |
echo "Health check failed" | |
exit 1 | |
fi | |
- name: Run tests | |
run: | | |
cd backend | |
pytest -v | |
Aora-backend-Build: | |
runs-on: ubuntu-latest | |
needs: AORA-backend-Checks | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v2 | |
- name: Build Docker image | |
run: | | |
cd backend | |
docker build -t aora_backend . | |
- name: Run Docker container | |
run: | | |
docker run -d -p 8000:8000 --name aora_backend aora_backend | |
sleep 10 | |
echo "Aora-API Backend is successfully built" | |
Aora-frontend-Checks: | |
runs-on: ubuntu-latest | |
needs: Aora-backend-Build | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Set up Node.js | |
uses: actions/setup-node@v3 | |
with: | |
node-version: "20" | |
- name: Install frontend dependencies | |
run: | | |
cd frontend | |
npm install | |
- name: Run frontend development server | |
run: | | |
cd frontend | |
nohup npm run dev > /dev/null 2>&1 & | |
sleep 20 | |
- name: Verify frontend server is running | |
run: | | |
response=$(curl -s http://127.0.0.1:9000/2) | |
sleep 10 | |
if echo "$response" | grep -q "rag app for small business"; then | |
echo "Frontend is running and contains 'DOC-INFO'" | |
else | |
echo "Frontend did not return expected content" | |
exit 1 | |
fi |