diff options
Diffstat (limited to '.github/workflows/windows_python.yml')
-rw-r--r-- | .github/workflows/windows_python.yml | 185 |
1 files changed, 185 insertions, 0 deletions
diff --git a/.github/workflows/windows_python.yml b/.github/workflows/windows_python.yml new file mode 100644 index 0000000000..7549273628 --- /dev/null +++ b/.github/workflows/windows_python.yml @@ -0,0 +1,185 @@ +name: windows tests + +on: + push: + branches: + - features/windows-support + - windows-ci* + pull_request: + branches: + - features/windows-support + - windows-ci* + - develop +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@v2 + - uses: actions/setup-python@v2 + 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.6-' -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.6-' -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@v2 + with: + fetch-depth: 0 + - uses: actions/setup-python@v2 + 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: + runs-on: windows-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - uses: actions/setup-python@v2 + 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 -x --verbose --ignore=lib/spack/spack/test/cmd + unittest-cmd: + runs-on: windows-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - uses: actions/setup-python@v2 + 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 -x --verbose + buildtest: + runs-on: windows-latest + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - uses: actions/setup-python@v2 + 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: + runs-on: windows-latest + steps: + - name: Disable Windows Symlinks + run: | + git config --global core.symlinks false + shell: + powershell + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - uses: actions/setup-python@v2 + 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@v2 + with: + name: Windows Spack Installer Bundle + path: ${{ env.installer_root }}\pkg\Spack.exe + - uses: actions/upload-artifact@v2 + 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@v2 + 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@v2 + 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@v2 + 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
\ No newline at end of file |