From e41eb24e50bcd7659562465ec2576f4e1f98d054 Mon Sep 17 00:00:00 2001 From: Maja Massarini Date: Tue, 2 Sep 2025 15:23:35 +0200 Subject: [PATCH 1/3] Add github action for running tests --- .../.github/workflows/check-in-container.yml | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 beeai/.github/workflows/check-in-container.yml diff --git a/beeai/.github/workflows/check-in-container.yml b/beeai/.github/workflows/check-in-container.yml new file mode 100644 index 00000000..f159e5e2 --- /dev/null +++ b/beeai/.github/workflows/check-in-container.yml @@ -0,0 +1,32 @@ +name: Check in Container + +on: + push: + branches: [main] + pull_request: + branches: [main] + workflow_dispatch: + +jobs: + check-in-container: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Set up Podman + run: | + sudo apt-get update + sudo apt-get install -y podman + podman --version + + - name: Build test image from Containerfile.tests + run: | + podman build --rm --tag beeai-tests -f Containerfile.tests . + + - name: Run check-in-container target + env: + CONTAINER_ENGINE: podman + TEST_IMAGE: beeai-tests + run: | + make check-in-container From 5291d35e20981f0f906749f1a882154ea3eb1e15 Mon Sep 17 00:00:00 2001 From: Tomas Tomecek Date: Thu, 4 Sep 2025 15:43:38 +0200 Subject: [PATCH 2/3] Move GHA definition for BeeAI tests to root Signed-off-by: Tomas Tomecek --- {beeai/.github => .github}/workflows/check-in-container.yml | 5 +++-- beeai/Containerfile.tests | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) rename {beeai/.github => .github}/workflows/check-in-container.yml (88%) diff --git a/beeai/.github/workflows/check-in-container.yml b/.github/workflows/check-in-container.yml similarity index 88% rename from beeai/.github/workflows/check-in-container.yml rename to .github/workflows/check-in-container.yml index f159e5e2..2ef739e3 100644 --- a/beeai/.github/workflows/check-in-container.yml +++ b/.github/workflows/check-in-container.yml @@ -1,4 +1,4 @@ -name: Check in Container +name: Check BeeAI agents in container on: push: @@ -22,11 +22,12 @@ jobs: - name: Build test image from Containerfile.tests run: | - podman build --rm --tag beeai-tests -f Containerfile.tests . + podman build --rm --tag beeai-tests -f Containerfile.tests ./beeai - name: Run check-in-container target env: CONTAINER_ENGINE: podman TEST_IMAGE: beeai-tests + working-directory: beeai/ run: | make check-in-container diff --git a/beeai/Containerfile.tests b/beeai/Containerfile.tests index c20e69d5..378b2751 100644 --- a/beeai/Containerfile.tests +++ b/beeai/Containerfile.tests @@ -14,6 +14,6 @@ RUN dnf -y install \ && dnf clean all # Install BeeAI Framework and FastMCP -RUN pip3 install --no-cache-dir beeai-framework fastmcp +RUN pip3 install --no-cache-dir beeai-framework fastmcp redis WORKDIR /src From 5b6655554107f2bf45970795ef52f5608eb2790b Mon Sep 17 00:00:00 2001 From: Tomas Tomecek Date: Thu, 4 Sep 2025 17:10:31 +0200 Subject: [PATCH 3/3] CI tests: run agents & mcp-server tests as 2 jobs Signed-off-by: Tomas Tomecek Assisted-by: Cursor(Claude) --- .github/workflows/check-in-container.yml | 14 ++++++++------ beeai/Containerfile.tests | 3 +++ beeai/Makefile | 6 +++++- beeai/Makefile.tests | 16 ++++++++++------ 4 files changed, 26 insertions(+), 13 deletions(-) diff --git a/.github/workflows/check-in-container.yml b/.github/workflows/check-in-container.yml index 2ef739e3..49e5b48d 100644 --- a/.github/workflows/check-in-container.yml +++ b/.github/workflows/check-in-container.yml @@ -10,24 +10,26 @@ on: jobs: check-in-container: runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + include: + - target: check-agents-in-container + - target: check-mcp-server-in-container steps: - name: Checkout code uses: actions/checkout@v4 - - name: Set up Podman run: | sudo apt-get update sudo apt-get install -y podman podman --version - - name: Build test image from Containerfile.tests run: | podman build --rm --tag beeai-tests -f Containerfile.tests ./beeai - - - name: Run check-in-container target + - name: Run ${{ matrix.target }} target env: CONTAINER_ENGINE: podman TEST_IMAGE: beeai-tests working-directory: beeai/ - run: | - make check-in-container + run: make ${{ matrix.target }} diff --git a/beeai/Containerfile.tests b/beeai/Containerfile.tests index 378b2751..f9516085 100644 --- a/beeai/Containerfile.tests +++ b/beeai/Containerfile.tests @@ -13,6 +13,9 @@ RUN dnf -y install \ python3-specfile \ && dnf clean all +RUN git config --global user.email "jotnar-tests@example.com" \ + && git config --global user.name "Jotnar Tests" + # Install BeeAI Framework and FastMCP RUN pip3 install --no-cache-dir beeai-framework fastmcp redis diff --git a/beeai/Makefile b/beeai/Makefile index ac3d3374..5cb7b1d9 100644 --- a/beeai/Makefile +++ b/beeai/Makefile @@ -128,6 +128,10 @@ clean: build-test-image: $(MAKE) -f Makefile.tests build-test-image -.PHONY: check-in-container +.PHONY: check-in-container check-agents-in-container check-mcp-server-in-container check-in-container: $(MAKE) -f Makefile.tests check-in-container +check-agents-in-container: + $(MAKE) -f Makefile.tests check-agents-in-container +check-mcp-server-in-container: + $(MAKE) -f Makefile.tests check-mcp-server-in-container diff --git a/beeai/Makefile.tests b/beeai/Makefile.tests index c50f458e..463c936e 100644 --- a/beeai/Makefile.tests +++ b/beeai/Makefile.tests @@ -7,13 +7,17 @@ CONTAINER_ENGINE ?= $(shell command -v podman 2>/dev/null || echo "docker") build-test-image: $(CONTAINER_ENGINE) build --rm --tag $(TEST_IMAGE) -f Containerfile.tests -.PHONY: check -check: +.PHONY: check check-agents check-mcp-server check-in-container check-agents-in-container check-mcp-server-in-container +check-agents: cd ./agents && \ - PYTHONPATH=$(CURDIR) PYTHONDONTWRITEBYTECODE=1 python3 -m pytest --verbose --showlocals $(TEST_TARGET) || true + PYTHONPATH=$(CURDIR) PYTHONDONTWRITEBYTECODE=1 python3 -m pytest --verbose --showlocals $(TEST_TARGET) +check-mcp-server: cd ./mcp_server && \ PYTHONPATH=$(CURDIR) PYTHONDONTWRITEBYTECODE=1 python3 -m pytest --verbose --showlocals $(TEST_TARGET) +check: check-agents check-mcp-server -.PHONY: check-in-container -check-in-container: - $(CONTAINER_ENGINE) run --rm -it -v $(CURDIR):/src:z --env TEST_TARGET $(TEST_IMAGE) make -f Makefile.tests check +check-agents-in-container: + $(CONTAINER_ENGINE) run --rm -it -v $(CURDIR):/src:z --env TEST_TARGET $(TEST_IMAGE) make -f Makefile.tests check-agents +check-mcp-server-in-container: + $(CONTAINER_ENGINE) run --rm -it -v $(CURDIR):/src:z --env TEST_TARGET $(TEST_IMAGE) make -f Makefile.tests check-mcp-server +check-in-container: check-agents-in-container check-mcp-server-in-container \ No newline at end of file