summaryrefslogtreecommitdiff
path: root/.github/workflows/windows_python.yml
blob: 35689ac196b7643bf37cd18f3f032ef992b4afb7 (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@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