2022-01-25 22:29:17 +00:00
|
|
|
name: windows tests
|
|
|
|
|
|
|
|
on:
|
|
|
|
push:
|
|
|
|
branches:
|
2022-03-16 20:41:34 +00:00
|
|
|
- develop
|
|
|
|
- releases/**
|
2022-01-25 22:29:17 +00:00
|
|
|
pull_request:
|
|
|
|
branches:
|
|
|
|
- develop
|
2022-03-16 20:41:34 +00:00
|
|
|
- releases/**
|
2022-06-08 22:46:46 +00:00
|
|
|
|
|
|
|
concurrency:
|
|
|
|
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_number }}
|
|
|
|
cancel-in-progress: true
|
|
|
|
|
2022-01-25 22:29:17 +00:00
|
|
|
defaults:
|
|
|
|
run:
|
|
|
|
shell:
|
|
|
|
powershell Invoke-Expression -Command ".\share\spack\qa\windows_test_setup.ps1"; {0}
|
|
|
|
jobs:
|
|
|
|
validate:
|
|
|
|
runs-on: windows-latest
|
|
|
|
steps:
|
2022-04-27 11:47:50 +00:00
|
|
|
- uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
|
2022-06-10 09:03:36 +00:00
|
|
|
- uses: actions/setup-python@d09bd5e6005b175076f227b13d9730d56e9dcfcb
|
2022-01-25 22:29:17 +00:00
|
|
|
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)
|
2021-10-21 20:59:33 +00:00
|
|
|
run: vermin --backport argparse --backport typing -t='2.7-' -t='3.5-' -v spack/lib/spack/spack/ spack/lib/spack/llnl/ spack/bin/
|
2022-01-25 22:29:17 +00:00
|
|
|
- name: vermin (Repositories)
|
2021-10-21 20:59:33 +00:00
|
|
|
run: vermin --backport argparse --backport typing -t='2.7-' -t='3.5-' -v spack/var/spack/repos
|
2022-01-25 22:29:17 +00:00
|
|
|
# Run style checks on the files that have been changed
|
|
|
|
style:
|
|
|
|
runs-on: windows-latest
|
|
|
|
steps:
|
2022-04-27 11:47:50 +00:00
|
|
|
- uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
|
2022-01-25 22:29:17 +00:00
|
|
|
with:
|
|
|
|
fetch-depth: 0
|
2022-06-10 09:03:36 +00:00
|
|
|
- uses: actions/setup-python@d09bd5e6005b175076f227b13d9730d56e9dcfcb
|
2022-01-25 22:29:17 +00:00
|
|
|
with:
|
|
|
|
python-version: 3.9
|
|
|
|
- name: Install Python packages
|
|
|
|
run: |
|
2022-06-13 19:09:16 +00:00
|
|
|
python -m pip install --upgrade pip six setuptools==62.3.4 flake8 isort>=4.3.5 mypy>=0.800 black pywin32 types-python-dateutil
|
2022-01-25 22:29:17 +00:00
|
|
|
- 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:
|
2022-03-17 21:20:02 +00:00
|
|
|
needs: [ validate, style ]
|
2022-01-25 22:29:17 +00:00
|
|
|
runs-on: windows-latest
|
|
|
|
steps:
|
2022-04-27 11:47:50 +00:00
|
|
|
- uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
|
2022-01-25 22:29:17 +00:00
|
|
|
with:
|
|
|
|
fetch-depth: 0
|
2022-06-10 09:03:36 +00:00
|
|
|
- uses: actions/setup-python@d09bd5e6005b175076f227b13d9730d56e9dcfcb
|
2022-01-25 22:29:17 +00:00
|
|
|
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
|
2022-03-16 20:41:34 +00:00
|
|
|
spack unit-test --verbose --ignore=lib/spack/spack/test/cmd
|
2022-01-25 22:29:17 +00:00
|
|
|
unittest-cmd:
|
2022-03-17 21:20:02 +00:00
|
|
|
needs: [ validate, style ]
|
2022-01-25 22:29:17 +00:00
|
|
|
runs-on: windows-latest
|
|
|
|
steps:
|
2022-04-27 11:47:50 +00:00
|
|
|
- uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
|
2022-01-25 22:29:17 +00:00
|
|
|
with:
|
|
|
|
fetch-depth: 0
|
2022-06-10 09:03:36 +00:00
|
|
|
- uses: actions/setup-python@d09bd5e6005b175076f227b13d9730d56e9dcfcb
|
2022-01-25 22:29:17 +00:00
|
|
|
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
|
2022-03-16 20:41:34 +00:00
|
|
|
spack unit-test lib/spack/spack/test/cmd --verbose
|
2022-01-25 22:29:17 +00:00
|
|
|
buildtest:
|
2022-03-17 21:20:02 +00:00
|
|
|
needs: [ validate, style ]
|
2022-01-25 22:29:17 +00:00
|
|
|
runs-on: windows-latest
|
|
|
|
steps:
|
2022-04-27 11:47:50 +00:00
|
|
|
- uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
|
2022-01-25 22:29:17 +00:00
|
|
|
with:
|
|
|
|
fetch-depth: 0
|
2022-06-10 09:03:36 +00:00
|
|
|
- uses: actions/setup-python@d09bd5e6005b175076f227b13d9730d56e9dcfcb
|
2022-01-25 22:29:17 +00:00
|
|
|
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:
|
2022-03-17 21:20:02 +00:00
|
|
|
needs: [ validate, style ]
|
2022-01-25 22:29:17 +00:00
|
|
|
runs-on: windows-latest
|
|
|
|
steps:
|
|
|
|
- name: Disable Windows Symlinks
|
|
|
|
run: |
|
|
|
|
git config --global core.symlinks false
|
|
|
|
shell:
|
|
|
|
powershell
|
2022-04-27 11:47:50 +00:00
|
|
|
- uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b
|
2022-01-25 22:29:17 +00:00
|
|
|
with:
|
|
|
|
fetch-depth: 0
|
2022-06-10 09:03:36 +00:00
|
|
|
- uses: actions/setup-python@d09bd5e6005b175076f227b13d9730d56e9dcfcb
|
2022-01-25 22:29:17 +00:00
|
|
|
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
|
2022-05-21 06:57:19 +00:00
|
|
|
- uses: actions/upload-artifact@3cea5372237819ed00197afe530f5a7ea3e805c8
|
2022-01-25 22:29:17 +00:00
|
|
|
with:
|
|
|
|
name: Windows Spack Installer Bundle
|
|
|
|
path: ${{ env.installer_root }}\pkg\Spack.exe
|
2022-05-21 06:57:19 +00:00
|
|
|
- uses: actions/upload-artifact@3cea5372237819ed00197afe530f5a7ea3e805c8
|
2022-01-25 22:29:17 +00:00
|
|
|
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:
|
2022-06-10 09:03:36 +00:00
|
|
|
- uses: actions/setup-python@d09bd5e6005b175076f227b13d9730d56e9dcfcb
|
2022-01-25 22:29:17 +00:00
|
|
|
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
|
2022-04-11 07:55:32 +00:00
|
|
|
- uses: actions/download-artifact@v3
|
2022-01-25 22:29:17 +00:00
|
|
|
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
|
2022-04-11 07:55:32 +00:00
|
|
|
- uses: actions/download-artifact@v3
|
2022-01-25 22:29:17 +00:00
|
|
|
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
|