1- name : Unit Tests on windows
1+ name : Unit Tests on Windows
22
33on :
44 pull_request :
5- branches : [ main ]
5+ branches :
6+ - main
7+ - " [0-9]+\\ .[0-9]+\\ .[0-9]+"
8+
9+ concurrency :
10+ group : ${{ github.workflow }}-${{ github.ref }}
11+ cancel-in-progress : true
12+
613
714jobs :
815 test :
916 runs-on : windows-latest
1017
1118 strategy :
1219 matrix :
13- python-version : [ "3.11" ]
20+ python-version : ["3.11"]
1421
1522 steps :
1623 - name : 📥 Checkout code
17- uses : actions/checkout@v3
24+ uses : actions/checkout@v4
1825
1926 - name : 🐍 Set up Python ${{ matrix.python-version }}
20- uses : actions/setup-python@v4
27+ uses : actions/setup-python@v5
2128 with :
2229 python-version : ${{ matrix.python-version }}
2330
24- - name : Install Poetry
31+ - name : 📦 Install Poetry
2532 run : |
2633 (Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | python -
2734
28- - name : Add Poetry to PATH
35+ - name : 📦 Add Poetry to PATH
2936 run : |
3037 echo "$env:APPDATA\Python\Scripts" | Out-File -Append -Encoding ascii $env:GITHUB_PATH
3138 echo "Poetry PATH set to $env:APPDATA\Python\Scripts"
3239
33- - name : Check Poetry Version
40+ - name : ✅ Check Poetry version
3441 run : poetry --version
3542
36- - name : Configure Poetry
37- run : poetry config virtualenvs.create false
43+ - name : 📦 Cache Poetry virtualenv
44+ uses : actions/cache@v4
45+ with :
46+ path : ~\AppData\Local\pypoetry\Cache
47+ key : ${{ runner.os }}-poetry-${{ matrix.python-version }}-${{ hashFiles('poetry.lock') }}
48+ restore-keys : |
49+ ${{ runner.os }}-poetry-${{ matrix.python-version }}-
3850
3951 - name : 📦 Install dependencies with Poetry
40- run : |
41- poetry lock
42- poetry install --with dev
52+ run : poetry install --with dev --frozen
53+
54+ - name : 🔍 Lint with ruff
55+ run : poetry run ruff check .
4356
4457 - name : 🧪 Run tests with coverage
4558 run : |
46- poetry run pytest --cov=pytest_html_plus tests/ --cov-fail-under=39 --cov-report=term --reruns 1 --ignore=tests/browser --generate-xml --xml-report final_xml_windows.xml --git-branch $(git rev-parse --abbrev-ref HEAD)
59+ $BRANCH = git rev-parse --abbrev-ref HEAD
60+ $COMMIT = git rev-parse HEAD
61+ poetry run pytest `
62+ --cov=pytest_html_plus `
63+ --cov-fail-under=39 `
64+ --cov-report=term `
65+ --reruns 1 `
66+ --ignore=tests/browser `
67+ --generate-xml `
68+ --xml-report final_xml_windows.xml `
69+ --git-branch "$BRANCH" `
70+ --git-commit "$COMMIT" `
71+ tests/
4772
4873 - name : 🧪 Run tests with warnings enabled
4974 run : |
50- $env:PYTHONWARNINGS="error"; poetry run pytest --cov=pytest_html_plus tests/ --cov-fail-under=39 --cov-report=term --reruns 1 --ignore=tests/browser --generate-xml --html-output=report_output_warnings --xml-report final_xml_windows_with_warnings.xml --git-branch $(git rev-parse --abbrev-ref HEAD)
75+ $BRANCH = git rev-parse --abbrev-ref HEAD
76+ $COMMIT = git rev-parse HEAD
77+ $env:PYTHONWARNINGS = "error"
78+ poetry run pytest `
79+ --cov=pytest_html_plus `
80+ --cov-fail-under=39 `
81+ --cov-report=term `
82+ --reruns 1 `
83+ --ignore=tests/browser `
84+ --generate-xml `
85+ --xml-report final_xml_windows_with_warnings.xml `
86+ --html-output=report_output_warnings `
87+ --git-branch "$BRANCH" `
88+ --git-commit "$COMMIT" `
89+ tests/
5190
52- - name : Upload HTML Report
91+ - name : 📤 Upload HTML Report
5392 if : always()
5493 uses : actions/upload-artifact@v4
5594 with :
5695 name : report-windows-${{ github.job }}-${{ github.run_number }}-${{ matrix.python-version }}
57- path :
58- report_output/
96+ path : report_output/
5997
60- - name : Upload HTML warnings report
98+ - name : 📤 Upload HTML Warnings Report
6199 if : always()
62100 uses : actions/upload-artifact@v4
63101 with :
64102 name : report-warnings-windows-${{ github.job }}-${{ github.run_number }}-${{ matrix.python-version }}
65- path :
66- report_output_warnings/
103+ path : report_output_warnings/
0 commit comments