Skip to content

Workflow file for this run

on:
pull_request:
branches: [main]
push:
branches: [main]
jobs:
tests:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [windows-latest, windows-2019]
python-version: ['3.7', '3.8', '3.9', '3.10', '3.11', '3.12']
architecture: ['x86', 'x64']
steps:
- uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
architecture: ${{ matrix.architecture }}
- name: install comtypes
run: |
pip install --upgrade setuptools
python setup.py install
pip uninstall comtypes -y
python test_pip_install.py
- name: Set up MSVC
uses: ilammy/msvc-dev-cmd@v1
- name: Build out of process COM-server for testing
run: |
cd source/OutProcSrv
nmake /f Makefile
./server.exe /RegServer
cd ../../
- name: unittest comtypes
run: |
pip install coverage
coverage run -m unittest discover -v -s ./comtypes/test -t comtypes\test
- name: Upload Coverage info
uses: actions/upload-artifact@v4
with:
name: coverage-${{ matrix.os }}-${{ matrix.python-version }}-${{ matrix.architecture }}
path: .coverage
# - name: Archive production artifacts
# uses: actions/upload-artifact@v4
# with:
# name: gen-results-${{ matrix.os }}-${{ matrix.python-version }}-${{ matrix.architecture }}
# path: comtypes/gen/
- name: Unregister COM Server
run: |
cd source/OutProcSrv
./server.exe /UnregServer
cd ../../
coverage:
runs-on: windows-latest
needs: tests
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Download coverage artifacts
uses: actions/download-artifact@v4
with:
pattern: coverage-*
merge-multiple: true
- name: Install coverage
run: pip install coverage
- name: Generate coverage report
run: |
coverage combine
coverage report
coverage html
- name: Upload coverage report
uses: actions/upload-artifact@v4
with:
name: coverage-report
path: htmlcov/*