summaryrefslogblamecommitdiff
path: root/.github/workflows/windows_python.yml
blob: 6c66d616b6ee62468e18b3e4fa960601eaa455d0 (plain) (tree)
1
2
3
4
5
6
7
8
9
             

   
                

            
                                                                                           

                          


          
                                                                                         
     
             

                           
                                                                     

                      
                                                                         



                                   
                                                                                      

                                
                                         

                     
                                                                                                        
                                               

                           
                                                                           

                                
                 

                           
                                                                     

                      
                                                                         



                                   
                                                                                               

                                
                                         

                             
                                                                                               
                                               

                           
                                                                           

                                
               

                           
                                                                     

                      
                                                                         



                                   
                                                                             


                           

                                 
                                   








                                                                   
                                                                       

                        
                                                                           





























                                                                                                         
                                                                           






























                                                                                                                          
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@8e5e7e5ab8b370d6c329ec480221332ada57f0ab
      with:
        fetch-depth: 0
    - uses: actions/setup-python@d27e3f3d7c64b4bbf8e4abfb9b63b83e846e0435
      with:
        python-version: 3.9
    - name: Install Python packages
      run: |
          python -m pip install --upgrade pip six pywin32 setuptools 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@40a12dcee2df644d47232dde008099a3e9e4f865
      with:
        flags: unittests,windows
  unit-tests-cmd:
    runs-on: windows-latest
    steps:
    - uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab
      with:
        fetch-depth: 0
    - uses: actions/setup-python@d27e3f3d7c64b4bbf8e4abfb9b63b83e846e0435
      with:
        python-version: 3.9
    - name: Install Python packages
      run: |
          python -m pip install --upgrade pip six pywin32 setuptools 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@40a12dcee2df644d47232dde008099a3e9e4f865
      with:
        flags: unittests,windows
  build-abseil:
    runs-on: windows-latest
    steps:
    - uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab
      with:
        fetch-depth: 0
    - uses: actions/setup-python@d27e3f3d7c64b4bbf8e4abfb9b63b83e846e0435
      with:
        python-version: 3.9
    - name: Install Python packages
      run: |
          python -m pip install --upgrade pip six pywin32 setuptools 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@8e5e7e5ab8b370d6c329ec480221332ada57f0ab
  #     with:
  #       fetch-depth: 0
  #   - uses: actions/setup-python@d27e3f3d7c64b4bbf8e4abfb9b63b83e846e0435
  #     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@d27e3f3d7c64b4bbf8e4abfb9b63b83e846e0435
  #     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