Skip to content

Commit a77f41b

Browse files
committed
Merge Windows and Windows nightly into a single matrix
1 parent 3e3d801 commit a77f41b

File tree

1 file changed

+14
-24
lines changed

1 file changed

+14
-24
lines changed

.github/workflows/swift_package_test.yml

+14-24
Original file line numberDiff line numberDiff line change
@@ -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" >> "$env:GITHUB_OUTPUT"
95103
- name: Create test script
96104
run: |
97105
mkdir $env:TEMP\test-script
@@ -105,26 +113,8 @@ 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

0 commit comments

Comments
 (0)