Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 12 additions & 4 deletions .github/workflows/development.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,9 @@ jobs:
with:
python-version: ${{ matrix.python }}
- name: Install dependencies
run: pip install tox
run: |
curl -sSL https://pdm-project.org/install-pdm.py | python3 -
pip install tox tox-pdm
- name: Run quality checks
run: tox -e quality

Expand Down Expand Up @@ -52,7 +54,9 @@ jobs:
with:
python-version: ${{ matrix.python }}
- name: Install dependencies
run: pip install tox
run: |
curl -sSL https://pdm-project.org/install-pdm.py | python3 -
pip install tox tox-pdm
- name: Run quality checks
run: tox -e types

Expand Down Expand Up @@ -122,7 +126,9 @@ jobs:
with:
python-version: ${{ matrix.python }}
- name: Install dependencies
run: pip install tox
run: |
curl -sSL https://pdm-project.org/install-pdm.py | python3 -
pip install tox tox-pdm
- name: Run unit tests
run: tox -e test-unit

Expand Down Expand Up @@ -157,7 +163,9 @@ jobs:
with:
python-version: ${{ matrix.python }}
- name: Install dependencies
run: pip install tox
run: |
curl -sSL https://pdm-project.org/install-pdm.py | python3 -
pip install tox tox-pdm
- name: Run integration tests
run: tox -e test-integration -- -m smoke

Expand Down
69 changes: 69 additions & 0 deletions .github/workflows/e2e.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
# This workflow builds a Docker artifact, caches it based on the Dockerfile content,
# and then runs e2e tests using that artifact.

name: E2E Tests

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

jobs:
build-and-test:
runs-on: ubuntu-latest

steps:
- name: Check out repository
uses: actions/checkout@v4

# Cache the binary artifact
# The key is based on the runner's OS and the hash of the Dockerfile.
# If the Dockerfile changes, the hash changes, and a new cache is created.
- name: Cache vLLM-sim binary
id: cache-vllm-sim
uses: actions/cache@v4
with:
# The path to the file you want to cache
path: bin/llm-d-inference-sim
# The unique key for the cache
key: vllm-sim-binary-${{ runner.os }}-${{ hashFiles('tests/e2e/vllm-sim.Dockerfile') }}

# Set up Docker Buildx (required for the 'docker build -o' command)
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

# Conditionally build the artifact
# This step only runs if the cache step above did NOT find a match.
# 'steps.cache-vllm-sim.outputs.cache-hit' will be 'true' if the cache was restored.
- name: Build vLLM-sim artifact (if not cached)
if: steps.cache-vllm-sim.outputs.cache-hit != 'true'
run: |
echo "Cache miss. Building artifact..."
docker build . -f tests/e2e/vllm-sim.Dockerfile -o type=local,dest=./
shell: bash

- name: Verify artifact
run: |
if [ -f "bin/llm-d-inference-sim" ]; then
echo "Artifact found."
else
echo "ERROR: Artifact bin/llm-d-inference-sim not found!"
exit 1
fi
shell: bash

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python }}
- name: Install dependencies
run: |
curl -sSL https://pdm-project.org/install-pdm.py | python3 -
pip install tox tox-pdm
- name: Run E2E tests
run: tox -e test-e2e
shell: bash
16 changes: 12 additions & 4 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,9 @@ jobs:
with:
python-version: ${{ matrix.python }}
- name: Install dependencies
run: pip install tox
run: |
curl -sSL https://pdm-project.org/install-pdm.py | python3 -
pip install tox tox-pdm
- name: Run quality checks
run: tox -e quality

Expand Down Expand Up @@ -53,7 +55,9 @@ jobs:
with:
python-version: ${{ matrix.python }}
- name: Install dependencies
run: pip install tox
run: |
curl -sSL https://pdm-project.org/install-pdm.py | python3 -
pip install tox tox-pdm
- name: Run quality checks
run: tox -e types

Expand Down Expand Up @@ -123,7 +127,9 @@ jobs:
with:
python-version: ${{ matrix.python }}
- name: Install dependencies
run: pip install tox
run: |
curl -sSL https://pdm-project.org/install-pdm.py | python3 -
pip install tox tox-pdm
- name: Run unit tests
run: tox -e test-unit

Expand Down Expand Up @@ -158,7 +164,9 @@ jobs:
with:
python-version: ${{ matrix.python }}
- name: Install dependencies
run: pip install tox
run: |
curl -sSL https://pdm-project.org/install-pdm.py | python3 -
pip install tox tox-pdm
- name: Run integration tests
run: tox -e test-integration -- -m smoke

Expand Down
18 changes: 13 additions & 5 deletions .github/workflows/nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,9 @@ jobs:
with:
python-version: ${{ matrix.python }}
- name: Install dependencies
run: pip install tox
run: |
curl -sSL https://pdm-project.org/install-pdm.py | python3 -
pip install tox tox-pdm
- name: Run link checks
run: tox -e links

Expand All @@ -34,7 +36,9 @@ jobs:
with:
python-version: ${{ matrix.python }}
- name: Install dependencies
run: pip install tox
run: |
curl -sSL https://pdm-project.org/install-pdm.py | python3 -
pip install tox tox-pdm
- name: Run unit tests
run: tox -e test-unit

Expand Down Expand Up @@ -69,7 +73,9 @@ jobs:
with:
python-version: ${{ matrix.python }}
- name: Install dependencies
run: pip install tox
run: |
curl -sSL https://pdm-project.org/install-pdm.py | python3 -
pip install tox tox-pdm
- name: Run integration tests
run: tox -e test-integration -- -m "smoke or sanity"

Expand Down Expand Up @@ -104,7 +110,9 @@ jobs:
with:
python-version: ${{ matrix.python }}
- name: Install dependencies
run: pip install tox
run: |
curl -sSL https://pdm-project.org/install-pdm.py | python3 -
pip install tox tox-pdm
- name: Run integration tests
run: tox -e test-e2e -- -m smoke

Expand Down Expand Up @@ -153,7 +161,7 @@ jobs:
with:
python-version: ${{ matrix.python }}
- name: Install dependencies
run: pip install tox
run: pip install tox tox-pdm
- name: Build the package
run: |
export GUIDELLM_BUILD_TYPE=nightly
Expand Down
20 changes: 15 additions & 5 deletions .github/workflows/release-candidate.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,9 @@ jobs:
with:
python-version: ${{ matrix.python }}
- name: Install dependencies
run: pip install tox
run: |
curl -sSL https://pdm-project.org/install-pdm.py | python3 -
pip install tox tox-pdm
- name: Run link checks
run: tox -e links

Expand All @@ -34,7 +36,9 @@ jobs:
with:
python-version: ${{ matrix.python }}
- name: Install dependencies
run: pip install tox
run: |
curl -sSL https://pdm-project.org/install-pdm.py | python3 -
pip install tox tox-pdm
- name: Run unit tests
run: tox -e test-unit

Expand Down Expand Up @@ -69,7 +73,9 @@ jobs:
with:
python-version: ${{ matrix.python }}
- name: Install dependencies
run: pip install tox
run: |
curl -sSL https://pdm-project.org/install-pdm.py | python3 -
pip install tox tox-pdm
- name: Run integration tests
run: tox -e test-integration

Expand Down Expand Up @@ -104,7 +110,9 @@ jobs:
with:
python-version: ${{ matrix.python }}
- name: Install dependencies
run: pip install tox
run: |
curl -sSL https://pdm-project.org/install-pdm.py | python3 -
pip install tox tox-pdm
- name: Run end-to-end tests
run: tox -e test-e2e

Expand Down Expand Up @@ -153,7 +161,9 @@ jobs:
with:
python-version: ${{ matrix.python }}
- name: Install dependencies
run: pip install tox
run: |
curl -sSL https://pdm-project.org/install-pdm.py | python3 -
pip install tox tox-pdm
- name: Build the package
run: |
export GUIDELLM_BUILD_TYPE=candidate
Expand Down
16 changes: 11 additions & 5 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,9 @@ jobs:
with:
python-version: ${{ matrix.python }}
- name: Install dependencies
run: pip install tox
run: |
curl -sSL https://pdm-project.org/install-pdm.py | python3 -
pip install tox tox-pdm
- name: Build the package
run: |
export GUIDELLM_BUILD_TYPE=release
Expand Down Expand Up @@ -63,7 +65,9 @@ jobs:
with:
python-version: ${{ matrix.python }}
- name: Install dependencies
run: pip install tox
run: |
curl -sSL https://pdm-project.org/install-pdm.py | python3 -
pip install tox tox-pdm
- name: Run link checks
run: tox -e links

Expand All @@ -79,7 +83,9 @@ jobs:
with:
python-version: ${{ matrix.python }}
- name: Install dependencies
run: pip install tox
run: |
curl -sSL https://pdm-project.org/install-pdm.py | python3 -
pip install tox tox-pdm
- name: Run unit tests
run: tox -e test-unit

Expand Down Expand Up @@ -114,7 +120,7 @@ jobs:
with:
python-version: ${{ matrix.python }}
- name: Install dependencies
run: pip install tox
run: pip install tox tox-pdm
- name: Run integration tests
run: tox -e test-integration

Expand Down Expand Up @@ -149,7 +155,7 @@ jobs:
with:
python-version: ${{ matrix.python }}
- name: Install dependencies
run: pip install tox
run: pip install tox tox-pdm
- name: Run end-to-end tests
run: tox -e test-e2e

Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -230,3 +230,6 @@ src/ui/next-env.d.ts
!src/ui/public/manifest.json
!src/ui/serve.json
.eslintcache

# e2e tests
bin/
Loading
Loading