-before-all = "\"C:\\Program Files\\PowerShell\\7\\pwsh.EXE\" -command \"& { $ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue'; $VerbosePreference = 'Continue'; Write-Verbose 'Starting Miniconda installation process...'; try { Write-Verbose 'Checking available disk space...'; $disk = Get-WmiObject Win32_LogicalDisk -Filter 'DeviceID='C:''; Write-Verbose ('Available disk space: ' + [math]::Round($disk.FreeSpace / 1GB, 2) + ' GB'); Write-Verbose '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-Verbose ('Miniconda installer size: ' + (Get-Item 'miniconda.exe').Length + ' bytes'); Write-Verbose 'Installing Miniconda...'; $installPath = 'C:\\Miniconda3'; $process = Start-Process -FilePath 'miniconda.exe' -ArgumentList '/S',('/D=' + $installPath),'/RegisterPython=0','/AddToPath=0','/LOG=miniconda_install.log' -Wait -PassThru -ErrorAction Stop; if ($process.ExitCode -ne 0) { throw 'Miniconda installation failed with exit code: ' + $process.ExitCode }; Write-Verbose 'Waiting for installation to complete...'; Start-Sleep -Seconds 30; Write-Verbose 'Checking if Miniconda was installed...'; if (!(Test-Path $installPath)) { throw 'Miniconda directory not found, installation failed' }; Write-Verbose 'Updating PATH...'; $env:PATH = $installPath + ';' + $installPath + '\\Scripts;' + $installPath + '\\Library\\bin;' + $env:PATH; Write-Verbose ('Current PATH: ' + $env:PATH); Write-Verbose 'Checking for activate.ps1...'; if (!(Test-Path ($installPath + '\\Scripts\\activate.ps1'))) { throw 'Miniconda installation failed or activate.ps1 not found' }; Write-Verbose 'Activating Conda...'; & ($installPath + '\\Scripts\\activate.ps1'); if (!(Get-Command conda -ErrorAction SilentlyContinue)) { Write-Verbose 'Conda not found in PATH, trying to initialize...'; & ($installPath + '\\Scripts\\conda.exe') init powershell; & ($installPath + '\\Scripts\\conda.exe') activate; }; Write-Verbose 'Configuring Conda...'; conda config --add channels conda-forge; conda config --set channel_priority strict; Write-Verbose 'Installing sleef...'; conda install -y -c conda-forge sleef; Write-Verbose 'Setup completed successfully.'; } catch { Write-Error $_.Exception.Message; Write-Verbose 'Error details:'; Write-Verbose $_.Exception.ToString(); if (Test-Path 'miniconda_install.log') { Write-Verbose 'Contents of miniconda_install.log:'; Get-Content 'miniconda_install.log' | ForEach-Object { Write-Verbose $_ }; }; exit 1; } }\""
0 commit comments