summaryrefslogtreecommitdiff
path: root/.github/workflows/windows_python.yml
blob: 92ac3b2f52bbae29480fef3f3a217ec374c588f5 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
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@57ded4d7d5e986d7296eab16560982c6dd7c923b
      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@894ff025c7b54547a9a2a1e9f228beae737ad3c2
      with:
        flags: unittests,windows
  unit-tests-cmd:
    runs-on: windows-latest
    steps:
    - uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab
      with:
        fetch-depth: 0
    - uses: actions/setup-python@57ded4d7d5e986d7296eab16560982c6dd7c923b
      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@894ff025c7b54547a9a2a1e9f228beae737ad3c2
      with:
        flags: unittests,windows
  build-abseil:
    runs-on: windows-latest
    steps:
    - uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab
      with:
        fetch-depth: 0
    - uses: actions/setup-python@57ded4d7d5e986d7296eab16560982c6dd7c923b
      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@57ded4d7d5e986d7296eab16560982c6dd7c923b
  #     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@57ded4d7d5e986d7296eab16560982c6dd7c923b
  #     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