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@755da8c3cf115ac066823e79a1e1788f8940201b with: fetch-depth: 0 - uses: actions/setup-python@2c3dd9e7e29afd70cc0950079bde6c979d1f69f9 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@755da8c3cf115ac066823e79a1e1788f8940201b with: fetch-depth: 0 - uses: actions/setup-python@2c3dd9e7e29afd70cc0950079bde6c979d1f69f9 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@755da8c3cf115ac066823e79a1e1788f8940201b with: fetch-depth: 0 - uses: actions/setup-python@2c3dd9e7e29afd70cc0950079bde6c979d1f69f9 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@755da8c3cf115ac066823e79a1e1788f8940201b # with: # fetch-depth: 0 # - uses: actions/setup-python@2c3dd9e7e29afd70cc0950079bde6c979d1f69f9 # 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@2c3dd9e7e29afd70cc0950079bde6c979d1f69f9 # 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