Skip to content

Commit af46aa3

Browse files
authored
Update unit-tests.yml
1 parent 22ba70b commit af46aa3

File tree

1 file changed

+27
-28
lines changed

1 file changed

+27
-28
lines changed

.github/workflows/unit-tests.yml

Lines changed: 27 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,59 +1,58 @@
1-
name: Unit tests
1+
name: toolkit-unit-tests
22

33
on:
44
push:
55
branches:
66
- main
7+
paths-ignore:
8+
- '**.md'
79
pull_request:
8-
branches:
9-
- main
10-
11-
permissions:
12-
contents: read # Только чтение содержимого репозитория
13-
checks: write # Необходимо для отправки результатов тестов в GitHub Checks
10+
paths-ignore:
11+
- '**.md'
1412

1513
jobs:
16-
test:
17-
runs-on: ubuntu-latest
14+
build:
15+
name: Build and Test
16+
strategy:
17+
matrix:
18+
runs-on: [ubuntu-latest, macos-latest, windows-latest]
19+
python-version: ['3.9', '3.10', '3.11'] # Матрица версий Python
20+
fail-fast: false
21+
runs-on: ${{ matrix.runs-on }}
1822

1923
steps:
20-
- name: Checkout code
24+
- name: Checkout
2125
uses: actions/checkout@v3
2226

23-
- name: Set up Python
27+
- name: Set up Python ${{ matrix.python-version }}
2428
uses: actions/setup-python@v4
2529
with:
26-
python-version: '3.9'
30+
python-version: ${{ matrix.python-version }}
2731

2832
- name: Install dependencies
2933
run: |
3034
python -m pip install --upgrade pip
3135
if [ -f "requirements.txt" ]; then
32-
echo "Installing dependencies from requirements.txt..."
33-
pip install -r requirements.txt || { echo "Dependency installation failed!"; exit 1; }
36+
pip install -r requirements.txt
3437
else
3538
echo "requirements.txt not found! Skipping dependency installation."
3639
fi
3740
38-
- name: Validate installed packages
41+
- name: Lint with flake8
3942
run: |
40-
echo "Validating installed packages..."
41-
pip list
42-
if ! pip show flask; then
43-
echo "Flask is not installed!"
44-
exit 1
43+
if [ -f "setup.cfg" ] || [ -f ".flake8" ]; then
44+
pip install flake8
45+
flake8 .
46+
else
47+
echo "No lint configuration found! Skipping linting."
4548
fi
4649
4750
- name: Run unit tests
4851
run: |
49-
pytest --junitxml=test-results.xml || true
50-
id: run-tests
51-
52-
- name: Check test results
53-
if: steps.run-tests.outcome == 'failure'
54-
run: |
55-
echo "Tests failed! Review the logs for details."
56-
exit 1 # Завершить пайплайн с ошибкой, если тесты не прошли
52+
pip install pytest
53+
pytest --junitxml=test-results.xml
54+
env:
55+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Для доступа к секретам, если нужны
5756

5857
- name: Upload test results
5958
if: always() # Выполнить этот шаг всегда, независимо от успеха предыдущих шагов

0 commit comments

Comments
 (0)