diff --git a/.github/workflows/integration_tests.yml b/.github/workflows/integration_tests.yml index a04572a0b..422dbc2b2 100644 --- a/.github/workflows/integration_tests.yml +++ b/.github/workflows/integration_tests.yml @@ -1,33 +1,48 @@ -name: Integration Tests +name: Unit Tests on: + push: + branches: [ main ] + pull_request: + branches: [ main ] workflow_dispatch: jobs: - build: + test: runs-on: ubuntu-latest - timeout-minutes: 95 + timeout-minutes: 30 strategy: matrix: - python-version: [ 3.9 ] + python-version: [3.8, 3.9, '3.10'] steps: + - uses: actions/checkout@v2 - - name: Checkout branch - uses: actions/checkout@v3 - - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v3 + - uses: actions/setup-python@v2 with: python-version: ${{ matrix.python-version }} + - name: Cache Poetry virtualenv + uses: actions/cache@v2 + with: + path: ~/.local/share/poetry/virtualenvs/ # Cache Poetry virtualenvs + key: ${{ runner.os }}-poetry-${{ hashFiles('pyproject.toml') }} # Cache key based on project dependencies + + - name: Install Poetry + uses: snok/install-poetry@v1 + with: + version: 1.8.2 # Specify your desired Poetry version (pin it for stability) + virtualenvs-create: true + virtualenvs-in-project: true # Create venv within project directory + - name: Install dependencies - run: | - python -m pip install --upgrade pip - pip install pytest - pip install -r requirements.txt - pip install pytest-cov - - - name: Test with pytest - run: | - pytest --cov=fedot -s tests/integration \ No newline at end of file + run: poetry install + + - name: Run tests with pytest + run: poetry run pytest --cov=fedot -s tests/integration + + - name: Codecov-coverage + uses: codecov/codecov-action@v3 + with: + file: ./coverage.xml + flags: unittests