@@ -80,18 +80,26 @@ jobs:
8080 windows-build :
8181 name : Windows (${{ matrix.swift_version }} - windows-2022)
8282 if : ${{ inputs.enable_windows_checks }}
83- runs-on : windows-2022
83+ runs-on : ${{ contains(matrix.swift_version, 'nightly') && ' windows-2019' || 'windows- 2022' }}
8484 strategy :
8585 fail-fast : false
8686 matrix :
87- swift_version : ['5.9', '6.0']
87+ swift_version : ['5.9', '6.0', 'nightly', 'nightly-6.0' ]
8888 exclude :
8989 - ${{ fromJson(inputs.windows_exclude_swift_versions) }}
9090 steps :
9191 - name : Checkout repository
9292 uses : actions/checkout@v4
9393 - 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" >> "$GITHUB_OUTPUT"
95103 - name : Create test script
96104 run : |
97105 mkdir $env:TEMP\test-script
@@ -105,26 +113,9 @@ jobs:
105113 echo 'swift test --version || (exit /b 1)' >> $env:TEMP\test-script\run.cmd
106114 echo 'cd C:\source\ || (exit /b 1)' >> $env:TEMP\test-script\run.cmd
107115 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
109117 - name : Build / Test
110118 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
121+ docker run -v ${{ github.workspace }}:C:\source -v $env:TEMP\test-script:C:\test-script $Image C:\test-script\run.cmd
0 commit comments