This commit updates the Github's CI pipeline to include distinct workflows for running e2e pytests across different environments: no-container, docker, and macOS.
Signed-off-by: Roberto Majadas <rmajadas@redhat.com>
This commit refactors the testing infrastructure to use tox,
centralizing the configuration in pyproject.toml.
Key changes:
- Makefile test targets now delegate to tox.
- A new pytest-based e2e testing framework is added.
- An initial e2e test for the version command is included.
Signed-off-by: Roberto Majadas <rmajadas@redhat.com>
codespell should not update files in place, it should only
spellcheck. Updating in place messes up the git tree and potentially
causes problems.
"mountns" is in both the ignore-words-list specified in the toml file
and in the .codespelldict. The latter has priority, which means that
codespell tries to correct the ignore-words-list in the toml
file. Assuming that the word belongs in the .codespelldict, it makes
no sense to list it in the ignore-words-list so remove it. Also fix
the formatting of the list.
Signed-off-by: John Wiele <jwiele@redhat.com>
Was installing uv 2 different ways (github action and make install-requirement).
Use `uv run` explicitly instead of activating the virtualenv in the uv
github action (it's docs advise not to use this option).
Signed-off-by: Oliver Walsh <owalsh@redhat.com>
assisted by cursor/claude.
Signed-off-by: Jeff Ligon <jligon@redhat.com>
going with gemini's python_check(with the double equal) for this one.
Signed-off-by: Jeff Ligon <jligon@redhat.com>
changing to `MYPIP ?= pipx`
Signed-off-by: Jeff Ligon <jligon@redhat.com>
fixing uv pipx
Signed-off-by: Jeff Ligon <jligon@redhat.com>
taking it back to pip to fix ci
Signed-off-by: Jeff Ligon <jligon@redhat.com>
Remove the STORAGE_DRIVER env var from the container so it doesn't force use
of the vfs driver in all cases.
Mount /dev/fuse into the container when running locally.
Signed-off-by: Mike Bonnet <mikeb@redhat.com>
Add a new "bats" container which is configured to run the bats tests.
The container supports running the standard bats test suite
(container-in-container) as well as the "--nocontainer" tests.
Add two new Makefile targets for running the bats container via podman.
Signed-off-by: Mike Bonnet <mikeb@redhat.com>
Currently we are ignoreing the user specified image if it does not
contain a ':'
Fixes: https://github.com/containers/ramalama/issues/1525
While I was in the code base, I standardized on container-images for
Fedora to come from quay.io/fedora repo.
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
'make install-requirements' currently assumes 'pipx'
is installed in your env, but this may not be the case
add an explict install/upgrade command via pip
Signed-off-by: Nathan Weinberg <nweinber@redhat.com>
This PR just installs the python requirements needed to play with the
rag_framework.py file.
I have not added the docling support yet, since that would swell the
size of the images. Will add that in a separate PR.
Also remove pragmatic and begin conversion to new rag tooling.
Signed-off-by: Brian <bmahabir@bu.edu>
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
We are encountering issues where newer python3 features are
breaking systems with older versions of python3, such as macOS,
this should ensure we validate this in CI.
Signed-off-by: Eric Curtin <ecurtin@redhat.com>
Usually, the chat templates for gguf models are written as jinja templates.
Ollama, however, uses Go Templates specific to ollama. In order to use the
proper templates for models pulled from ollama, the chat templates are
converted to jinja ones and passed to llama-run.
Signed-off-by: Michael Engel <mengel@redhat.com>
ramalama-serve-core is intended to act as a proxy and implement
multiple-models. ramalama-client-core in intended to act as a OpenAI
client. ramalama-run-core is intended to act as ramalama-serve-core +
ramalama-client-core, both processes will die on completion of
ramalama-run-core.
Signed-off-by: Eric Curtin <ecurtin@redhat.com>
This is probably a consequence of my slow network, but I switched
to smollm:135m, it's easier for demos. tiny was taking too long
to download.
Signed-off-by: Eric Curtin <ecurtin@redhat.com>
Split make target lint into lint, format and check-format
and updated the CI steps accordingly. Also moved configuration
of black to pyproject.toml and flake8 to .flake8 file.
Signed-off-by: Michael Engel <mengel@redhat.com>
By pinning the version of the development tools, the risk of
accidental upgrades and breaking changes leading are mitigated.
Signed-off-by: Michael Engel <mengel@redhat.com>
Building Pragmatic into a container image is fairly easy.
podman build --build-arg IMAGE=quay.io/ramalama/rocm -t quay.io/ramalama/rocm-rag container-images/pragmatic
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>