From 6d7880b5173ddfd15b0db90f148509409ad59f8f Mon Sep 17 00:00:00 2001 From: Samuel Monson Date: Tue, 18 Nov 2025 14:17:38 -0500 Subject: [PATCH 01/12] Fix missing pdm installs in release workflow Signed-off-by: Samuel Monson --- .github/workflows/release.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index b77b2187..a42cf003 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -120,7 +120,9 @@ jobs: with: python-version: ${{ matrix.python }} - name: Install dependencies - run: pip install tox tox-pdm + 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 @@ -155,7 +157,9 @@ jobs: with: python-version: ${{ matrix.python }} - name: Install dependencies - run: pip install tox tox-pdm + 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 From 2c74b6c2230b862a2a898a57bae3101b751358c0 Mon Sep 17 00:00:00 2001 From: Samuel Monson Date: Tue, 18 Nov 2025 14:39:56 -0500 Subject: [PATCH 02/12] Drop broken link-check Signed-off-by: Samuel Monson --- .github/workflows/nightly.yml | 18 ------------------ .github/workflows/release-candidate.yml | 18 ------------------ .github/workflows/release.yml | 18 ------------------ 3 files changed, 54 deletions(-) diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 0e2e1f75..5cc3788f 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -6,24 +6,6 @@ on: workflow_dispatch: # Enables manual triggering of the workflow jobs: - link-checks: - runs-on: ubuntu-latest - strategy: - matrix: - python: ["3.10"] - steps: - - uses: actions/checkout@v4 - - 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 link checks - run: tox -e links - unit-tests: runs-on: ubuntu-latest strategy: diff --git a/.github/workflows/release-candidate.yml b/.github/workflows/release-candidate.yml index 2b90c544..fb20f38e 100644 --- a/.github/workflows/release-candidate.yml +++ b/.github/workflows/release-candidate.yml @@ -6,24 +6,6 @@ on: - 'release/*' jobs: - link-checks: - runs-on: ubuntu-latest - strategy: - matrix: - python: ["3.10"] - steps: - - uses: actions/checkout@v4 - - 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 link checks - run: tox -e links - unit-tests: runs-on: ubuntu-latest strategy: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a42cf003..99fd9a63 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -53,24 +53,6 @@ jobs: password: ${{ secrets.PYPI_PUBLIC_AUTH }} whl: $(find dist -name '*.tar.gz') - link-checks: - runs-on: ubuntu-latest - strategy: - matrix: - python: ["3.10"] - steps: - - uses: actions/checkout@v4 - - 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 link checks - run: tox -e links - unit-tests: runs-on: ubuntu-latest strategy: From 5e18bb00851c0f458c998a62d584d4f2f6902301 Mon Sep 17 00:00:00 2001 From: Samuel Monson Date: Tue, 18 Nov 2025 18:08:04 -0500 Subject: [PATCH 03/12] Consolidate test jobs Signed-off-by: Samuel Monson --- .github/workflows/development.yml | 88 ++------------ .github/workflows/nightly.yml | 129 ++------------------ .github/workflows/release-candidate.yml | 128 ++------------------ .github/workflows/release.yml | 134 ++------------------- .github/workflows/testing-ui.yml | 72 +++++++++++ .github/workflows/{e2e.yml => testing.yml} | 64 ++++++---- 6 files changed, 158 insertions(+), 457 deletions(-) create mode 100644 .github/workflows/testing-ui.yml rename .github/workflows/{e2e.yml => testing.yml} (57%) diff --git a/.github/workflows/development.yml b/.github/workflows/development.yml index 88e77c97..c189e412 100644 --- a/.github/workflows/development.yml +++ b/.github/workflows/development.yml @@ -5,6 +5,18 @@ on: types: [opened, synchronize, reopened] jobs: + tests: + strategy: + matrix: + python: ["3.10", "3.13"] + uses: ./.github/workflows/testing.yml + with: + python: ${{ matrix.python }} + args: -m "smoke or sanity" + + ui-tests: + uses: ./.github/workflows/testing-ui.yml + quality-checks: runs-on: ubuntu-latest strategy: @@ -114,82 +126,8 @@ jobs: - name: Run pre-commit checks run: npx husky run pre-commit - unit-tests: - runs-on: ubuntu-latest - strategy: - matrix: - python: ["3.10", "3.13"] - steps: - - uses: actions/checkout@v4 - - 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 unit tests - run: tox -e test-unit - - ui-unit-tests: - permissions: - contents: "read" - runs-on: ubuntu-latest - steps: - - name: Check out code - uses: actions/checkout@v4 - - - name: Set up Node.js 22 - uses: actions/setup-node@v4 - with: - node-version: '22' - - - name: Install dependencies - run: npm ci - - - name: Run unit tests - run: npm run test:unit - - integration-tests: - runs-on: ubuntu-latest - strategy: - matrix: - python: ["3.10", "3.13"] - steps: - - uses: actions/checkout@v4 - - 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 integration tests - run: tox -e test-integration -- -m smoke - - ui-integration-tests: - permissions: - contents: "read" - runs-on: ubuntu-latest - steps: - - name: Check out code - uses: actions/checkout@v4 - - - name: Set up Node.js 22 - uses: actions/setup-node@v4 - with: - node-version: '22' - - - name: Install dependencies - run: npm ci - - - name: Run integration tests - run: npm run test:integration - ui-pr-preview: - needs: [ui-quality-checks, ui-precommit-checks, ui-unit-tests, ui-integration-tests] + needs: [ui-quality-checks, ui-precommit-checks, ui-tests] permissions: contents: write pull-requests: write diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 5cc3788f..d30d2f9e 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -6,129 +6,20 @@ on: workflow_dispatch: # Enables manual triggering of the workflow jobs: - unit-tests: - runs-on: ubuntu-latest + tests: strategy: matrix: python: ["3.10", "3.13"] - steps: - - uses: actions/checkout@v4 - - 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 unit tests - run: tox -e test-unit - - ui-unit-tests: - permissions: - contents: "read" - runs-on: ubuntu-latest - steps: - - name: Check out code - uses: actions/checkout@v3 - - - name: Set up Node.js 22 - uses: actions/setup-node@v4 - with: - node-version: '22' - - - name: Install dependencies - run: npm ci - - - name: Run unit tests - run: npm run test:unit - - integration-tests: - runs-on: ubuntu-latest - strategy: - matrix: - python: ["3.10", "3.13"] - steps: - - uses: actions/checkout@v4 - - 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 integration tests - run: tox -e test-integration -- -m "smoke or sanity" - - ui-integration-tests: - permissions: - contents: "read" - runs-on: ubuntu-latest - steps: - - name: Check out code - uses: actions/checkout@v3 - - - name: Set up Node.js 22 - uses: actions/setup-node@v4 - with: - node-version: '22' - - - name: Install dependencies - run: npm ci - - - name: Run integration tests - run: npm run test:integration - - e2e-tests: - runs-on: ubuntu-latest - strategy: - matrix: - python: ["3.10", "3.13"] - steps: - - uses: actions/checkout@v4 - - 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 integration tests - run: tox -e test-e2e -- -m smoke - - ui-e2e-tests: - permissions: - contents: "read" - id-token: "write" - runs-on: ubuntu-latest - steps: - - name: Check out code - uses: actions/checkout@v3 - - - name: Set up Node.js 22 - uses: actions/setup-node@v4 - with: - node-version: '22' - - - name: Install dependencies - run: npm ci - - - name: Generate Build - run: | - npm run build - - - name: Start the Next.js app - run: | - npx serve@latest src/ui/out & - npx wait-on http://localhost:3000 # Wait until the app is ready + uses: ./.github/workflows/testing.yml + with: + python: ${{ matrix.python }} + args: -m "smoke or sanity" - - name: Run Cypress tests - run: npm run test:e2e --headless + ui-tests: + uses: ./.github/workflows/testing-ui.yml build-and-publish: - needs: [unit-tests, integration-tests, e2e-tests] + needs: [tests] runs-on: ubuntu-latest strategy: matrix: @@ -182,7 +73,7 @@ jobs: echo "Artifacts uploaded to: ${{ steps.artifact-upload.outputs.artifact-url }}" publish-ui-build: - needs: [ui-unit-tests, ui-integration-tests, ui-e2e-tests] + needs: [ui-tests] permissions: contents: write pull-requests: write @@ -236,7 +127,7 @@ jobs: publish_branch: gh-pages build-and-push-container: - needs: [unit-tests, integration-tests, e2e-tests] + needs: [tests] runs-on: ubuntu-latest steps: - name: Checkout diff --git a/.github/workflows/release-candidate.yml b/.github/workflows/release-candidate.yml index fb20f38e..ee250dde 100644 --- a/.github/workflows/release-candidate.yml +++ b/.github/workflows/release-candidate.yml @@ -6,129 +6,19 @@ on: - 'release/*' jobs: - unit-tests: - runs-on: ubuntu-latest - strategy: - matrix: - python: ["3.10", "3.11", "3.12", "3.13"] - steps: - - uses: actions/checkout@v4 - - 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 unit tests - run: tox -e test-unit - - ui-unit-tests: - permissions: - contents: "read" - runs-on: ubuntu-latest - steps: - - name: Check out code - uses: actions/checkout@v3 - - - name: Set up Node.js 22 - uses: actions/setup-node@v4 - with: - node-version: '22' - - - name: Install dependencies - run: npm ci - - - name: Run unit tests - run: npm run test:unit - - integration-tests: - runs-on: ubuntu-latest + tests: strategy: matrix: python: ["3.10", "3.11", "3.12", "3.13"] - steps: - - uses: actions/checkout@v4 - - 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 integration tests - run: tox -e test-integration - - ui-integration-tests: - permissions: - contents: "read" - runs-on: ubuntu-latest - steps: - - name: Check out code - uses: actions/checkout@v3 - - - name: Set up Node.js 22 - uses: actions/setup-node@v4 - with: - node-version: '22' - - - name: Install dependencies - run: npm ci - - - name: Run integration tests - run: npm run test:integration - - e2e-tests: - runs-on: ubuntu-latest - strategy: - matrix: - python: ["3.10", "3.11", "3.12", "3.13"] - steps: - - uses: actions/checkout@v4 - - 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 end-to-end tests - run: tox -e test-e2e - - ui-e2e-tests: - permissions: - contents: "read" - id-token: "write" - runs-on: ubuntu-latest - steps: - - name: Check out code - uses: actions/checkout@v3 - - - name: Set up Node.js 22 - uses: actions/setup-node@v4 - with: - node-version: '22' - - - name: Install dependencies - run: npm ci - - - name: Generate Build - run: | - npm run build - - - name: Start the Next.js app - run: | - npx serve@latest src/ui/out & - npx wait-on http://localhost:3000 # Wait until the app is ready + uses: ./.github/workflows/testing.yml + with: + python: ${{ matrix.python }} - - name: Run Cypress tests - run: npm run test:e2e --headless + ui-tests: + uses: ./.github/workflows/testing-ui.yml build-and-publish: - needs: [unit-tests, integration-tests, e2e-tests] + needs: [tests] runs-on: ubuntu-latest strategy: matrix: @@ -176,7 +66,7 @@ jobs: whl: $(find dist -name '*.tar.gz') publish-versioned-ui-build: - needs: [ui-unit-tests, ui-integration-tests, ui-e2e-tests] + needs: [ui-tests] permissions: contents: write runs-on: ubuntu-latest @@ -282,7 +172,7 @@ jobs: publish_branch: gh-pages build-and-push-container: - needs: [unit-tests, integration-tests, e2e-tests] + needs: tests runs-on: ubuntu-latest steps: - name: Checkout diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 99fd9a63..294ae488 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -6,6 +6,17 @@ on: - "v*.*.*" jobs: + tests: + strategy: + matrix: + python: ["3.10", "3.11", "3.12", "3.13"] + uses: ./.github/workflows/testing.yml + with: + python: ${{ matrix.python }} + + ui-tests: + uses: ./.github/workflows/testing-ui.yml + build-and-publish: runs-on: ubuntu-latest strategy: @@ -53,129 +64,9 @@ jobs: password: ${{ secrets.PYPI_PUBLIC_AUTH }} whl: $(find dist -name '*.tar.gz') - unit-tests: - runs-on: ubuntu-latest - strategy: - matrix: - python: ["3.10", "3.11", "3.12", "3.13"] - steps: - - uses: actions/checkout@v4 - - 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 unit tests - run: tox -e test-unit - - ui-unit-tests: - permissions: - contents: "read" - runs-on: ubuntu-latest - steps: - - name: Check out code - uses: actions/checkout@v3 - - - name: Set up Node.js 22 - uses: actions/setup-node@v4 - with: - node-version: '22' - - - name: Install dependencies - run: npm ci - - - name: Run unit tests - run: npm run test:unit - - integration-tests: - runs-on: ubuntu-latest - strategy: - matrix: - python: ["3.10", "3.11", "3.12", "3.13"] - steps: - - uses: actions/checkout@v4 - - 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 integration tests - run: tox -e test-integration - - ui-integration-tests: - permissions: - contents: "read" - runs-on: ubuntu-latest - steps: - - name: Check out code - uses: actions/checkout@v3 - - - name: Set up Node.js 22 - uses: actions/setup-node@v4 - with: - node-version: '22' - - - name: Install dependencies - run: npm ci - - - name: Run integration tests - run: npm run test:integration - - e2e-tests: - runs-on: ubuntu-latest - strategy: - matrix: - python: ["3.10", "3.11", "3.12", "3.13"] - steps: - - uses: actions/checkout@v4 - - 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 end-to-end tests - run: tox -e test-e2e - - ui-e2e-tests: - permissions: - contents: "read" - id-token: "write" - runs-on: ubuntu-latest - steps: - - name: Check out code - uses: actions/checkout@v3 - - - name: Set up Node.js 22 - uses: actions/setup-node@v4 - with: - node-version: '22' - - - name: Install dependencies - run: npm ci - - - name: Generate Build - run: | - npm run build - - - name: Start the Next.js app - run: | - npx serve@latest src/ui/out & - npx wait-on http://localhost:3000 # Wait until the app is ready - - - name: Run Cypress tests - run: npm run test:e2e --headless publish-versioned-ui-build: - needs: [ui-unit-tests, ui-integration-tests, ui-e2e-tests] + needs: [ui-tests] permissions: contents: write runs-on: ubuntu-latest @@ -281,7 +172,6 @@ jobs: publish_branch: gh-pages build-and-push-container: - needs: [unit-tests, integration-tests, e2e-tests] runs-on: ubuntu-latest steps: - name: Checkout diff --git a/.github/workflows/testing-ui.yml b/.github/workflows/testing-ui.yml new file mode 100644 index 00000000..29315564 --- /dev/null +++ b/.github/workflows/testing-ui.yml @@ -0,0 +1,72 @@ +name: UI Tests + +on: + workflow_call: + +jobs: + ui-unit-tests: + permissions: + contents: "read" + runs-on: ubuntu-latest + steps: + - name: Check out code + uses: actions/checkout@v3 + + - name: Set up Node.js 22 + uses: actions/setup-node@v4 + with: + node-version: '22' + + - name: Install dependencies + run: npm ci + + - name: Run unit tests + run: npm run test:unit + + ui-integration-tests: + permissions: + contents: "read" + runs-on: ubuntu-latest + steps: + - name: Check out code + uses: actions/checkout@v3 + + - name: Set up Node.js 22 + uses: actions/setup-node@v4 + with: + node-version: '22' + + - name: Install dependencies + run: npm ci + + - name: Run integration tests + run: npm run test:integration + + ui-e2e-tests: + permissions: + contents: "read" + id-token: "write" + runs-on: ubuntu-latest + steps: + - name: Check out code + uses: actions/checkout@v3 + + - name: Set up Node.js 22 + uses: actions/setup-node@v4 + with: + node-version: '22' + + - name: Install dependencies + run: npm ci + + - name: Generate Build + run: | + npm run build + + - name: Start the Next.js app + run: | + npx serve@latest src/ui/out & + npx wait-on http://localhost:3000 # Wait until the app is ready + + - name: Run Cypress tests + run: npm run test:e2e --headless diff --git a/.github/workflows/e2e.yml b/.github/workflows/testing.yml similarity index 57% rename from .github/workflows/e2e.yml rename to .github/workflows/testing.yml index 25df5bf5..cb7b0881 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/testing.yml @@ -1,25 +1,50 @@ -# This workflow builds a Docker artifact, caches it based on the Dockerfile content, -# and then runs e2e tests using that artifact. - -name: E2E Tests +name: Tests on: - push: - branches: - - main - pull_request: - branches: - - main - workflow_dispatch: + workflow_call: + inputs: + python: + required: true + type: string + args: + required: false + type: string jobs: - build-and-test: + unit-tests: runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: ${{ inputs.python }} + - name: Install dependencies + 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 -- ${{ inputs.args }} + integration-tests: + runs-on: ubuntu-latest steps: - - name: Check out repository - uses: actions/checkout@v4 + - uses: actions/checkout@v4 + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: ${{ inputs.python }} + - name: Install dependencies + 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 -- ${{ inputs.args }} + e2e-tests: + runs-on: ubuntu-latest + steps: + - 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. @@ -31,11 +56,9 @@ jobs: 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. @@ -45,7 +68,6 @@ jobs: 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 @@ -55,15 +77,13 @@ jobs: exit 1 fi shell: bash - - name: Set up Python uses: actions/setup-python@v5 with: - python-version: ${{ matrix.python }} + python-version: ${{ inputs.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 + - name: Run end-to-end tests + run: tox -e test-e2e -- ${{ inputs.args }} From 07a8b58041eb4ed2f233fd3f05f0b489c9e0660e Mon Sep 17 00:00:00 2001 From: Samuel Monson Date: Tue, 18 Nov 2025 18:52:21 -0500 Subject: [PATCH 04/12] Mark a few e2e tests as sanity Signed-off-by: Samuel Monson --- tests/e2e/test_successful_benchmark.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/e2e/test_successful_benchmark.py b/tests/e2e/test_successful_benchmark.py index 559a74ad..3642eaf4 100644 --- a/tests/e2e/test_successful_benchmark.py +++ b/tests/e2e/test_successful_benchmark.py @@ -36,6 +36,7 @@ def server(): @pytest.mark.timeout(30) +@pytest.mark.sanity def test_max_seconds_benchmark(server: VllmSimServer): """ Test that the max seconds constraint is properly triggered. @@ -78,6 +79,7 @@ def test_max_seconds_benchmark(server: VllmSimServer): @pytest.mark.timeout(30) +@pytest.mark.sanity def test_max_requests_benchmark(server: VllmSimServer): """ Test that the max requests constraint is properly triggered. From cff1debec38f740fb7421510e747d1b16e55aaac Mon Sep 17 00:00:00 2001 From: Samuel Monson Date: Wed, 19 Nov 2025 10:25:12 -0500 Subject: [PATCH 05/12] Consolidate main test jobs Signed-off-by: Samuel Monson --- .github/workflows/main.yml | 87 ++++++-------------------------------- 1 file changed, 12 insertions(+), 75 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 09631162..b10df48f 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -6,6 +6,17 @@ on: - main jobs: + tests: + strategy: + matrix: + python: ["3.10", "3.11", "3.12", "3.13"] + uses: ./.github/workflows/testing.yml + with: + python: ${{ matrix.python }} + + ui-tests: + uses: ./.github/workflows/testing-ui.yml + quality-checks: runs-on: ubuntu-latest strategy: @@ -115,82 +126,8 @@ jobs: - name: Run pre-commit checks run: npx husky run pre-commit - unit-tests: - runs-on: ubuntu-latest - strategy: - matrix: - python: ["3.10", "3.13"] - steps: - - uses: actions/checkout@v4 - - 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 unit tests - run: tox -e test-unit - - ui-unit-tests: - permissions: - contents: "read" - runs-on: ubuntu-latest - steps: - - name: Check out code - uses: actions/checkout@v3 - - - name: Set up Node.js 22 - uses: actions/setup-node@v4 - with: - node-version: '22' - - - name: Install dependencies - run: npm ci - - - name: Run unit tests - run: npm run test:unit - - integration-tests: - runs-on: ubuntu-latest - strategy: - matrix: - python: ["3.10", "3.13"] - steps: - - uses: actions/checkout@v4 - - 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 integration tests - run: tox -e test-integration -- -m smoke - - ui-integration-tests: - permissions: - contents: "read" - runs-on: ubuntu-latest - steps: - - name: Check out code - uses: actions/checkout@v3 - - - name: Set up Node.js 22 - uses: actions/setup-node@v4 - with: - node-version: '22' - - - name: Install dependencies - run: npm ci - - - name: Run integration tests - run: npm run test:integration - deploy-ui-build: - needs: [ui-quality-checks, ui-precommit-checks, ui-unit-tests, ui-type-checks, ui-integration-tests] + needs: [ui-quality-checks, ui-precommit-checks, ui-tests] permissions: contents: write runs-on: ubuntu-latest From 0fb948ac1d1d58591bb0729f42742761bde5b934 Mon Sep 17 00:00:00 2001 From: Samuel Monson Date: Wed, 19 Nov 2025 11:04:11 -0500 Subject: [PATCH 06/12] Consolidate quality jobs Signed-off-by: Samuel Monson --- .github/workflows/development.yml | 112 ++---------------------------- .github/workflows/main.yml | 112 ++---------------------------- .github/workflows/quality.yml | 55 +++++++++++++++ .github/workflows/ui-quality.yml | 62 +++++++++++++++++ 4 files changed, 131 insertions(+), 210 deletions(-) create mode 100644 .github/workflows/quality.yml create mode 100644 .github/workflows/ui-quality.yml diff --git a/.github/workflows/development.yml b/.github/workflows/development.yml index c189e412..4ab9c76e 100644 --- a/.github/workflows/development.yml +++ b/.github/workflows/development.yml @@ -17,117 +17,19 @@ jobs: ui-tests: uses: ./.github/workflows/testing-ui.yml - quality-checks: - runs-on: ubuntu-latest - strategy: - matrix: - python: ["3.10", "3.13"] - steps: - - uses: actions/checkout@v4 - - 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 quality checks - run: tox -e quality - - ui-quality-checks: - permissions: - contents: "read" - runs-on: ubuntu-latest - steps: - - name: Check out code - uses: actions/checkout@v4 - - - name: Set up Node.js 22 - uses: actions/setup-node@v4 - with: - node-version: '22' - - - name: Install dependencies - run: npm ci - - - name: Run quality and typing checks - run: npm run lint - - type-checks: - runs-on: ubuntu-latest + quality: strategy: matrix: python: ["3.10", "3.13"] - steps: - - uses: actions/checkout@v4 - - 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 quality checks - run: tox -e types - - ui-type-checks: - permissions: - contents: "read" - runs-on: ubuntu-latest - steps: - - name: Check out code - uses: actions/checkout@v4 - - - name: Set up Node.js 22 - uses: actions/setup-node@v4 - with: - node-version: '22' - - - name: Install dependencies - run: npm ci - - - name: Run quality and typing checks - run: npm run type-check - - precommit-checks: - runs-on: ubuntu-latest - strategy: - matrix: - python: ["3.10"] - steps: - - uses: actions/checkout@v4 - - name: Set up Python - uses: actions/setup-python@v5 - with: - python-version: ${{ matrix.python }} - - name: Install dependencies - run: pip install pre-commit - - name: Run pre-commit checks - run: SKIP=ruff-format pre-commit run --all-files - - ui-precommit-checks: - permissions: - contents: "read" - runs-on: ubuntu-latest - steps: - - name: Check out code - uses: actions/checkout@v4 - - - name: Set up Node.js 22 - uses: actions/setup-node@v4 - with: - node-version: '22' - - - name: Install dependencies - run: npm ci + uses: ./.github/workflows/quality.yml + with: + python: ${{ matrix.python }} - - name: Run pre-commit checks - run: npx husky run pre-commit + ui-quality: + uses: ./.github/workflows/ui-quality.yml ui-pr-preview: - needs: [ui-quality-checks, ui-precommit-checks, ui-tests] + needs: [ui-quality, ui-tests] permissions: contents: write pull-requests: write diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index b10df48f..5b616d11 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -17,117 +17,19 @@ jobs: ui-tests: uses: ./.github/workflows/testing-ui.yml - quality-checks: - runs-on: ubuntu-latest - strategy: - matrix: - python: ["3.10", "3.11", "3.12", "3.13"] - steps: - - uses: actions/checkout@v4 - - 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 quality checks - run: tox -e quality - - ui-quality-checks: - permissions: - contents: "read" - runs-on: ubuntu-latest - steps: - - name: Check out code - uses: actions/checkout@v3 - - - name: Set up Node.js 22 - uses: actions/setup-node@v4 - with: - node-version: '22' - - - name: Install dependencies - run: npm ci - - - name: Run quality and typing checks - run: npm run lint - - type-checks: - runs-on: ubuntu-latest + quality: strategy: matrix: python: ["3.10", "3.11", "3.12", "3.13"] - steps: - - uses: actions/checkout@v4 - - 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 quality checks - run: tox -e types - - ui-type-checks: - permissions: - contents: "read" - runs-on: ubuntu-latest - steps: - - name: Check out code - uses: actions/checkout@v3 - - - name: Set up Node.js 22 - uses: actions/setup-node@v4 - with: - node-version: '22' - - - name: Install dependencies - run: npm ci - - - name: Run quality and typing checks - run: npm run type-check - - precommit-checks: - runs-on: ubuntu-latest - strategy: - matrix: - python: ["3.10"] - steps: - - uses: actions/checkout@v4 - - name: Set up Python - uses: actions/setup-python@v5 - with: - python-version: ${{ matrix.python }} - - name: Install dependencies - run: pip install pre-commit - - name: Run pre-commit checks - run: SKIP=ruff-format pre-commit run --all-files - - ui-precommit-checks: - permissions: - contents: "read" - runs-on: ubuntu-latest - steps: - - name: Check out code - uses: actions/checkout@v3 - - - name: Set up Node.js 22 - uses: actions/setup-node@v4 - with: - node-version: '22' - - - name: Install dependencies - run: npm ci + uses: ./.github/workflows/quality.yml + with: + python: ${{ matrix.python }} - - name: Run pre-commit checks - run: npx husky run pre-commit + ui-quality: + uses: ./.github/workflows/ui-quality.yml deploy-ui-build: - needs: [ui-quality-checks, ui-precommit-checks, ui-tests] + needs: [ui-quality, ui-tests] permissions: contents: write runs-on: ubuntu-latest diff --git a/.github/workflows/quality.yml b/.github/workflows/quality.yml new file mode 100644 index 00000000..0db10e1b --- /dev/null +++ b/.github/workflows/quality.yml @@ -0,0 +1,55 @@ +name: Quality Checks + +on: + workflow_call: + inputs: + python: + required: true + type: string + +jobs: + quality-checks: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: ${{ inputs.python }} + - name: Install dependencies + run: | + curl -sSL https://pdm-project.org/install-pdm.py | python3 - + pip install tox tox-pdm + - name: Run quality checks + run: tox -e quality + + type-checks: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: ${{ inputs.python }} + - name: Install dependencies + run: | + curl -sSL https://pdm-project.org/install-pdm.py | python3 - + pip install tox tox-pdm + - name: Run quality checks + run: tox -e types + + precommit-checks: + runs-on: ubuntu-latest + strategy: + matrix: + python: ["3.10"] + steps: + - uses: actions/checkout@v4 + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python }} + - name: Install dependencies + run: pip install pre-commit + - name: Run pre-commit checks + run: SKIP=ruff-format pre-commit run --all-files diff --git a/.github/workflows/ui-quality.yml b/.github/workflows/ui-quality.yml new file mode 100644 index 00000000..be4a39dc --- /dev/null +++ b/.github/workflows/ui-quality.yml @@ -0,0 +1,62 @@ +name: UI Quality Checks + +on: + workflow_call: + +jobs: + ui-quality-checks: + permissions: + contents: "read" + runs-on: ubuntu-latest + steps: + - name: Check out code + uses: actions/checkout@v4 + + - name: Set up Node.js 22 + uses: actions/setup-node@v4 + with: + node-version: '22' + + - name: Install dependencies + run: npm ci + + - name: Run quality and typing checks + run: npm run lint + + ui-type-checks: + permissions: + contents: "read" + runs-on: ubuntu-latest + steps: + - name: Check out code + uses: actions/checkout@v4 + + - name: Set up Node.js 22 + uses: actions/setup-node@v4 + with: + node-version: '22' + + - name: Install dependencies + run: npm ci + + - name: Run quality and typing checks + run: npm run type-check + + ui-precommit-checks: + permissions: + contents: "read" + runs-on: ubuntu-latest + steps: + - name: Check out code + uses: actions/checkout@v4 + + - name: Set up Node.js 22 + uses: actions/setup-node@v4 + with: + node-version: '22' + + - name: Install dependencies + run: npm ci + + - name: Run pre-commit checks + run: npx husky run pre-commit From 0b8f89c1eeda29ea66c758b66309ff4734134423 Mon Sep 17 00:00:00 2001 From: Samuel Monson Date: Wed, 19 Nov 2025 11:09:09 -0500 Subject: [PATCH 07/12] testing-ui -> ui-testing Signed-off-by: Samuel Monson --- .github/workflows/development.yml | 2 +- .github/workflows/main.yml | 2 +- .github/workflows/nightly.yml | 2 +- .github/workflows/release-candidate.yml | 2 +- .github/workflows/release.yml | 2 +- .github/workflows/{testing-ui.yml => ui-testing.yml} | 0 6 files changed, 5 insertions(+), 5 deletions(-) rename .github/workflows/{testing-ui.yml => ui-testing.yml} (100%) diff --git a/.github/workflows/development.yml b/.github/workflows/development.yml index 4ab9c76e..23c7ad1f 100644 --- a/.github/workflows/development.yml +++ b/.github/workflows/development.yml @@ -15,7 +15,7 @@ jobs: args: -m "smoke or sanity" ui-tests: - uses: ./.github/workflows/testing-ui.yml + uses: ./.github/workflows/ui-testing.yml quality: strategy: diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 5b616d11..aa4e4420 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -15,7 +15,7 @@ jobs: python: ${{ matrix.python }} ui-tests: - uses: ./.github/workflows/testing-ui.yml + uses: ./.github/workflows/ui-testing.yml quality: strategy: diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index d30d2f9e..23f663af 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -16,7 +16,7 @@ jobs: args: -m "smoke or sanity" ui-tests: - uses: ./.github/workflows/testing-ui.yml + uses: ./.github/workflows/ui-testing.yml build-and-publish: needs: [tests] diff --git a/.github/workflows/release-candidate.yml b/.github/workflows/release-candidate.yml index ee250dde..0454eb50 100644 --- a/.github/workflows/release-candidate.yml +++ b/.github/workflows/release-candidate.yml @@ -15,7 +15,7 @@ jobs: python: ${{ matrix.python }} ui-tests: - uses: ./.github/workflows/testing-ui.yml + uses: ./.github/workflows/ui-testing.yml build-and-publish: needs: [tests] diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 294ae488..b81cba84 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -15,7 +15,7 @@ jobs: python: ${{ matrix.python }} ui-tests: - uses: ./.github/workflows/testing-ui.yml + uses: ./.github/workflows/ui-testing.yml build-and-publish: runs-on: ubuntu-latest diff --git a/.github/workflows/testing-ui.yml b/.github/workflows/ui-testing.yml similarity index 100% rename from .github/workflows/testing-ui.yml rename to .github/workflows/ui-testing.yml From e28512caeb37ac28a5b4cd41bc6506eb9dfbe77d Mon Sep 17 00:00:00 2001 From: Samuel Monson Date: Wed, 19 Nov 2025 14:18:07 -0500 Subject: [PATCH 08/12] Move tox run to custom action Signed-off-by: Samuel Monson --- .github/actions/run-tox/action.yml | 28 +++++++++++++++++++++++ .github/workflows/quality.yml | 27 ++++++---------------- .github/workflows/testing.yml | 36 ++++++++++-------------------- 3 files changed, 47 insertions(+), 44 deletions(-) create mode 100644 .github/actions/run-tox/action.yml diff --git a/.github/actions/run-tox/action.yml b/.github/actions/run-tox/action.yml new file mode 100644 index 00000000..557c65b4 --- /dev/null +++ b/.github/actions/run-tox/action.yml @@ -0,0 +1,28 @@ +name: 'Run tox with environment' +description: 'Runs tox with pdm as the package manager' +inputs: + python-version: + type: string + required: true + tox-env: + type: string + required: true + tox-args: + type: string + required: false +runs: + using: "composite" + steps: + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: ${{ inputs.python-version }} + - name: Install dependencies + run: | + curl -sSL https://pdm-project.org/install-pdm.py | python3 - + pip install tox tox-pdm + shell: bash + - name: Run tox + run: | + tox run -e "${{ inputs.tox-env }}" -- ${{ inputs.tox-args }} + shell: bash diff --git a/.github/workflows/quality.yml b/.github/workflows/quality.yml index 0db10e1b..4bc055a6 100644 --- a/.github/workflows/quality.yml +++ b/.github/workflows/quality.yml @@ -12,43 +12,30 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - name: Set up Python - uses: actions/setup-python@v5 + - name: Run quality checks + uses: ./.github/actions/run-tox with: python-version: ${{ inputs.python }} - - name: Install dependencies - run: | - curl -sSL https://pdm-project.org/install-pdm.py | python3 - - pip install tox tox-pdm - - name: Run quality checks - run: tox -e quality + tox-env: quality type-checks: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - name: Set up Python - uses: actions/setup-python@v5 + - name: Run type checks + uses: ./.github/actions/run-tox with: python-version: ${{ inputs.python }} - - name: Install dependencies - run: | - curl -sSL https://pdm-project.org/install-pdm.py | python3 - - pip install tox tox-pdm - - name: Run quality checks - run: tox -e types + tox-env: types precommit-checks: runs-on: ubuntu-latest - strategy: - matrix: - python: ["3.10"] steps: - uses: actions/checkout@v4 - name: Set up Python uses: actions/setup-python@v5 with: - python-version: ${{ matrix.python }} + python-version: ${{ inputs.python }} - name: Install dependencies run: pip install pre-commit - name: Run pre-commit checks diff --git a/.github/workflows/testing.yml b/.github/workflows/testing.yml index cb7b0881..7640950b 100644 --- a/.github/workflows/testing.yml +++ b/.github/workflows/testing.yml @@ -15,31 +15,23 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - name: Set up Python - uses: actions/setup-python@v5 + - name: Run unit tests + uses: ./.github/actions/run-tox with: python-version: ${{ inputs.python }} - - name: Install dependencies - 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 -- ${{ inputs.args }} + tox-env: test-unit + tox-args: ${{ inputs.args }} integration-tests: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - name: Set up Python - uses: actions/setup-python@v5 + - name: Run integration tests + uses: ./.github/actions/run-tox with: python-version: ${{ inputs.python }} - - name: Install dependencies - 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 -- ${{ inputs.args }} + tox-env: test-integration + tox-args: ${{ inputs.args }} e2e-tests: runs-on: ubuntu-latest @@ -77,13 +69,9 @@ jobs: exit 1 fi shell: bash - - name: Set up Python - uses: actions/setup-python@v5 + - name: Run end-to-end tests + uses: ./.github/actions/run-tox with: python-version: ${{ inputs.python }} - - name: Install dependencies - 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 -- ${{ inputs.args }} + tox-env: test-e2e + tox-args: ${{ inputs.args }} From dc845e8794b757d9129e56b3fd85d0f686170c8e Mon Sep 17 00:00:00 2001 From: Samuel Monson Date: Wed, 19 Nov 2025 14:25:44 -0500 Subject: [PATCH 09/12] Use PDM python installer action Signed-off-by: Samuel Monson --- .github/actions/run-tox/action.yml | 5 ++--- .github/workflows/nightly.yml | 5 +++-- .github/workflows/release-candidate.yml | 3 +-- .github/workflows/release.yml | 3 +-- 4 files changed, 7 insertions(+), 9 deletions(-) diff --git a/.github/actions/run-tox/action.yml b/.github/actions/run-tox/action.yml index 557c65b4..0862e91e 100644 --- a/.github/actions/run-tox/action.yml +++ b/.github/actions/run-tox/action.yml @@ -13,13 +13,12 @@ inputs: runs: using: "composite" steps: - - name: Set up Python - uses: actions/setup-python@v5 + - name: Setup Python with PDM + uses: pdm-project/setup-pdm@v4 with: python-version: ${{ inputs.python-version }} - name: Install dependencies run: | - curl -sSL https://pdm-project.org/install-pdm.py | python3 - pip install tox tox-pdm shell: bash - name: Run tox diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 23f663af..d9526f06 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -30,11 +30,12 @@ jobs: with: fetch-depth: 0 - name: Set up Python - uses: actions/setup-python@v5 + uses: pdm-project/setup-pdm@v4 with: python-version: ${{ matrix.python }} - name: Install dependencies - run: pip install tox tox-pdm + run: | + pip install tox tox-pdm - name: Build the package run: | export GUIDELLM_BUILD_TYPE=nightly diff --git a/.github/workflows/release-candidate.yml b/.github/workflows/release-candidate.yml index 0454eb50..a5db5678 100644 --- a/.github/workflows/release-candidate.yml +++ b/.github/workflows/release-candidate.yml @@ -29,12 +29,11 @@ jobs: with: fetch-depth: 0 - name: Set up Python - uses: actions/setup-python@v5 + uses: pdm-project/setup-pdm@v4 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: Build the package run: | diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index b81cba84..bf2f9a37 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -28,12 +28,11 @@ jobs: with: fetch-depth: 0 - name: Set up Python - uses: actions/setup-python@v5 + uses: pdm-project/setup-pdm@v4 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: Build the package run: | From 52a11ed6e10be9b9c3e6c9fcd2d4d269a1f89616 Mon Sep 17 00:00:00 2001 From: Samuel Monson Date: Fri, 21 Nov 2025 12:28:55 -0500 Subject: [PATCH 10/12] Run full test suite on PRs Signed-off-by: Samuel Monson --- .github/workflows/development.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/development.yml b/.github/workflows/development.yml index 23c7ad1f..935ee2ec 100644 --- a/.github/workflows/development.yml +++ b/.github/workflows/development.yml @@ -12,7 +12,6 @@ jobs: uses: ./.github/workflows/testing.yml with: python: ${{ matrix.python }} - args: -m "smoke or sanity" ui-tests: uses: ./.github/workflows/ui-testing.yml From ff4e64d8d15409d6ae759e369031312a6b16bf6e Mon Sep 17 00:00:00 2001 From: Samuel Monson Date: Fri, 21 Nov 2025 12:33:09 -0500 Subject: [PATCH 11/12] Reduce tests run in main to smoke and only run PR checks on oldest version Signed-off-by: Samuel Monson --- .github/workflows/development.yml | 4 ++-- .github/workflows/main.yml | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/development.yml b/.github/workflows/development.yml index 935ee2ec..13b5c002 100644 --- a/.github/workflows/development.yml +++ b/.github/workflows/development.yml @@ -8,7 +8,7 @@ jobs: tests: strategy: matrix: - python: ["3.10", "3.13"] + python: ["3.10"] uses: ./.github/workflows/testing.yml with: python: ${{ matrix.python }} @@ -19,7 +19,7 @@ jobs: quality: strategy: matrix: - python: ["3.10", "3.13"] + python: ["3.10"] uses: ./.github/workflows/quality.yml with: python: ${{ matrix.python }} diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index aa4e4420..d0fc5efc 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -13,6 +13,7 @@ jobs: uses: ./.github/workflows/testing.yml with: python: ${{ matrix.python }} + args: -m "smoke" ui-tests: uses: ./.github/workflows/ui-testing.yml From ee1977f16fc40842e8e8761828eb909f43fb5016 Mon Sep 17 00:00:00 2001 From: Samuel Monson Date: Fri, 21 Nov 2025 13:47:57 -0500 Subject: [PATCH 12/12] Ignore errno 5 for tox/pytest Signed-off-by: Samuel Monson --- .github/actions/run-tox/action.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/actions/run-tox/action.yml b/.github/actions/run-tox/action.yml index 0862e91e..98d2f39c 100644 --- a/.github/actions/run-tox/action.yml +++ b/.github/actions/run-tox/action.yml @@ -24,4 +24,6 @@ runs: - name: Run tox run: | tox run -e "${{ inputs.tox-env }}" -- ${{ inputs.tox-args }} + # errno 5 means all tests were filtered out, ignore + ret=$? && [[ $ret -eq 5 ]] && exit 0; exit $ret shell: bash