Skip to content

Commit 30883aa

Browse files
committed
fixing win
1 parent a8d2314 commit 30883aa

File tree

2 files changed

+30
-14
lines changed

2 files changed

+30
-14
lines changed

.github/workflows/build_wheels_and_release.yml

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
runs-on: ${{ matrix.os }}
1515
strategy:
1616
matrix:
17-
os: [windows-latest]
17+
os: [windows-latest, ubuntu-latest, macos-13, macos-14]
1818

1919
steps:
2020
- uses: actions/checkout@v2
@@ -27,12 +27,40 @@ jobs:
2727
- name: Install cibuildwheel
2828
run: pip install cibuildwheel==2.20.0
2929

30+
- name: Install Miniconda (Windows only)
31+
if: runner.os == 'Windows'
32+
shell: pwsh
33+
run: |
34+
$ErrorActionPreference = 'Stop'
35+
$ProgressPreference = 'SilentlyContinue'
36+
Write-Host "Downloading Miniconda..."
37+
Invoke-WebRequest -Uri "https://repo.anaconda.com/miniconda/Miniconda3-latest-Windows-x86_64.exe" -OutFile "miniconda.exe"
38+
Write-Host "Installing Miniconda..."
39+
Start-Process -FilePath "miniconda.exe" -ArgumentList "/S", "/D=$env:UserProfile\Miniconda3" -Wait -NoNewWindow
40+
Write-Host "Miniconda installed. Configuring..."
41+
$env:Path = "$env:UserProfile\Miniconda3;$env:UserProfile\Miniconda3\Scripts;$env:UserProfile\Miniconda3\Library\bin;" + $env:Path
42+
conda init powershell
43+
conda config --set auto_activate_base false
44+
conda config --add channels conda-forge
45+
conda config --set channel_priority strict
46+
Write-Host "Installing sleef..."
47+
conda install -y -c conda-forge sleef
48+
Write-Host "Miniconda setup completed."
49+
3050
- name: Build wheels
3151
run: |
3252
python -m cibuildwheel --output-dir wheelhouse
3353
env:
3454
CIBW_BUILD_VERBOSITY: "1"
3555
CIBW_ARCHS_MACOS: ${{ matrix.os == 'macos-13' && 'x86_64' || 'arm64' }}
56+
CIBW_ENVIRONMENT_WINDOWS: >-
57+
PATH="$env:UserProfile\Miniconda3\Scripts;$env:UserProfile\Miniconda3\Library\bin;$env:PATH"
58+
INCLUDE="$env:UserProfile\Miniconda3\Library\include;$env:INCLUDE"
59+
LIB="$env:UserProfile\Miniconda3\Library\lib;$env:LIB"
60+
SLEEF_INCLUDE_DIR="$env:UserProfile\Miniconda3\Library\include"
61+
SLEEF_LIBRARY="$env:UserProfile\Miniconda3\Library\lib"
62+
CIBW_REPAIR_WHEEL_COMMAND_WINDOWS: >
63+
delvewheel repair -w {dest_dir} {wheel} --add-path %UserProfile%\Miniconda3\Library\bin
3664
working-directory: ./quaddtype
3765

3866
- uses: actions/upload-artifact@v2

quaddtype/pyproject.toml

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -79,16 +79,4 @@ ls -l $HOME/miniconda/include/sleef.h
7979
ls -l $HOME/miniconda/lib/libsleef*
8080
'''
8181
environment = {DYLD_LIBRARY_PATH = "$HOME/miniconda/lib:$DYLD_LIBRARY_PATH", LIBRARY_PATH = "$HOME/miniconda/lib:$LIBRARY_PATH", CFLAGS = "-I$HOME/miniconda/include $CFLAGS", CXXFLAGS = "-I$HOME/miniconda/include $CXXFLAGS", LDFLAGS = "-L$HOME/miniconda/lib $LDFLAGS", SLEEF_INCLUDE_DIR = "$HOME/miniconda/include", SLEEF_LIBRARY = "$HOME/miniconda/lib", MACOSX_DEPLOYMENT_TARGET = "10.13"}
82-
repair-wheel-command = "delocate-wheel -w {dest_dir} -v {wheel}"
83-
84-
[tool.cibuildwheel.windows]
85-
before-all = "\"C:\\Program Files\\PowerShell\\7\\pwsh.EXE\" -command \"& { $ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue'; $VerbosePreference = 'Continue'; function Write-VerboseAndOutput($message) { Write-Verbose $message; Write-Output $message; }; try { Write-VerboseAndOutput 'Starting Miniconda installation process...'; Write-VerboseAndOutput 'Downloading Miniconda...'; Invoke-WebRequest -Uri 'https://repo.anaconda.com/miniconda/Miniconda3-latest-Windows-x86_64.exe' -OutFile 'miniconda.exe' -ErrorAction Stop; if ((Get-Item 'miniconda.exe').Length -eq 0) { throw 'Miniconda download failed or file is empty' }; Write-VerboseAndOutput ('Miniconda installer size: ' + (Get-Item 'miniconda.exe').Length + ' bytes'); Write-VerboseAndOutput 'Installing Miniconda...'; $installPath = 'C:\\Miniconda3'; $process = Start-Process -FilePath 'miniconda.exe' -ArgumentList '/S',('/D=' + $installPath),'/RegisterPython=0','/AddToPath=0' -Wait -PassThru -NoNewWindow -RedirectStandardOutput 'miniconda_install.log' -RedirectStandardError 'miniconda_install_error.log'; if ($process.ExitCode -ne 0) { Write-VerboseAndOutput ('Miniconda installation failed with exit code: ' + $process.ExitCode); Write-VerboseAndOutput 'Contents of miniconda_install.log:'; if (Test-Path 'miniconda_install.log') { Get-Content 'miniconda_install.log' | ForEach-Object { Write-VerboseAndOutput $_ }; } else { Write-VerboseAndOutput 'miniconda_install.log not found.'; }; Write-VerboseAndOutput 'Contents of miniconda_install_error.log:'; if (Test-Path 'miniconda_install_error.log') { Get-Content 'miniconda_install_error.log' | ForEach-Object { Write-VerboseAndOutput $_ }; } else { Write-VerboseAndOutput 'miniconda_install_error.log not found.'; }; throw 'Miniconda installation failed with exit code: ' + $process.ExitCode; }; Write-VerboseAndOutput 'Miniconda installation completed. Configuring...'; $env:PATH = $installPath + ';' + $installPath + '\\Scripts;' + $installPath + '\\Library\\bin;' + $env:PATH; & ($installPath + '\\Scripts\\activate.ps1'); conda config --add channels conda-forge; conda config --set channel_priority strict; Write-VerboseAndOutput 'Installing sleef...'; conda install -y -c conda-forge sleef; Write-VerboseAndOutput 'Setup completed successfully.'; } catch { Write-Error $_.Exception.Message; Write-VerboseAndOutput ('Error: ' + $_.Exception.Message); Write-VerboseAndOutput ('Stack Trace: ' + $_.ScriptStackTrace); exit 1; } }\""
86-
87-
88-
89-
90-
91-
92-
before-build = "pip install delvewheel"
93-
repair-wheel-command = "delvewheel repair -w {dest_dir} {wheel} --add-path %UserProfile%\\Miniconda3\\Library\\bin"
94-
environment = { PATH = "%UserProfile%\\Miniconda3\\Scripts;%UserProfile%\\Miniconda3\\Library\\bin;%PATH%", INCLUDE = "%UserProfile%\\Miniconda3\\Library\\include;%INCLUDE%", LIB = "%UserProfile%\\Miniconda3\\Library\\lib;%LIB%", SLEEF_INCLUDE_DIR = "%UserProfile%\\Miniconda3\\Library\\include", SLEEF_LIBRARY = "%UserProfile%\\Miniconda3\\Library\\lib"}
82+
repair-wheel-command = "delocate-wheel -w {dest_dir} -v {wheel}"

0 commit comments

Comments
 (0)