Pulling Latest LibreChat Commits #1
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: Backend Unit Tests | |
on: | |
pull_request: | |
branches: | |
- main | |
- dev | |
- release/* | |
paths: | |
- 'api/**' | |
jobs: | |
tests_Backend: | |
name: Run Backend unit tests | |
timeout-minutes: 60 | |
runs-on: ubuntu-latest | |
env: | |
MONGO_URI: ${{ secrets.MONGO_URI }} | |
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} | |
JWT_SECRET: ${{ secrets.JWT_SECRET }} | |
CREDS_KEY: ${{ secrets.CREDS_KEY }} | |
CREDS_IV: ${{ secrets.CREDS_IV }} | |
BAN_VIOLATIONS: ${{ secrets.BAN_VIOLATIONS }} | |
BAN_DURATION: ${{ secrets.BAN_DURATION }} | |
BAN_INTERVAL: ${{ secrets.BAN_INTERVAL }} | |
NODE_ENV: CI | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Use Node.js 20.x | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
cache: 'npm' | |
- name: Install dependencies | |
run: npm ci | |
- name: Install Data Provider | |
run: npm run build:data-provider | |
- name: Create empty auth.json file | |
run: | | |
mkdir -p api/data | |
echo '{}' > api/data/auth.json | |
- name: Check for Circular dependency in rollup | |
working-directory: ./packages/data-provider | |
run: | | |
output=$(npm run rollup:api) | |
echo "$output" | |
if echo "$output" | grep -q "Circular dependency"; then | |
echo "Error: Circular dependency detected!" | |
exit 1 | |
fi | |
- name: Prepare .env.test file | |
run: cp api/test/.env.test.example api/test/.env.test | |
- name: Run unit tests | |
run: cd api && npm run test:ci | |
- name: Run librechat-data-provider unit tests | |
run: cd packages/data-provider && npm run test:ci | |
- name: Run linters | |
uses: wearerequired/lint-action@v2 | |
with: | |
eslint: true |