Serve side chat management #49
This file contains hidden or 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 | |
| - dev-staging | |
| - release/* | |
| paths: | |
| - 'api/**' | |
| - 'packages/**' | |
| 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 | |
| NODE_OPTIONS: '--max-old-space-size=${{ secrets.NODE_MAX_OLD_SPACE_SIZE || 6144 }}' | |
| 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 Package | |
| run: npm run build:data-provider | |
| - name: Install Data Schemas Package | |
| run: npm run build:data-schemas | |
| - name: Build API Package & Detect Circular Dependencies | |
| run: | | |
| output=$(npm run build:api 2>&1) | |
| echo "$output" | |
| if echo "$output" | grep -q "Circular depend"; then | |
| echo "Error: Circular dependency detected in @librechat/api!" | |
| exit 1 | |
| fi | |
| - 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 @librechat/data-schemas unit tests | |
| run: cd packages/data-schemas && npm run test:ci | |
| - name: Run @librechat/api unit tests | |
| run: cd packages/api && npm run test:ci |