|
29 | 29 | default: ""
|
30 | 30 | linux_build_command:
|
31 | 31 | type: string
|
32 |
| - description: "Linux Build command default is swift test" |
| 32 | + description: "Linux command to build and test the package" |
33 | 33 | default: "swift test"
|
| 34 | + windows_pre_build_command: |
| 35 | + type: string |
| 36 | + description: "Windows Command Prompt command to execute before building the Swift package" |
| 37 | + default: "" |
34 | 38 | windows_build_command:
|
35 | 39 | type: string
|
36 |
| - description: "Linux Build command default is swift test" |
| 40 | + description: "Windows Command Prompt command to build and test the package" |
37 | 41 | default: "swift test"
|
38 | 42 | linux_env_vars:
|
39 | 43 | description: "List of environment variables"
|
40 | 44 | type: string
|
41 | 45 | enable_windows_checks:
|
42 | 46 | type: boolean
|
43 |
| - description: "Boolean to enable windows testing. Defaults to true." |
| 47 | + description: "Boolean to enable windows testing. Defaults to true" |
44 | 48 | default: true
|
45 | 49 |
|
46 | 50 | jobs:
|
@@ -84,13 +88,27 @@ jobs:
|
84 | 88 | exclude:
|
85 | 89 | - ${{ fromJson(inputs.windows_exclude_swift_versions) }}
|
86 | 90 | steps:
|
87 |
| - - name: Pull Docker image |
88 |
| - run: docker pull swift:${{ matrix.swift_version }}-windowsservercore-ltsc2022 |
89 | 91 | - name: Checkout repository
|
90 | 92 | uses: actions/checkout@v4
|
| 93 | + - name: Pull Docker image |
| 94 | + run: docker pull swift:${{ matrix.swift_version }}-windowsservercore-ltsc2022 |
| 95 | + - name: Create test script |
| 96 | + run: | |
| 97 | + mkdir $env:TEMP\test-script |
| 98 | + echo @' |
| 99 | + Set-PSDebug -Trace 1 |
| 100 | + $ErrorActionPreference = "Stop" |
| 101 | + ${{ inputs.windows_pre_build_command }} |
| 102 | + '@ >> $env:TEMP\test-script\pre-build.ps1 |
| 103 | +
|
| 104 | + echo 'swift --version || (exit /b 1)' >> $env:TEMP\test-script\run.cmd |
| 105 | + echo 'swift test --version || (exit /b 1)' >> $env:TEMP\test-script\run.cmd |
| 106 | + echo 'cd C:\source\ || (exit /b 1)' >> $env:TEMP\test-script\run.cmd |
| 107 | + 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 |
91 | 109 | - name: Build / Test
|
92 | 110 | timeout-minutes: 60
|
93 |
| - run: docker run -v ${{ github.workspace }}:C:\source swift:${{ matrix.swift_version }}-windowsservercore-ltsc2022 cmd /s /c "swift --version & swift test --version & cd C:\source\ & ${{ inputs.windows_build_command }} ${{ inputs.swift_flags }}" |
| 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 |
94 | 112 |
|
95 | 113 | windows-nightly-build:
|
96 | 114 | name: Windows (${{ matrix.swift_version }} - windows-2019)
|
|
0 commit comments