Skip to content

Commit 3a3cc36

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

File tree

1 file changed

+17
-24
lines changed

1 file changed

+17
-24
lines changed

.github/workflows/swift_package_test.yml

+17-24
Original file line numberDiff line numberDiff line change
@@ -80,18 +80,24 @@ 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+
run: |
95+
if ("${{ matrix.swift_version }}".Contains("nightly")) {
96+
$Image = "swiftlang/swift:${{ matrix.swift_version }}-windowsservercore-1809"
97+
} else {
98+
$Image = "swift:${{ matrix.swift_version }}-windowsservercore-ltsc2022"
99+
}
100+
docker pull $Image
95101
- name: Create test script
96102
run: |
97103
mkdir $env:TEMP\test-script
@@ -105,26 +111,13 @@ jobs:
105111
echo 'swift test --version || (exit /b 1)' >> $env:TEMP\test-script\run.cmd
106112
echo 'cd C:\source\ || (exit /b 1)' >> $env:TEMP\test-script\run.cmd
107113
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
114+
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
109115
- name: Build / Test
110116
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 }}"
117+
run: |
118+
if ("${{ matrix.swift_version }}".Contains("nightly")) {
119+
$Image = "swiftlang/swift:${{ matrix.swift_version }}-windowsservercore-1809"
120+
} else {
121+
$Image = "swift:${{ matrix.swift_version }}-windowsservercore-ltsc2022"
122+
}
123+
docker run -v ${{ github.workspace }}:C:\source -v $env:TEMP\test-script:C:\test-script $Image C:\test-script\run.cmd

0 commit comments

Comments
 (0)