diff --git a/.github/workflows/check-in-container.yml b/.github/workflows/check-in-container.yml new file mode 100644 index 00000000..49e5b48d --- /dev/null +++ b/.github/workflows/check-in-container.yml @@ -0,0 +1,35 @@ +name: Check BeeAI agents in container + +on: + push: + branches: [main] + pull_request: + branches: [main] + workflow_dispatch: + +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 ${{ matrix.target }} target + env: + CONTAINER_ENGINE: podman + TEST_IMAGE: beeai-tests + working-directory: beeai/ + run: make ${{ matrix.target }} diff --git a/beeai/Containerfile.tests b/beeai/Containerfile.tests index c20e69d5..f9516085 100644 --- a/beeai/Containerfile.tests +++ b/beeai/Containerfile.tests @@ -13,7 +13,10 @@ 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 +RUN pip3 install --no-cache-dir beeai-framework fastmcp redis WORKDIR /src 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