123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192 |
- name: Partial Tests Workflow
- on:
- push:
- branches: [ develop, dev/*, release/* ]
- pull_request:
- branches: [ develop, dev/*, release/* ]
- jobs:
- linter:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v4
- - uses: ricardochaves/python-lint@v1.4.0
- with:
- use-black: false
- use-flake8: false
- use-isort: false
- use-pycodestyle: false
- use-pylint: false
- use-mypy: false # TODO: re-enable mypy
- extra-mypy-options: "--ignore-missing-imports --implicit-optional --no-namespace-packages --exclude (taipy/templates/|generate_pyi.py|tools) --follow-imports skip"
- - uses: chartboost/ruff-action@v1
- tests:
- needs: linter
- timeout-minutes: 40
- strategy:
- fail-fast: false
- matrix:
- python-version: ['3.8', '3.9', '3.10', '3.11']
- os: [ubuntu-latest, windows-latest, macos-latest]
- runs-on: ${{ matrix.os }}
- steps:
- - uses: actions/checkout@v4
- - uses: dorny/paths-filter@v2
- id: changes
- with:
- filters: |
- cli:
- - 'taipy/_cli/**'
- config:
- - 'taipy/config/**'
- core:
- - 'taipy/core/**'
- gui:
- - 'taipy/gui/**'
- gui-core:
- - 'taipy/gui_core/**'
- logger:
- - 'taipy/logger/**'
- rest:
- - 'taipy/rest/**'
- templates:
- - 'taipy/templates/**'
- - uses: actions/setup-python@v5
- with:
- python-version: ${{matrix.python-version}}
- - name: Install pipenv
- run: curl https://raw.githubusercontent.com/pypa/pipenv/master/get-pipenv.py | python
- - name: Install Dependencies
- run: pipenv install --dev --python=${{ matrix.python-version }}
- - name: Setup LibMagic (MacOS)
- if: matrix.os == 'macos-latest'
- run: brew install libmagic
- - uses: actions/setup-node@v4
- with:
- node-version: 20
- - name: Frontend Bundle Build
- if: steps.changes.outputs.gui == 'true' || steps.changes.outputs.gui-core == 'true'
- run: pipenv run python tools/frontend/bundle_build.py
- - name: Install Playwright
- if: steps.changes.outputs.gui == 'true' || steps.changes.outputs.gui-core == 'true'
- run: pipenv run playwright install chromium --with-deps
- - name: Pytest CLI
- if: steps.changes.outputs.cli == 'true'
- run: pipenv run pytest tests/cli
- - name: Pytest Config
- if: steps.changes.outputs.config == 'true'
- run: pipenv run pytest tests/config
- - name: Pytest Core
- if: steps.changes.outputs.core == 'true'
- run: pipenv run pytest -m "not orchestrator_dispatcher and not standalone" tests/core
- - name: Pytest GUI
- if: steps.changes.outputs.gui == 'true'
- run: pipenv run pytest tests/gui
- - name: Pytest GUI Core
- if: steps.changes.outputs.gui-core == 'true'
- run: pipenv run pytest tests/gui_core
- - name: Pytest Logger
- if: steps.changes.outputs.logger == 'true'
- run: pipenv run pytest tests/logger
- - name: Pytest Rest
- if: steps.changes.outputs.rest == 'true'
- run: pipenv run pytest tests/rest
- - name: Pytest Templates
- if: steps.changes.outputs.templates == 'true'
- run: pipenv run pytest tests/templates
- submit_tests:
- needs: linter
- timeout-minutes: 20
- strategy:
- fail-fast: false
- matrix:
- python-version: ['3.8', '3.9', '3.10', '3.11']
- os: [ubuntu-latest, windows-latest, macos-latest]
- runs-on: ${{ matrix.os }}
- steps:
- - uses: actions/checkout@v4
- - uses: dorny/paths-filter@v2
- id: changes
- with:
- filters: |
- core:
- - 'taipy/core/**'
- - uses: actions/setup-python@v5
- with:
- python-version: ${{matrix.python-version}}
- - name: Install pipenv
- if: steps.changes.outputs.core == 'true'
- run: curl https://raw.githubusercontent.com/pypa/pipenv/master/get-pipenv.py | python
- - name: Install Dependencies
- if: steps.changes.outputs.core == 'true'
- run: pipenv install --dev --python=${{ matrix.python-version }}
- - name: Setup LibMagic (MacOS)
- if: matrix.os == 'macos-latest' && steps.changes.outputs.core == 'true'
- run: brew install libmagic
- - name: Pytest Core orchestrator_dispatcher
- if: steps.changes.outputs.core == 'true'
- run: pipenv run pytest -m "orchestrator_dispatcher" tests/core
- standalone_tests:
- needs: linter
- timeout-minutes: 20
- strategy:
- fail-fast: false
- matrix:
- python-version: ['3.8', '3.9', '3.10', '3.11']
- os: [ubuntu-latest, windows-latest, macos-latest]
- runs-on: ${{ matrix.os }}
- steps:
- - uses: actions/checkout@v4
- - uses: dorny/paths-filter@v2
- id: changes
- with:
- filters: |
- core:
- - 'taipy/core/**'
- - uses: actions/setup-python@v5
- with:
- python-version: ${{matrix.python-version}}
- - name: Install pipenv
- if: steps.changes.outputs.core == 'true'
- run: curl https://raw.githubusercontent.com/pypa/pipenv/master/get-pipenv.py | python
- - name: Install Dependencies
- if: steps.changes.outputs.core == 'true'
- run: pipenv install --dev --python=${{ matrix.python-version }}
- - name: Setup LibMagic (MacOS)
- if: matrix.os == 'macos-latest' && steps.changes.outputs.core == 'true'
- run: brew install libmagic
- - name: Pytest Core standalone
- if: steps.changes.outputs.core == 'true'
- run: pipenv run pytest -m "standalone" tests/core
|