From 0e69710f417dce418ca1e3b54ff448493b102c06 Mon Sep 17 00:00:00 2001 From: "John W. Parent" <45471568+johnwparent@users.noreply.github.com> Date: Fri, 9 Dec 2022 08:27:46 -0500 Subject: Windows: reenable unit tests (#33385) 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 --- .github/workflows/windows_python.yml | 163 +++++++++++++++++------------------ 1 file changed, 80 insertions(+), 83 deletions(-) (limited to '.github/workflows/windows_python.yml') diff --git a/.github/workflows/windows_python.yml b/.github/workflows/windows_python.yml index 05a98c4cba..783ef16252 100644 --- a/.github/workflows/windows_python.yml +++ b/.github/workflows/windows_python.yml @@ -10,7 +10,7 @@ concurrency: defaults: run: shell: - powershell Invoke-Expression -Command ".\share\spack\qa\windows_test_setup.ps1"; {0} + powershell Invoke-Expression -Command "./share/spack/qa/windows_test_setup.ps1"; {0} jobs: unit-tests: runs-on: windows-latest @@ -26,13 +26,11 @@ jobs: python -m pip install --upgrade pip six pywin32 setuptools codecov pytest-cov clingo - name: Create local develop run: | - .\spack\.github\workflows\setup_git.ps1 + ./.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 - cd spack - dir 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 @@ -52,12 +50,11 @@ jobs: python -m pip install --upgrade pip six pywin32 setuptools codecov coverage pytest-cov clingo - name: Create local develop run: | - .\spack\.github\workflows\setup_git.ps1 + ./.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 - cd spack 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 @@ -78,81 +75,81 @@ jobs: - 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 -d install abseil-cpp - 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: | - .\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@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 + # 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 -- cgit v1.2.3-60-g2f50