667c39987c
When installing setuptools from sources in Spack, we might get into weird failures due to the way we use pip. In particular, for Spack it's necessary to install in a non-isolated pip environment to allow using PYTHONPATH as a selection method for all the build requirements of a Python package. This can fail when installing setuptools since there might be a setuptools version already installed for the Python interpreter being used, with different entry points than the one we want to install. Installing from wheels both pip and setuptools should harden our installation procedure in the context of: - Bootstrapping Python dependencies of Spack - Using external Python packages
193 lines
No EOL
6.6 KiB
YAML
193 lines
No EOL
6.6 KiB
YAML
name: windows tests
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- develop
|
|
- releases/**
|
|
pull_request:
|
|
branches:
|
|
- develop
|
|
- releases/**
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_number }}
|
|
cancel-in-progress: true
|
|
|
|
defaults:
|
|
run:
|
|
shell:
|
|
powershell Invoke-Expression -Command ".\share\spack\qa\windows_test_setup.ps1"; {0}
|
|
jobs:
|
|
validate:
|
|
runs-on: windows-latest
|
|
steps:
|
|
- uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
|
|
- uses: actions/setup-python@d09bd5e6005b175076f227b13d9730d56e9dcfcb
|
|
with:
|
|
python-version: 3.9
|
|
- name: Install Python Packages
|
|
run: |
|
|
python -m pip install --upgrade pip
|
|
python -m pip install --upgrade vermin
|
|
- name: vermin (Spack's Core)
|
|
run: vermin --backport argparse --backport typing -t='2.7-' -t='3.5-' -v spack/lib/spack/spack/ spack/lib/spack/llnl/ spack/bin/
|
|
- name: vermin (Repositories)
|
|
run: vermin --backport argparse --backport typing -t='2.7-' -t='3.5-' -v spack/var/spack/repos
|
|
# Run style checks on the files that have been changed
|
|
style:
|
|
runs-on: windows-latest
|
|
steps:
|
|
- uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
|
|
with:
|
|
fetch-depth: 0
|
|
- uses: actions/setup-python@d09bd5e6005b175076f227b13d9730d56e9dcfcb
|
|
with:
|
|
python-version: 3.9
|
|
- name: Install Python packages
|
|
run: |
|
|
python -m pip install --upgrade pip six setuptools flake8 isort>=4.3.5 mypy>=0.800 black pywin32 types-python-dateutil
|
|
- name: Create local develop
|
|
run: |
|
|
.\spack\.github\workflows\setup_git.ps1
|
|
- name: Run style tests
|
|
run: |
|
|
spack style
|
|
- name: Verify license headers
|
|
run: |
|
|
python spack\bin\spack license verify
|
|
unittest:
|
|
needs: [ validate, style ]
|
|
runs-on: windows-latest
|
|
steps:
|
|
- uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
|
|
with:
|
|
fetch-depth: 0
|
|
- uses: actions/setup-python@d09bd5e6005b175076f227b13d9730d56e9dcfcb
|
|
with:
|
|
python-version: 3.9
|
|
- name: Install Python packages
|
|
run: |
|
|
python -m pip install --upgrade pip six pywin32 setuptools codecov coverage
|
|
- name: Create local develop
|
|
run: |
|
|
.\spack\.github\workflows\setup_git.ps1
|
|
- name: Unit Test
|
|
run: |
|
|
echo F|xcopy .\spack\share\spack\qa\configuration\windows_config.yaml $env:USERPROFILE\.spack\windows\config.yaml
|
|
spack unit-test --verbose --ignore=lib/spack/spack/test/cmd
|
|
unittest-cmd:
|
|
needs: [ validate, style ]
|
|
runs-on: windows-latest
|
|
steps:
|
|
- uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
|
|
with:
|
|
fetch-depth: 0
|
|
- uses: actions/setup-python@d09bd5e6005b175076f227b13d9730d56e9dcfcb
|
|
with:
|
|
python-version: 3.9
|
|
- name: Install Python packages
|
|
run: |
|
|
python -m pip install --upgrade pip six pywin32 setuptools codecov coverage
|
|
- name: Create local develop
|
|
run: |
|
|
.\spack\.github\workflows\setup_git.ps1
|
|
- name: Command Unit Test
|
|
run: |
|
|
echo F|xcopy .\spack\share\spack\qa\configuration\windows_config.yaml $env:USERPROFILE\.spack\windows\config.yaml
|
|
spack unit-test lib/spack/spack/test/cmd --verbose
|
|
buildtest:
|
|
needs: [ validate, style ]
|
|
runs-on: windows-latest
|
|
steps:
|
|
- uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
|
|
with:
|
|
fetch-depth: 0
|
|
- uses: actions/setup-python@d09bd5e6005b175076f227b13d9730d56e9dcfcb
|
|
with:
|
|
python-version: 3.9
|
|
- name: Install Python packages
|
|
run: |
|
|
python -m pip install --upgrade pip six pywin32 setuptools codecov coverage
|
|
- name: Build Test
|
|
run: |
|
|
spack compiler find
|
|
echo F|xcopy .\spack\share\spack\qa\configuration\windows_config.yaml $env:USERPROFILE\.spack\windows\config.yaml
|
|
spack external find cmake
|
|
spack external find ninja
|
|
spack install abseil-cpp
|
|
generate-installer-test:
|
|
needs: [ validate, style ]
|
|
runs-on: windows-latest
|
|
steps:
|
|
- name: Disable Windows Symlinks
|
|
run: |
|
|
git config --global core.symlinks false
|
|
shell:
|
|
powershell
|
|
- uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
|
|
with:
|
|
fetch-depth: 0
|
|
- uses: actions/setup-python@d09bd5e6005b175076f227b13d9730d56e9dcfcb
|
|
with:
|
|
python-version: 3.9
|
|
- name: Install Python packages
|
|
run: |
|
|
python -m pip install --upgrade pip six pywin32 setuptools codecov coverage
|
|
- name: Add Light and Candle to Path
|
|
run: |
|
|
$env:WIX >> $GITHUB_PATH
|
|
- name: Run Installer
|
|
run: |
|
|
.\spack\share\spack\qa\setup_spack.ps1
|
|
spack make-installer -s spack -g SILENT pkg
|
|
echo "installer_root=$((pwd).Path)" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
|
|
env:
|
|
ProgressPreference: SilentlyContinue
|
|
- uses: actions/upload-artifact@3cea5372237819ed00197afe530f5a7ea3e805c8
|
|
with:
|
|
name: Windows Spack Installer Bundle
|
|
path: ${{ env.installer_root }}\pkg\Spack.exe
|
|
- uses: actions/upload-artifact@3cea5372237819ed00197afe530f5a7ea3e805c8
|
|
with:
|
|
name: Windows Spack Installer
|
|
path: ${{ env.installer_root}}\pkg\Spack.msi
|
|
execute-installer:
|
|
needs: generate-installer-test
|
|
runs-on: windows-latest
|
|
defaults:
|
|
run:
|
|
shell: pwsh
|
|
steps:
|
|
- uses: actions/setup-python@d09bd5e6005b175076f227b13d9730d56e9dcfcb
|
|
with:
|
|
python-version: 3.9
|
|
- name: Install Python packages
|
|
run: |
|
|
python -m pip install --upgrade pip six pywin32 setuptools codecov coverage
|
|
- name: Setup installer directory
|
|
run: |
|
|
mkdir -p spack_installer
|
|
echo "spack_installer=$((pwd).Path)\spack_installer" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
|
|
- uses: actions/download-artifact@v3
|
|
with:
|
|
name: Windows Spack Installer Bundle
|
|
path: ${{ env.spack_installer }}
|
|
- name: Execute Bundled Installer
|
|
run: |
|
|
$proc = Start-Process ${{ env.spack_installer }}\spack.exe "/install /quiet" -Passthru
|
|
$handle = $proc.Handle # cache proc.Handle
|
|
$proc.WaitForExit();
|
|
$LASTEXITCODE
|
|
env:
|
|
ProgressPreference: SilentlyContinue
|
|
- uses: actions/download-artifact@v3
|
|
with:
|
|
name: Windows Spack Installer
|
|
path: ${{ env.spack_installer }}
|
|
- name: Execute MSI
|
|
run: |
|
|
$proc = Start-Process ${{ env.spack_installer }}\spack.msi "/quiet" -Passthru
|
|
$handle = $proc.Handle # cache proc.Handle
|
|
$proc.WaitForExit();
|
|
$LASTEXITCODE |