Fix #236
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: tests | |
on: | |
push: | |
branches: | |
- 'main' | |
- '*.*.*' | |
paths-ignore: | |
- 'docs/**' | |
- '*.md' | |
- '*.mdx' | |
pull_request: | |
types: [ opened, synchronize, reopened, labeled ] | |
paths-ignore: | |
- 'docs/**' | |
- '*.md' | |
- '*.mdx' | |
# https://docs.github.com/en/actions/using-jobs/using-concurrency | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
cancel-in-progress: true | |
jobs: | |
ragflow_tests: | |
name: ragflow_tests | |
# https://docs.github.com/en/actions/using-jobs/using-conditions-to-control-job-execution | |
# https://github.com/orgs/community/discussions/26261 | |
if: ${{ github.event_name != 'pull_request' || contains(github.event.pull_request.labels.*.name, 'ci') }} | |
runs-on: [ "self-hosted", "debug" ] | |
steps: | |
# https://github.com/hmarr/debug-action | |
#- uses: hmarr/debug-action@v2 | |
- name: Show PR labels | |
run: | | |
echo "Workflow triggered by ${{ github.event_name }}" | |
if [[ ${{ github.event_name }} == 'pull_request' ]]; then | |
echo "PR labels: ${{ join(github.event.pull_request.labels.*.name, ', ') }}" | |
fi | |
- name: Ensure workspace ownership | |
run: echo "chown -R $USER $GITHUB_WORKSPACE" && sudo chown -R $USER $GITHUB_WORKSPACE | |
- name: Check out code | |
uses: actions/checkout@v4 | |
- name: Build ragflow:dev-slim | |
run: | | |
RUNNER_WORKSPACE_PREFIX=${RUNNER_WORKSPACE_PREFIX:-$HOME} | |
cp -r ${RUNNER_WORKSPACE_PREFIX}/huggingface.co ${RUNNER_WORKSPACE_PREFIX}/nltk_data ${RUNNER_WORKSPACE_PREFIX}/libssl*.deb ${RUNNER_WORKSPACE_PREFIX}/tika-server*.jar* . | |
sudo docker pull ubuntu:24.04 | |
sudo ./build_docker_image.sh slim | |
- name: Build ragflow:dev | |
run: | | |
sudo ./build_docker_image.sh full | |
- name: Start ragflow:dev-slim | |
run: | | |
sudo docker compose -f docker/docker-compose.yml up -d | |
- name: Stop ragflow:dev-slim | |
if: always() # always run this step even if previous steps failed | |
run: | | |
sudo docker compose -f docker/docker-compose.yml down -v | |
- name: Start ragflow:dev | |
run: | | |
echo "RAGFLOW_IMAGE=infiniflow/ragflow:dev" >> docker/.env | |
sudo docker compose -f docker/docker-compose.yml up -d | |
- name: Run tests against Elasticsearch | |
run: | | |
export http_proxy=""; export https_proxy=""; export no_proxy=""; export HTTP_PROXY=""; export HTTPS_PROXY=""; export NO_PROXY="" | |
export HOST_ADDRESS=http://host.docker.internal:9380 | |
until sudo docker exec ragflow-server curl -s --connect-timeout 5 ${HOST_ADDRESS} > /dev/null; do | |
echo "Waiting for service to be available..." | |
sleep 5 | |
done | |
cd sdk/python && poetry install && source .venv/bin/activate && cd test && pytest --tb=short t_dataset.py t_chat.py t_session.py t_document.py t_chunk.py | |
- name: Stop ragflow:dev | |
if: always() # always run this step even if previous steps failed | |
run: | | |
sudo docker compose -f docker/docker-compose.yml down -v | |
- name: Start ragflow:dev | |
run: | | |
sudo DOC_ENGINE=infinity docker compose -f docker/docker-compose.yml up -d | |
- name: Run tests against Infinity | |
run: | | |
export http_proxy=""; export https_proxy=""; export no_proxy=""; export HTTP_PROXY=""; export HTTPS_PROXY=""; export NO_PROXY="" | |
export HOST_ADDRESS=http://host.docker.internal:9380 | |
until sudo docker exec ragflow-server curl -s --connect-timeout 5 ${HOST_ADDRESS} > /dev/null; do | |
echo "Waiting for service to be available..." | |
sleep 5 | |
done | |
cd sdk/python && poetry install && source .venv/bin/activate && cd test && pytest --tb=short t_dataset.py t_chat.py t_session.py t_document.py t_chunk.py | |
- name: Stop ragflow:dev | |
if: always() # always run this step even if previous steps failed | |
run: | | |
sudo DOC_ENGINE=infinity docker compose -f docker/docker-compose.yml down -v |