@@ -80,18 +80,26 @@ jobs:
80
80
windows-build :
81
81
name : Windows (${{ matrix.swift_version }} - windows-2022)
82
82
if : ${{ inputs.enable_windows_checks }}
83
- runs-on : windows-2022
83
+ runs-on : ${{ contains(matrix.swift_version, 'nightly') && ' windows-2019' || 'windows- 2022' }}
84
84
strategy :
85
85
fail-fast : false
86
86
matrix :
87
- swift_version : ['5.9', '6.0']
87
+ swift_version : ['5.9', '6.0', 'nightly', 'nightly-6.0' ]
88
88
exclude :
89
89
- ${{ fromJson(inputs.windows_exclude_swift_versions) }}
90
90
steps :
91
91
- name : Checkout repository
92
92
uses : actions/checkout@v4
93
93
- name : Pull Docker image
94
- run : docker pull swift:${{ matrix.swift_version }}-windowsservercore-ltsc2022
94
+ id : pull_docker_image
95
+ run : |
96
+ if ("${{ matrix.swift_version }}".Contains("nightly")) {
97
+ $Image = "swiftlang/swift:${{ matrix.swift_version }}-windowsservercore-1809"
98
+ } else {
99
+ $Image = "swift:${{ matrix.swift_version }}-windowsservercore-ltsc2022"
100
+ }
101
+ docker pull $Image
102
+ echo "image=$Image" >> "$env:GITHUB_OUTPUT"
95
103
- name : Create test script
96
104
run : |
97
105
mkdir $env:TEMP\test-script
@@ -105,26 +113,8 @@ jobs:
105
113
echo 'swift test --version || (exit /b 1)' >> $env:TEMP\test-script\run.cmd
106
114
echo 'cd C:\source\ || (exit /b 1)' >> $env:TEMP\test-script\run.cmd
107
115
echo 'powershell.exe -NoLogo -File C:\test-script\pre-build.ps1 || (exit /b 1)' >> $env:TEMP\test-script\run.cmd
108
- echo '${{ inputs.windows_build_command }} ${{ inputs.swift_flags }} || (exit /b 1)' >> $env:TEMP\test-script\run.cmd
116
+ echo '${{ inputs.windows_build_command }} ${{ (contains(matrix.swift_version, 'nightly') && inputs.swift_nightly_flags) || inputs.swift_flags }} || (exit /b 1)' >> $env:TEMP\test-script\run.cmd
109
117
- name : Build / Test
110
118
timeout-minutes : 60
111
- run : docker run -v ${{ github.workspace }}:C:\source -v $env:TEMP\test-script:C:\test-script swift:${{ matrix.swift_version }}-windowsservercore-ltsc2022 C:\test-script\run.cmd
112
-
113
- windows-nightly-build :
114
- name : Windows (${{ matrix.swift_version }} - windows-2019)
115
- if : ${{ inputs.enable_windows_checks }}
116
- runs-on : windows-2019
117
- strategy :
118
- fail-fast : false
119
- matrix :
120
- swift_version : ['nightly', 'nightly-6.0']
121
- exclude :
122
- - ${{ fromJson(inputs.windows_exclude_swift_versions) }}
123
- steps :
124
- - name : Pull Docker image
125
- run : docker pull swiftlang/swift:${{ matrix.swift_version }}-windowsservercore-1809
126
- - name : Checkout repository
127
- uses : actions/checkout@v4
128
- - name : Build / Test
129
- timeout-minutes : 60
130
- run : docker run -v ${{ github.workspace }}:C:\source swiftlang/swift:${{ matrix.swift_version }}-windowsservercore-1809 cmd /s /c "swift --version & swift test --version & cd C:\source\ & ${{ inputs.windows_build_command }} ${{ inputs.swift_nightly_flags }}"
119
+ run : |
120
+ docker run -v ${{ github.workspace }}:C:\source -v $env:TEMP\test-script:C:\test-script ${{ steps.pull_docker_image.outputs.image }} C:\test-script\run.cmd
0 commit comments