Skip to content

Commit

Permalink
playground tests
Browse files Browse the repository at this point in the history
  • Loading branch information
lmilbaum committed Mar 25, 2024
1 parent 00cd386 commit b459a3a
Show file tree
Hide file tree
Showing 11 changed files with 86 additions and 3 deletions.
9 changes: 9 additions & 0 deletions .devcontainer/Containerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
FROM registry.access.redhat.com/ubi9/python-311:1-52

USER root

COPY playground/tests/requirements.txt .

RUN pip3 install -r requirements.txt && \
dnf install -y podman buildah && \
dnf clean all
8 changes: 8 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"name": "playground",
"build": {
"dockerfile": "Containerfile",
"context": ".."
},
"privileged": true
}
45 changes: 45 additions & 0 deletions .github/workflows/playground.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: playground

on:
pull_request:
branches:
- main
push:
branches:
- main

env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository_owner }}/playground

jobs:
build-and-push-image:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write

steps:
- uses: actions/[email protected]

- name: Login to ghcr
uses: docker/[email protected]
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Docker meta
id: meta
uses: docker/[email protected]
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}

- name: Build and push
uses: docker/[email protected]
with:
context: playground
file: playground/Containerfile
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest
labels: ${{ steps.meta.outputs.labels }}
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
*.gguf
*.bin
*_pycache_*
port_check.lock
3 changes: 1 addition & 2 deletions playground/Containerfile
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
FROM registry.access.redhat.com/ubi9/python-39:latest
WORKDIR /locallm
COPY requirements.txt /locallm/requirements.txt
RUN pip install --upgrade pip
RUN pip install --no-cache-dir --upgrade -r /locallm/requirements.txt
RUN pip install --no-cache-dir -r /locallm/requirements.txt
COPY run.sh run.sh
EXPOSE 8001
ENTRYPOINT [ "sh", "run.sh" ]
3 changes: 3 additions & 0 deletions playground/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
.PHONY: build
build:
buildah bud -f Containerfile --no-cache -t playground .
3 changes: 2 additions & 1 deletion playground/requirements.txt
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
llama-cpp-python[server]
llama-cpp-python[server]==0.2.57
pip==24.0
Empty file added playground/tests/__init__.py
Empty file.
6 changes: 6 additions & 0 deletions playground/tests/conftest.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
import pytest_container

TW = pytest_container.Container(url="containers-storage:localhost/playground",forwarded_ports=[pytest_container.PortForwarding(container_port=8001)])

def pytest_generate_tests(metafunc):
pytest_container.auto_container_parametrize(metafunc)
4 changes: 4 additions & 0 deletions playground/tests/requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
pip==24.0
pytest-container==0.3.0
pytest-testinfra==10.1.0
pytest==8.1.1
7 changes: 7 additions & 0 deletions playground/tests/test_alive.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
import pytest_container
from .conftest import TW

CONTAINER_IMAGES = [TW]

def test_alive(auto_container: pytest_container.container.ContainerData, host):
res = host.run_expect([0],f"curl localhost:{auto_container.forwarded_ports[0].host_port}",).stdout.strip()

0 comments on commit b459a3a

Please sign in to comment.