Skip to content

feat: add tool result size check #55

feat: add tool result size check

feat: add tool result size check #55

Workflow file for this run

name: Build and Test
on:
pull_request:
branches: ["master"]
paths:
- "backend/**"
- "!**.md"
env:
AES_ENCRYPTION_KEY: b90e4648ad699c3bdf62c0860e09eb9efc098ee75f215bf750847ae19d41e4b0
JWT_SECRET_KEY: dbefe42f34473990a3fa903a6a3283acdc3a910beb1ae271a6463ffa5a926bfb
permissions:
contents: read
jobs:
test:
runs-on: ubuntu-latest
environment: test
steps:
- name: Checkout repo
uses: actions/checkout@v3
- name: Set short SHA
run: echo "IMAGE_TAG=$(echo ${{ github.sha }} | cut -c 1-7)" >> $GITHUB_ENV
- name: Check for git tag version
id: get_tag
run: |
TAG=$(git describe --tags --exact-match 2> /dev/null || echo "")
if [[ -n "$TAG" ]]; then
echo "IMAGE_TAG=${TAG}" >> $GITHUB_ENV
fi
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: "3.10"
- name: Checkout Test Repository
uses: actions/checkout@v2
with:
repository: TaskingAI/TaskingAI-Test
ref: master
path: TaskingAI-Test
token: ${{ secrets.TASKINGAI_TEST_GH_PAT }}
- name: Install Dependencies
working-directory: backend
run: pip install -r requirements.txt
# - name: Create Docker network
# run: docker network create taskingai-network
- name: Run Docker image - Postgres
run: |
docker run --network="host" -d --rm \
-e POSTGRES_DB=taskingai \
-e POSTGRES_USER=postgres \
-e POSTGRES_PASSWORD=TaskingAI321 \
--name db ankane/pgvector:v0.5.1
- name: Run Docker image - Redis
run: |
docker run --network="host" -d --rm \
--name cache redis:7-alpine
- name: Run Docker image - Inference
run: docker run --network="host" -d --rm -e MODE=PROD --name inference taskingai/taskingai-inference:v0.2.5
- name: Run Docker image - Plugin
run: docker run --network="host" -d --rm -e MODE=PROD --name plugin taskingai/taskingai-plugin:v0.2.5
- name: Build Docker image
working-directory: backend
run: |
docker build -t taskingai/taskingai-server:$IMAGE_TAG .
echo "Build success: taskingai/taskingai-server:${IMAGE_TAG}"
- name: Run Docker image - WEB
working-directory: backend
env:
AES_ENCRYPTION_KEY: ${{ env.AES_ENCRYPTION_KEY }}
JWT_SECRET_KEY: ${{ env.JWT_SECRET_KEY }}
run: |
docker run --network="host" --rm -d -p 8080:8000 \
-e PURPOSE=WEB \
-e POSTGRES_URL="postgres://postgres:TaskingAI321@db:5432/taskingai" \
-e REDIS_URL="redis://cache:6379/0" \
-e TASKINGAI_INFERENCE_URL=http://inference:8000 \
-e TASKINGAI_PLUGIN_URL=http://plugin:8000 \
-e AES_ENCRYPTION_KEY=$AES_ENCRYPTION_KEY \
-e JWT_SECRET_KEY=$JWT_SECRET_KEY \
taskingai/taskingai-server:$IMAGE_TAG
- name: Run Docker image - API
working-directory: backend
env:
AES_ENCRYPTION_KEY: ${{ env.AES_ENCRYPTION_KEY }}
run: |
docker run --network="host" --rm -d -p 8090:8000 \
-e PURPOSE=API \
-e POSTGRES_URL="postgres://postgres:TaskingAI321@db:5432/taskingai" \
-e REDIS_URL="redis://cache:6379/0" \
-e TASKINGAI_INFERENCE_URL=http://inference:8000 \
-e TASKINGAI_PLUGIN_URL=http://plugin:8000 \
-e AES_ENCRYPTION_KEY=$AES_ENCRYPTION_KEY \
taskingai/taskingai-server:$IMAGE_TAG
- name: Wait for service to start
run: sleep 10
- name: Install Dependencies
working-directory: TaskingAI-Test
run: pip install -r requirements.txt
- name: Start API Service
working-directory: TaskingAI-Test
run: python ./common/api_service.py &
- name: Run WEB Tests
working-directory: TaskingAI-Test
run: bash ./community_app/run_test.sh
- name: Run API Tests
working-directory: TaskingAI-Test
run: bash ./community_api/run_test.sh