@@ -72,14 +72,47 @@ jobs:
7272 if : matrix.os == 'windows-latest'
7373 run : echo "$PWD/.venv/Scripts" >> $GITHUB_PATH
7474 shell : bash
75+
76+ # Install Windows-specific dependencies
77+ - name : Setup Windows OpenSSL
78+ if : matrix.os == 'windows-latest'
79+ run : |
80+ choco install openssl -y
81+ echo "OPENSSL_DIR=C:/Program Files/OpenSSL-Win64" >> $GITHUB_ENV
82+ echo "OPENSSL_STATIC=1" >> $GITHUB_ENV
83+ echo "OPENSSL_NO_VENDOR=1" >> $GITHUB_ENV
84+ shell : bash
85+
86+ - name : Install Perl modules on Windows
87+ if : matrix.os == 'windows-latest'
88+ run : |
89+ choco install strawberryperl -y
90+ cpan App::cpanminus
91+ cpanm --notest Locale::Maketext::Simple
92+ cpanm --notest Text::Template
93+ cpanm --notest Params::Check
94+ cpanm --notest IPC::Cmd
95+ shell : bash
7596
7697 - name : Install dependencies for testing
98+ if : matrix.os != 'windows-latest'
7799 run : |
78100 python -m pip install --upgrade pip
79101 pip install pytest pytest-benchmark
80102 if [ -f tests/requirements.txt ]; then pip install -r tests/requirements.txt; fi
103+
104+ - name : Install dependencies for testing (Windows)
105+ if : matrix.os == 'windows-latest'
106+ run : |
107+ python -m pip install --upgrade pip
108+ pip install pytest pytest-benchmark
109+ pip install statistics>=1.0.3.5
110+ # Try installing c2pa-python with best effort
111+ pip install c2pa-python || echo "c2pa-python installation failed, will proceed anyway"
112+ shell : bash
81113
82114 - name : Install c2pa-python for benchmarking
115+ if : matrix.os != 'windows-latest'
83116 run : pip install c2pa-python
84117 continue-on-error : true # Continue even if c2pa-python install fails
85118
@@ -92,7 +125,13 @@ jobs:
92125 sccache : ' true'
93126
94127 - name : Run tests
95- run : python run_tests.py
128+ run : |
129+ # Skip c2pa-python comparison tests on Windows if necessary
130+ if [ "${{ matrix.os }}" == "windows-latest" ]; then
131+ # Only run tests that don't require c2pa-python if installation failed
132+ pip list | grep -q c2pa-python || export SKIP_COMPARISON_TESTS=1
133+ fi
134+ python run_tests.py
96135 continue-on-error : true # Continue even if tests fail to get wheels
97136
98137 - name : Build wheel
0 commit comments