Skip to content

Commit dd2db99

Browse files
committed
workflows: extract Swift installation into an action
This adds an adhoc action to handle the installation of Swift on Windows. This reduces the duplication of the process and can simplify creation and updating of the installation process.
1 parent 36a63a0 commit dd2db99

File tree

5 files changed

+55
-72
lines changed

5 files changed

+55
-72
lines changed
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
name: Install Swift
2+
description: Install Swift Release
3+
4+
inputs:
5+
branch:
6+
description: "Swift Branch"
7+
required: true
8+
tag:
9+
description: "Swift Tag"
10+
required: true
11+
12+
runs:
13+
using: "composite"
14+
steps:
15+
- name: Install Swift ${{ inputs.tag }}
16+
run: |
17+
Install-Binary -Url "https://swift.org/builds/${{ inputs.branch }}/windows10/swift-${{ inputs.tag }}/swift-${{ inputs.tag }}-windows10.exe" -Name "installer.exe" -ArgumentList ("-q")
18+
shell: pwsh
19+
- name: Set Environment Variables
20+
run: |
21+
echo "SDKROOT=C:\Library\Developer\Platforms\Windows.platform\Developer\SDKs\Windows.sdk" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
22+
echo "DEVELOPER_DIR=C:\Library\Developer" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
23+
shell: pwsh
24+
- name: Adjust Paths
25+
run: |
26+
echo "C:\Library\Swift-development\bin;C:\Library\icu-67\usr\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
27+
echo "C:\Library\Developer\Toolchains\unknown-Asserts-development.xctoolchain\usr\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
28+
shell: pwsh
29+
- name: Install Supporting Files
30+
run: |
31+
Copy-Item "$env:SDKROOT\usr\share\ucrt.modulemap" -destination "$env:UniversalCRTSdkDir\Include\$env:UCRTVersion\ucrt\module.modulemap"
32+
Copy-Item "$env:SDKROOT\usr\share\visualc.modulemap" -destination "$env:VCToolsInstallDir\include\module.modulemap"
33+
Copy-Item "$env:SDKROOT\usr\share\visualc.apinotes" -destination "$env:VCToolsInstallDir\include\visualc.apinotes"
34+
Copy-Item "$env:SDKROOT\usr\share\winsdk.modulemap" -destination "$env:UniversalCRTSdkDir\Include\$env:UCRTVersion\um\module.modulemap"
35+
shell: pwsh

.github/workflows/build.yml

Lines changed: 5 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -24,24 +24,11 @@ jobs:
2424
steps:
2525
- uses: actions/checkout@v2
2626
- uses: seanmiddleditch/gha-setup-vsdevenv@master
27-
28-
- name: Install Swift ${{ matrix.tag }}
29-
run: |
30-
Install-Binary -Url "https://swift.org/builds/${{ matrix.branch }}/windows10/swift-${{ matrix.tag }}/swift-${{ matrix.tag }}-windows10.exe" -Name "installer.exe" -ArgumentList ("-q")
31-
- name: Set Environment Variables
32-
run: |
33-
echo "SDKROOT=C:\Library\Developer\Platforms\Windows.platform\Developer\SDKs\Windows.sdk" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
34-
echo "DEVELOPER_DIR=C:\Library\Developer" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
35-
- name: Adjust Paths
36-
run: |
37-
echo "C:\Library\Swift-development\bin;C:\Library\icu-67\usr\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
38-
echo "C:\Library\Developer\Toolchains\unknown-Asserts-development.xctoolchain\usr\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
39-
- name: Install Supporting Files
40-
run: |
41-
Copy-Item "$env:SDKROOT\usr\share\ucrt.modulemap" -destination "$env:UniversalCRTSdkDir\Include\$env:UCRTVersion\ucrt\module.modulemap"
42-
Copy-Item "$env:SDKROOT\usr\share\visualc.modulemap" -destination "$env:VCToolsInstallDir\include\module.modulemap"
43-
Copy-Item "$env:SDKROOT\usr\share\visualc.apinotes" -destination "$env:VCToolsInstallDir\include\visualc.apinotes"
44-
Copy-Item "$env:SDKROOT\usr\share\winsdk.modulemap" -destination "$env:UniversalCRTSdkDir\Include\$env:UCRTVersion\um\module.modulemap"
27+
- name: Install Swift
28+
uses: ./.github/actions/install-swift
29+
with:
30+
tag: ${{ matrix.tag }}
31+
branch: ${{ matrix.branch }}
4532

4633
- name: Build
4734
run: swift build -v

.github/workflows/coverage.yml

Lines changed: 5 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -22,24 +22,11 @@ jobs:
2222
steps:
2323
- uses: actions/checkout@v2
2424
- uses: seanmiddleditch/gha-setup-vsdevenv@master
25-
26-
- name: Install Swift ${{ matrix.tag }}
27-
run: |
28-
Install-Binary -Url "https://swift.org/builds/${{ matrix.branch }}/windows10/swift-${{ matrix.tag }}/swift-${{ matrix.tag }}-windows10.exe" -Name "installer.exe" -ArgumentList ("-q")
29-
- name: Set Environment Variables
30-
run: |
31-
echo "SDKROOT=C:\Library\Developer\Platforms\Windows.platform\Developer\SDKs\Windows.sdk" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
32-
echo "DEVELOPER_DIR=C:\Library\Developer" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
33-
- name: Adjust Paths
34-
run: |
35-
echo "C:\Library\Swift-development\bin;C:\Library\icu-67\usr\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
36-
echo "C:\Library\Developer\Toolchains\unknown-Asserts-development.xctoolchain\usr\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
37-
- name: Install Supporting Files
38-
run: |
39-
Copy-Item "$env:SDKROOT\usr\share\ucrt.modulemap" -destination "$env:UniversalCRTSdkDir\Include\$env:UCRTVersion\ucrt\module.modulemap"
40-
Copy-Item "$env:SDKROOT\usr\share\visualc.modulemap" -destination "$env:VCToolsInstallDir\include\module.modulemap"
41-
Copy-Item "$env:SDKROOT\usr\share\visualc.apinotes" -destination "$env:VCToolsInstallDir\include\visualc.apinotes"
42-
Copy-Item "$env:SDKROOT\usr\share\winsdk.modulemap" -destination "$env:UniversalCRTSdkDir\Include\$env:UCRTVersion\um\module.modulemap"
25+
- name: Install Swift
26+
uses: ./.github/actions/install-swift
27+
with:
28+
tag: ${{ matrix.tag }}
29+
branch: ${{ matrix.branch }}
4330

4431
- name: WORKAROUND_SR?????, WORKAROUND_SR?????
4532
run: |

.github/workflows/documentation.yml

Lines changed: 5 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -24,24 +24,11 @@ jobs:
2424
steps:
2525
- uses: actions/checkout@v2
2626
- uses: seanmiddleditch/gha-setup-vsdevenv@master
27-
28-
- name: Install Swift ${{ matrix.tag }}
29-
run: |
30-
Install-Binary -Url "https://swift.org/builds/${{ matrix.branch }}/windows10/swift-${{ matrix.tag }}/swift-${{ matrix.tag }}-windows10.exe" -Name "installer.exe" -ArgumentList ("-q")
31-
- name: Set Environment Variables
32-
run: |
33-
echo "SDKROOT=C:\Library\Developer\Platforms\Windows.platform\Developer\SDKs\Windows.sdk" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
34-
echo "DEVELOPER_DIR=C:\Library\Developer" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
35-
- name: Adjust Paths
36-
run: |
37-
echo "C:\Library\Swift-development\bin;C:\Library\icu-67\usr\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
38-
echo "C:\Library\Developer\Toolchains\unknown-Asserts-development.xctoolchain\usr\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
39-
- name: Install Supporting Files
40-
run: |
41-
Copy-Item "$env:SDKROOT\usr\share\ucrt.modulemap" -destination "$env:UniversalCRTSdkDir\Include\$env:UCRTVersion\ucrt\module.modulemap"
42-
Copy-Item "$env:SDKROOT\usr\share\visualc.modulemap" -destination "$env:VCToolsInstallDir\include\module.modulemap"
43-
Copy-Item "$env:SDKROOT\usr\share\visualc.apinotes" -destination "$env:VCToolsInstallDir\include\visualc.apinotes"
44-
Copy-Item "$env:SDKROOT\usr\share\winsdk.modulemap" -destination "$env:UniversalCRTSdkDir\Include\$env:UCRTVersion\um\module.modulemap"
27+
- name: Install Swift
28+
uses: ./.github/actions/install-swift
29+
with:
30+
tag: ${{ matrix.tag }}
31+
branch: ${{ matrix.branch }}
4532

4633
# TODO(compnerd) this should get merged into swift-doc's distribution
4734
- name: Fetch graphviz

.github/workflows/lint.yml

Lines changed: 5 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -20,24 +20,11 @@ jobs:
2020
steps:
2121
- uses: actions/checkout@v2
2222
- uses: seanmiddleditch/gha-setup-vsdevenv@master
23-
24-
- name: Install Swift 5.5-DEVELOPMENT-SNAPSHOT-2021-05-02-a
25-
run: |
26-
Install-Binary -Url "https://swift.org/builds/${{ matrix.branch }}/windows10/swift-${{ matrix.tag }}/swift-${{ matrix.tag }}-windows10.exe" -Name "installer.exe" -ArgumentList ("-q")
27-
- name: Set Environment Variables
28-
run: |
29-
echo "SDKROOT=C:\Library\Developer\Platforms\Windows.platform\Developer\SDKs\Windows.sdk" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
30-
echo "DEVELOPER_DIR=C:\Library\Developer" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
31-
- name: Adjust Paths
32-
run: |
33-
echo "C:\Library\Swift-development\bin;C:\Library\icu-67\usr\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
34-
echo "C:\Library\Developer\Toolchains\unknown-Asserts-development.xctoolchain\usr\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
35-
- name: Install Supporting Files
36-
run: |
37-
Copy-Item "$env:SDKROOT\usr\share\ucrt.modulemap" -destination "$env:UniversalCRTSdkDir\Include\$env:UCRTVersion\ucrt\module.modulemap"
38-
Copy-Item "$env:SDKROOT\usr\share\visualc.modulemap" -destination "$env:VCToolsInstallDir\include\module.modulemap"
39-
Copy-Item "$env:SDKROOT\usr\share\visualc.apinotes" -destination "$env:VCToolsInstallDir\include\visualc.apinotes"
40-
Copy-Item "$env:SDKROOT\usr\share\winsdk.modulemap" -destination "$env:UniversalCRTSdkDir\Include\$env:UCRTVersion\um\module.modulemap"
23+
- name: Install Swift
24+
uses: ./.github/actions/install-swift
25+
with:
26+
tag: ${{ matrix.tag }}
27+
branch: ${{ matrix.branch }}
4128

4229
- uses: robinraju/release-downloader@v1
4330
with:

0 commit comments

Comments
 (0)