CI: (dev)Extract Windows and MacOS tests to separate job (#1715)
<!-- .github/pull_request_template.md --> ## Description Reduces the amount of macOS and Windows jobs by running these tests only for the latest python version in the list. `different-os-tests-basic` runs tests on ubuntu and python `'["3.10.x", "3.11.x", "3.12.x", "3.13.x"]'` `different-os-tests-extended` runs windows and macOS tests for python `3.13.x`. <img width="255" height="385" alt="Screenshot 2025-10-31 at 12 36 11" src="https://github.com/user-attachments/assets/73813d69-70a1-40a6-8197-b323ddc7d365" /> <!-- Please provide a clear, human-generated description of the changes in this PR. DO NOT use AI-generated descriptions. We want to understand your thought process and reasoning. --> ## Type of Change <!-- Please check the relevant option --> - [ ] Bug fix (non-breaking change that fixes an issue) - [ ] New feature (non-breaking change that adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to change) - [ ] Documentation update - [ ] Code refactoring - [ ] Performance improvement - [ ] Other (please specify): ## Screenshots/Videos (if applicable) <!-- Add screenshots or videos to help explain your changes --> ## Pre-submission Checklist <!-- Please check all boxes that apply before submitting your PR --> - [ ] **I have tested my changes thoroughly before submitting this PR** - [ ] **This PR contains minimal changes necessary to address the issue/feature** - [ ] My code follows the project's coding standards and style guidelines - [ ] I have added tests that prove my fix is effective or that my feature works - [ ] I have added necessary documentation (if applicable) - [ ] All new and existing tests pass - [ ] I have searched existing PRs to ensure this change hasn't been submitted already - [ ] I have linked any relevant issues in the description - [ ] My commits have clear and descriptive messages ## DCO Affirmation I affirm that all code in every commit of this pull request conforms to the terms of the Topoteretes Developer Certificate of Origin.
This commit is contained in:
commit
8d7c4d5384
2 changed files with 30 additions and 11 deletions
|
|
@ -10,6 +10,10 @@ on:
|
||||||
required: false
|
required: false
|
||||||
type: string
|
type: string
|
||||||
default: '["3.10.x", "3.12.x", "3.13.x"]'
|
default: '["3.10.x", "3.12.x", "3.13.x"]'
|
||||||
|
os:
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
default: '["ubuntu-22.04", "macos-15", "windows-latest"]'
|
||||||
secrets:
|
secrets:
|
||||||
LLM_PROVIDER:
|
LLM_PROVIDER:
|
||||||
required: true
|
required: true
|
||||||
|
|
@ -43,7 +47,7 @@ jobs:
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
python-version: ${{ fromJSON(inputs.python-versions) }}
|
python-version: ${{ fromJSON(inputs.python-versions) }}
|
||||||
os: [ubuntu-22.04, macos-15, windows-latest]
|
os: ${{ fromJSON(inputs.os) }}
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
steps:
|
steps:
|
||||||
- name: Check out
|
- name: Check out
|
||||||
|
|
@ -79,7 +83,7 @@ jobs:
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
python-version: ${{ fromJSON(inputs.python-versions) }}
|
python-version: ${{ fromJSON(inputs.python-versions) }}
|
||||||
os: [ ubuntu-22.04, macos-15, windows-latest ]
|
os: ${{ fromJSON(inputs.os) }}
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
steps:
|
steps:
|
||||||
- name: Check out
|
- name: Check out
|
||||||
|
|
@ -115,7 +119,7 @@ jobs:
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
python-version: ${{ fromJSON(inputs.python-versions) }}
|
python-version: ${{ fromJSON(inputs.python-versions) }}
|
||||||
os: [ ubuntu-22.04, macos-15, windows-latest ]
|
os: ${{ fromJSON(inputs.os) }}
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
steps:
|
steps:
|
||||||
- name: Check out
|
- name: Check out
|
||||||
|
|
@ -151,7 +155,7 @@ jobs:
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
python-version: ${{ fromJSON(inputs.python-versions) }}
|
python-version: ${{ fromJSON(inputs.python-versions) }}
|
||||||
os: [ ubuntu-22.04, macos-15, windows-latest ]
|
os: ${{ fromJSON(inputs.os) }}
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
steps:
|
steps:
|
||||||
- name: Check out
|
- name: Check out
|
||||||
|
|
@ -180,7 +184,7 @@ jobs:
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
python-version: ${{ fromJSON(inputs.python-versions) }}
|
python-version: ${{ fromJSON(inputs.python-versions) }}
|
||||||
os: [ ubuntu-22.04, macos-15, windows-latest ]
|
os: ${{ fromJSON(inputs.os) }}
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
steps:
|
steps:
|
||||||
- name: Check out
|
- name: Check out
|
||||||
|
|
@ -217,7 +221,7 @@ jobs:
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
python-version: ${{ fromJSON(inputs.python-versions) }}
|
python-version: ${{ fromJSON(inputs.python-versions) }}
|
||||||
os: [ ubuntu-22.04, macos-15, windows-latest ]
|
os: ${{ fromJSON(inputs.os) }}
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
steps:
|
steps:
|
||||||
- name: Check out
|
- name: Check out
|
||||||
|
|
|
||||||
25
.github/workflows/test_suites.yml
vendored
25
.github/workflows/test_suites.yml
vendored
|
|
@ -1,4 +1,6 @@
|
||||||
name: Test Suites
|
name: Test Suites
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
|
|
@ -80,12 +82,22 @@ jobs:
|
||||||
uses: ./.github/workflows/notebooks_tests.yml
|
uses: ./.github/workflows/notebooks_tests.yml
|
||||||
secrets: inherit
|
secrets: inherit
|
||||||
|
|
||||||
different-operating-systems-tests:
|
different-os-tests-basic:
|
||||||
name: Operating System and Python Tests
|
name: OS and Python Tests Ubuntu
|
||||||
needs: [basic-tests, e2e-tests]
|
needs: [basic-tests, e2e-tests]
|
||||||
uses: ./.github/workflows/test_different_operating_systems.yml
|
uses: ./.github/workflows/test_different_operating_systems.yml
|
||||||
with:
|
with:
|
||||||
python-versions: '["3.10.x", "3.11.x", "3.12.x", "3.13.x"]'
|
python-versions: '["3.10.x", "3.11.x", "3.12.x", "3.13.x"]'
|
||||||
|
os: '["ubuntu-22.04"]'
|
||||||
|
secrets: inherit
|
||||||
|
|
||||||
|
different-os-tests-extended:
|
||||||
|
name: OS and Python Tests Extended
|
||||||
|
needs: [basic-tests, e2e-tests]
|
||||||
|
uses: ./.github/workflows/test_different_operating_systems.yml
|
||||||
|
with:
|
||||||
|
python-versions: '["3.13.x"]'
|
||||||
|
os: '["macos-15", "windows-latest"]'
|
||||||
secrets: inherit
|
secrets: inherit
|
||||||
|
|
||||||
# Matrix-based vector database tests
|
# Matrix-based vector database tests
|
||||||
|
|
@ -135,7 +147,8 @@ jobs:
|
||||||
e2e-tests,
|
e2e-tests,
|
||||||
graph-db-tests,
|
graph-db-tests,
|
||||||
notebook-tests,
|
notebook-tests,
|
||||||
different-operating-systems-tests,
|
different-os-tests-basic,
|
||||||
|
different-os-tests-extended,
|
||||||
vector-db-tests,
|
vector-db-tests,
|
||||||
example-tests,
|
example-tests,
|
||||||
llm-tests,
|
llm-tests,
|
||||||
|
|
@ -155,7 +168,8 @@ jobs:
|
||||||
cli-tests,
|
cli-tests,
|
||||||
graph-db-tests,
|
graph-db-tests,
|
||||||
notebook-tests,
|
notebook-tests,
|
||||||
different-operating-systems-tests,
|
different-os-tests-basic,
|
||||||
|
different-os-tests-extended,
|
||||||
vector-db-tests,
|
vector-db-tests,
|
||||||
example-tests,
|
example-tests,
|
||||||
db-examples-tests,
|
db-examples-tests,
|
||||||
|
|
@ -176,7 +190,8 @@ jobs:
|
||||||
"${{ needs.cli-tests.result }}" == "success" &&
|
"${{ needs.cli-tests.result }}" == "success" &&
|
||||||
"${{ needs.graph-db-tests.result }}" == "success" &&
|
"${{ needs.graph-db-tests.result }}" == "success" &&
|
||||||
"${{ needs.notebook-tests.result }}" == "success" &&
|
"${{ needs.notebook-tests.result }}" == "success" &&
|
||||||
"${{ needs.different-operating-systems-tests.result }}" == "success" &&
|
"${{ needs.different-os-tests-basic.result }}" == "success" &&
|
||||||
|
"${{ needs.different-os-tests-extended.result }}" == "success" &&
|
||||||
"${{ needs.vector-db-tests.result }}" == "success" &&
|
"${{ needs.vector-db-tests.result }}" == "success" &&
|
||||||
"${{ needs.example-tests.result }}" == "success" &&
|
"${{ needs.example-tests.result }}" == "success" &&
|
||||||
"${{ needs.db-examples-tests.result }}" == "success" &&
|
"${{ needs.db-examples-tests.result }}" == "success" &&
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue