Skip to content

Commit 9cfe3b6

Browse files
committed
Uncomment entire workflow
1 parent 1a4219a commit 9cfe3b6

File tree

1 file changed

+126
-130
lines changed

1 file changed

+126
-130
lines changed

.github/workflows/main.yml

Lines changed: 126 additions & 130 deletions
Original file line numberDiff line numberDiff line change
@@ -22,16 +22,12 @@ jobs:
2222
strategy:
2323
fail-fast: false
2424
matrix:
25-
# TODO: Revert this, temporarily testing only what I need
26-
# python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]
27-
# architecture: [x64, x86, arm64]
28-
# include:
29-
# - os: windows-2019
30-
# - architecture: arm64
31-
# os: windows-11-arm
32-
python-version: ["3.11"]
33-
architecture: [x64]
34-
os: [windows-11-arm]
25+
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]
26+
architecture: [x64, x86, arm64]
27+
include:
28+
- architecture: arm64
29+
os: windows-11-arm
30+
- os: windows-2019
3531

3632
steps:
3733
- uses: actions/checkout@v4
@@ -53,22 +49,22 @@ jobs:
5349
echo $ScriptsPath
5450
Add-Content $env:GITHUB_PATH $ScriptsPath
5551
56-
# - name: Build and install
57-
# run: pip install . -v --user
52+
- name: Build and install
53+
run: pip install . -v --user
5854

59-
# # This needs to happen *after* installing pywin32 since
60-
# # AutoDuck/py2d.py currently relies on runtime imports for introspection
61-
# # This isn't included in the wheel (TODO: could we?)
62-
# # and only serves as a PR test for the docs.yaml workflow
63-
# - name: Generate PyWin32.chm help file
64-
# run: python AutoDuck/make.py
55+
# This needs to happen *after* installing pywin32 since
56+
# AutoDuck/py2d.py currently relies on runtime imports for introspection
57+
# This isn't included in the wheel (TODO: could we?)
58+
# and only serves as a PR test for the docs.yaml workflow
59+
- name: Generate PyWin32.chm help file
60+
run: python AutoDuck/make.py
6561

66-
# # Smokescreen test to validate postinstall doesn't crash, dlls can be found, and both pathless invocation methods work
67-
# - name: Run postinstall install/remove
68-
# run: |
69-
# $UserSite = "$(python -m site --user-site)"
70-
# python -m win32.scripts.pywin32_postinstall -install -destination "$UserSite"
71-
# pywin32_postinstall -remove -destination "$UserSite"
62+
# Smokescreen test to validate postinstall doesn't crash, dlls can be found, and both pathless invocation methods work
63+
- name: Run postinstall install/remove
64+
run: |
65+
$UserSite = "$(python -m site --user-site)"
66+
python -m win32.scripts.pywin32_postinstall -install -destination "$UserSite"
67+
pywin32_postinstall -remove -destination "$UserSite"
7268
7369
# Compilation and registration of the PyCOMTest server dll
7470
- name: Set up MSVC
@@ -93,7 +89,7 @@ jobs:
9389
- name: Build and register the PyCOMTest server dll
9490
run: |
9591
msbuild com/TestSources/PyCOMTest/PyCOMTest.sln -property:Configuration=Release
96-
# regsvr32 com/TestSources/PyCOMTest/x64/Release/PyCOMTest.dll
92+
regsvr32 com/TestSources/PyCOMTest/x64/Release/PyCOMTest.dll
9793
9894
- name: Run tests
9995
# Run the tests directly from the source dir so support files (eg, .wav files etc)
@@ -111,108 +107,108 @@ jobs:
111107
path: dist/*.whl
112108
if-no-files-found: error
113109

114-
# # Do a single ARM64 cross-compilation to ensure we still support it
115-
# test_cross_compile:
116-
# name: Cross-compile ARM
117-
# runs-on: windows-2019
118-
# timeout-minutes: 25
119-
# steps:
120-
# - uses: actions/checkout@v4
121-
122-
# - name: Set up latest stable Python
123-
# uses: actions/setup-python@v5
124-
# with:
125-
# python-version: 3.x
126-
# architecture: x64
127-
# cache: pip
128-
# cache-dependency-path: .github/workflows/main.yml
129-
# check-latest: true
130-
131-
# - name: Install build module
132-
# run: pip install --upgrade build
133-
134-
# - name: Obtain ARM64 library files
135-
# run: python .github\workflows\download-arm64-libs.py .\arm64libs
136-
137-
# - name: Build wheels
138-
# run: python -m build --wheel --config-setting=--build-option=build_ext --config-setting=--build-option=-L.\arm64libs --config-setting=--build-option=--plat-name=win-arm64 --config-setting=--build-option=build --config-setting=--build-option=--plat-name=win-arm64 --config-setting=--build-option=bdist_wheel --config-setting=--build-option=--plat-name=win-arm64
139-
140-
# merge:
141-
# runs-on: windows-latest
142-
# needs: [test]
143-
# steps:
144-
# - name: Merge Artifacts
145-
# uses: actions/upload-artifact/merge@v4
146-
# with:
147-
# name: artifacts
148-
# pattern: artifacts-*
149-
# - name: Delete standalone Artifacts
150-
# uses: geekyeggo/delete-artifact@v5
151-
# with:
152-
# name: artifacts-*
153-
154-
# # This job can be run locally by running `pre-commit run`
155-
# checkers:
156-
# runs-on: windows-2019
157-
# timeout-minutes: 25
158-
# steps:
159-
# - uses: actions/checkout@v4
160-
# - uses: actions/setup-python@v5
161-
# with:
162-
# # This job only needs to target the oldest supported version
163-
# python-version: "3.8"
164-
# cache: pip
165-
# cache-dependency-path: .github/workflows/main.yml
166-
# - run: pip install clang-format==18.1.* pycln
167-
# - run: pycln . --config=pycln.toml --check
168-
# - uses: astral-sh/ruff-action@v3
169-
# with:
170-
# version: "0.8.4"
171-
# - run: ruff format --check
172-
# # Too many files to fit in a single command, also exclude vendored Scintilla and MAPIStubLibrary
173-
# - run: |
174-
# clang-format --Werror --dry-run $(git ls-files '*.cpp' ':!:com/win32comext/mapi/src/MAPIStubLibrary/')
175-
# if ($LastExitCode -ne 0) { exit $LastExitCode }
176-
# clang-format --Werror --dry-run $(git ls-files '*.h' ':!:Pythonwin/Scintilla/' ':!:com/win32comext/mapi/src/MAPIStubLibrary/')
177-
# if ($LastExitCode -ne 0) { exit $LastExitCode }
178-
179-
# mypy:
180-
# runs-on: windows-2019
181-
# timeout-minutes: 25
182-
# strategy:
183-
# fail-fast: false
184-
# matrix:
185-
# python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
186-
# steps:
187-
# - uses: actions/checkout@v4
188-
# - uses: actions/setup-python@v5
189-
# with:
190-
# python-version: ${{ matrix.python-version }}
191-
# cache: pip
192-
# cache-dependency-path: .github/workflows/main.yml
193-
# check-latest: true
194-
# - run: pip install types-setuptools PyOpenGL mypy[faster-cache]==1.14.*
195-
# - run: mypy . --python-version=${{ matrix.python-version }}
196-
197-
# pyright:
198-
# runs-on: windows-2019
199-
# timeout-minutes: 25
200-
# strategy:
201-
# fail-fast: false
202-
# matrix:
203-
# python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
204-
# steps:
205-
# - uses: actions/checkout@v4
206-
# - uses: actions/setup-python@v5
207-
# with:
208-
# python-version: ${{ matrix.python-version }}
209-
# cache: pip
210-
# cache-dependency-path: .github/workflows/main.yml
211-
# check-latest: true
212-
# # pyright vendors typeshed, but let's make sure we have the most up to date stubs
213-
# - run: pip install types-setuptools PyOpenGL
214-
# - uses: jakebailey/pyright-action@v2
215-
# with:
216-
# python-version: ${{ matrix.python-version }}
217-
# version: "1.1.396"
218-
# annotate: errors
110+
# Do a single ARM64 cross-compilation to ensure we still support it
111+
test_cross_compile:
112+
name: Cross-compile ARM
113+
runs-on: windows-2019
114+
timeout-minutes: 25
115+
steps:
116+
- uses: actions/checkout@v4
117+
118+
- name: Set up latest stable Python
119+
uses: actions/setup-python@v5
120+
with:
121+
python-version: 3.x
122+
architecture: x64
123+
cache: pip
124+
cache-dependency-path: .github/workflows/main.yml
125+
check-latest: true
126+
127+
- name: Install build module
128+
run: pip install --upgrade build
129+
130+
- name: Obtain ARM64 library files
131+
run: python .github\workflows\download-arm64-libs.py .\arm64libs
132+
133+
- name: Build wheels
134+
run: python -m build --wheel --config-setting=--build-option=build_ext --config-setting=--build-option=-L.\arm64libs --config-setting=--build-option=--plat-name=win-arm64 --config-setting=--build-option=build --config-setting=--build-option=--plat-name=win-arm64 --config-setting=--build-option=bdist_wheel --config-setting=--build-option=--plat-name=win-arm64
135+
136+
merge:
137+
runs-on: windows-latest
138+
needs: [test]
139+
steps:
140+
- name: Merge Artifacts
141+
uses: actions/upload-artifact/merge@v4
142+
with:
143+
name: artifacts
144+
pattern: artifacts-*
145+
- name: Delete standalone Artifacts
146+
uses: geekyeggo/delete-artifact@v5
147+
with:
148+
name: artifacts-*
149+
150+
# This job can be run locally by running `pre-commit run`
151+
checkers:
152+
runs-on: windows-2019
153+
timeout-minutes: 25
154+
steps:
155+
- uses: actions/checkout@v4
156+
- uses: actions/setup-python@v5
157+
with:
158+
# This job only needs to target the oldest supported version
159+
python-version: "3.8"
160+
cache: pip
161+
cache-dependency-path: .github/workflows/main.yml
162+
- run: pip install clang-format==18.1.* pycln
163+
- run: pycln . --config=pycln.toml --check
164+
- uses: astral-sh/ruff-action@v3
165+
with:
166+
version: "0.8.4"
167+
- run: ruff format --check
168+
# Too many files to fit in a single command, also exclude vendored Scintilla and MAPIStubLibrary
169+
- run: |
170+
clang-format --Werror --dry-run $(git ls-files '*.cpp' ':!:com/win32comext/mapi/src/MAPIStubLibrary/')
171+
if ($LastExitCode -ne 0) { exit $LastExitCode }
172+
clang-format --Werror --dry-run $(git ls-files '*.h' ':!:Pythonwin/Scintilla/' ':!:com/win32comext/mapi/src/MAPIStubLibrary/')
173+
if ($LastExitCode -ne 0) { exit $LastExitCode }
174+
175+
mypy:
176+
runs-on: windows-2019
177+
timeout-minutes: 25
178+
strategy:
179+
fail-fast: false
180+
matrix:
181+
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
182+
steps:
183+
- uses: actions/checkout@v4
184+
- uses: actions/setup-python@v5
185+
with:
186+
python-version: ${{ matrix.python-version }}
187+
cache: pip
188+
cache-dependency-path: .github/workflows/main.yml
189+
check-latest: true
190+
- run: pip install types-setuptools PyOpenGL mypy[faster-cache]==1.14.*
191+
- run: mypy . --python-version=${{ matrix.python-version }}
192+
193+
pyright:
194+
runs-on: windows-2019
195+
timeout-minutes: 25
196+
strategy:
197+
fail-fast: false
198+
matrix:
199+
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
200+
steps:
201+
- uses: actions/checkout@v4
202+
- uses: actions/setup-python@v5
203+
with:
204+
python-version: ${{ matrix.python-version }}
205+
cache: pip
206+
cache-dependency-path: .github/workflows/main.yml
207+
check-latest: true
208+
# pyright vendors typeshed, but let's make sure we have the most up to date stubs
209+
- run: pip install types-setuptools PyOpenGL
210+
- uses: jakebailey/pyright-action@v2
211+
with:
212+
python-version: ${{ matrix.python-version }}
213+
version: "1.1.396"
214+
annotate: errors

0 commit comments

Comments
 (0)