0e69710f41
Unit tests on Windows are supposed to pass for any PR to pass CI. However, the return code for the unit test command was not being checked, which meant this check was always passing (effectively disabled). This PR * Properly checks the result of the unit tests and fails if the unit tests fail * Fixes (or disables on Windows) a number of tests which have "drifted" out of support on Windows since this check was effectively disabled
155 lines
5.3 KiB
YAML
155 lines
5.3 KiB
YAML
name: windows
|
|
|
|
on:
|
|
workflow_call:
|
|
|
|
concurrency:
|
|
group: windows-${{github.ref}}-${{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:
|
|
unit-tests:
|
|
runs-on: windows-latest
|
|
steps:
|
|
- uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8
|
|
with:
|
|
fetch-depth: 0
|
|
- uses: actions/setup-python@13ae5bb136fac2878aff31522b9efb785519f984
|
|
with:
|
|
python-version: 3.9
|
|
- name: Install Python packages
|
|
run: |
|
|
python -m pip install --upgrade pip six pywin32 setuptools codecov pytest-cov clingo
|
|
- name: Create local develop
|
|
run: |
|
|
./.github/workflows/setup_git.ps1
|
|
- name: Unit Test
|
|
run: |
|
|
spack unit-test -x --verbose --cov --cov-config=pyproject.toml --ignore=lib/spack/spack/test/cmd
|
|
./share/spack/qa/validate_last_exit.ps1
|
|
coverage combine -a
|
|
coverage xml
|
|
- uses: codecov/codecov-action@d9f34f8cd5cb3b3eb79b3e4b5dae3a16df499a70
|
|
with:
|
|
flags: unittests,windows
|
|
unit-tests-cmd:
|
|
runs-on: windows-latest
|
|
steps:
|
|
- uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8
|
|
with:
|
|
fetch-depth: 0
|
|
- uses: actions/setup-python@13ae5bb136fac2878aff31522b9efb785519f984
|
|
with:
|
|
python-version: 3.9
|
|
- name: Install Python packages
|
|
run: |
|
|
python -m pip install --upgrade pip six pywin32 setuptools codecov coverage pytest-cov clingo
|
|
- name: Create local develop
|
|
run: |
|
|
./.github/workflows/setup_git.ps1
|
|
- name: Command Unit Test
|
|
run: |
|
|
spack unit-test -x --verbose --cov --cov-config=pyproject.toml lib/spack/spack/test/cmd
|
|
./share/spack/qa/validate_last_exit.ps1
|
|
coverage combine -a
|
|
coverage xml
|
|
- uses: codecov/codecov-action@d9f34f8cd5cb3b3eb79b3e4b5dae3a16df499a70
|
|
with:
|
|
flags: unittests,windows
|
|
build-abseil:
|
|
runs-on: windows-latest
|
|
steps:
|
|
- uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8
|
|
with:
|
|
fetch-depth: 0
|
|
- uses: actions/setup-python@13ae5bb136fac2878aff31522b9efb785519f984
|
|
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
|
|
spack external find cmake
|
|
spack external find ninja
|
|
spack -d install abseil-cpp
|
|
# TODO: johnwparent - reduce the size of the installer operations
|
|
# make-installer:
|
|
# runs-on: windows-latest
|
|
# steps:
|
|
# - name: Disable Windows Symlinks
|
|
# run: |
|
|
# git config --global core.symlinks false
|
|
# shell:
|
|
# powershell
|
|
# - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8
|
|
# with:
|
|
# fetch-depth: 0
|
|
# - uses: actions/setup-python@13ae5bb136fac2878aff31522b9efb785519f984
|
|
# with:
|
|
# python-version: 3.9
|
|
# - name: Install Python packages
|
|
# run: |
|
|
# python -m pip install --upgrade pip six pywin32 setuptools
|
|
# - name: Add Light and Candle to Path
|
|
# run: |
|
|
# $env:WIX >> $GITHUB_PATH
|
|
# - name: Run Installer
|
|
# run: |
|
|
# ./share/spack/qa/setup_spack_installer.ps1
|
|
# spack make-installer -s . -g SILENT pkg
|
|
# echo "installer_root=$((pwd).Path)" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append
|
|
# env:
|
|
# ProgressPreference: SilentlyContinue
|
|
# - uses: actions/upload-artifact@83fd05a356d7e2593de66fc9913b3002723633cb
|
|
# with:
|
|
# name: Windows Spack Installer Bundle
|
|
# path: ${{ env.installer_root }}\pkg\Spack.exe
|
|
# - uses: actions/upload-artifact@83fd05a356d7e2593de66fc9913b3002723633cb
|
|
# with:
|
|
# name: Windows Spack Installer
|
|
# path: ${{ env.installer_root}}\pkg\Spack.msi
|
|
# execute-installer:
|
|
# needs: make-installer
|
|
# runs-on: windows-latest
|
|
# defaults:
|
|
# run:
|
|
# shell: pwsh
|
|
# steps:
|
|
# - uses: actions/setup-python@13ae5bb136fac2878aff31522b9efb785519f984
|
|
# with:
|
|
# python-version: 3.9
|
|
# - name: Install Python packages
|
|
# run: |
|
|
# python -m pip install --upgrade pip six pywin32 setuptools
|
|
# - 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
|