Skip to content

Commit 5d924b9

Browse files
Merge remote-tracking branch 'swiftwasm/swiftwasm' into katei/merge-main-2020-10-27
2 parents c3f8704 + ae9ccac commit 5d924b9

File tree

7 files changed

+105
-9
lines changed

7 files changed

+105
-9
lines changed

.github/workflows/main.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ jobs:
2727
sudo apt clean
2828
docker rmi $(docker image ls -aq)
2929
df -h
30-
- uses: actions/checkout@v1
30+
- uses: actions/checkout@v2
3131
with:
3232
path: swift
3333
- name: Prepare sccache timestamp
@@ -73,7 +73,7 @@ jobs:
7373
sudo apt clean
7474
docker rmi $(docker image ls -aq)
7575
df -h
76-
- uses: actions/checkout@v1
76+
- uses: actions/checkout@v2
7777
with:
7878
path: swift
7979
- name: Prepare sccache timestamp
@@ -109,7 +109,7 @@ jobs:
109109
runs-on: macos-10.15
110110

111111
steps:
112-
- uses: actions/checkout@v1
112+
- uses: actions/checkout@v2
113113
with:
114114
path: swift
115115
- name: Prepare sccache timestamp
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
name: Manual distribution
2+
on:
3+
workflow_dispatch:
4+
inputs:
5+
channel:
6+
description: 'Release channel'
7+
required: true
8+
toolchain_name:
9+
description: 'Toolchain name'
10+
required: true
11+
display_name:
12+
description: 'Display name for Darwin toolchain'
13+
display_name_short:
14+
description: 'Short display name for Darwin toolchain'
15+
jobs:
16+
manual-distribution:
17+
runs-on: macos-latest
18+
steps:
19+
- uses: actions/checkout@v2
20+
- name: Setup keychain
21+
run: |
22+
security create-keychain -p "$KEYCHAIN_PASSWORD" swiftwasm-ci
23+
KEYCHAIN=$HOME/Library/Keychains/swiftwasm-ci-db
24+
security unlock-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN
25+
security set-keychain-settings -lut 7200 $KEYCHAIN
26+
security default-keychain -s $KEYCHAIN
27+
echo "$DARWIN_TOOLCHAIN_APPLICATION_CERT_BASE64" | base64 --decode -o developerID_application.p12
28+
security import developerID_application.p12 -P "$DARWIN_TOOLCHAIN_APPLICATION_CERT_PASSWORD" -T /usr/bin/pkgbuild -T /usr/bin/codesign
29+
echo "$DARWIN_TOOLCHAIN_INSTALLER_CERT_BASE64" | base64 --decode -o developerID_installer.p12
30+
security import developerID_installer.p12 -P "$DARWIN_TOOLCHAIN_INSTALLER_CERT_PASSWORD" -T /usr/bin/pkgbuild -T /usr/bin/codesign
31+
security set-key-partition-list -S "apple-tool:,apple:" -s -k "$KEYCHAIN_PASSWORD" $KEYCHAIN
32+
env:
33+
KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }}
34+
DARWIN_TOOLCHAIN_APPLICATION_CERT: ${{ secrets.DARWIN_TOOLCHAIN_APPLICATION_CERT }}
35+
DARWIN_TOOLCHAIN_APPLICATION_CERT_BASE64: ${{ secrets.DARWIN_TOOLCHAIN_APPLICATION_CERT_BASE64 }}
36+
DARWIN_TOOLCHAIN_APPLICATION_CERT_PASSWORD: ${{ secrets.DARWIN_TOOLCHAIN_APPLICATION_CERT_PASSWORD }}
37+
DARWIN_TOOLCHAIN_INSTALLER_CERT: ${{ secrets.DARWIN_TOOLCHAIN_INSTALLER_CERT }}
38+
DARWIN_TOOLCHAIN_INSTALLER_CERT_BASE64: ${{ secrets.DARWIN_TOOLCHAIN_INSTALLER_CERT_BASE64 }}
39+
DARWIN_TOOLCHAIN_INSTALLER_CERT_PASSWORD: ${{ secrets.DARWIN_TOOLCHAIN_INSTALLER_CERT_PASSWORD }}
40+
- run: |
41+
case "${{ github.event.inputs.channel }}" in
42+
"DEVELOPMENT")
43+
./utils/webassembly/distribute-latest-toolchain.sh swiftwasm DEVELOPMENT "${{ github.event.inputs.toolchain_name }}"
44+
;;
45+
"5.3")
46+
./utils/webassembly/distribute-latest-toolchain.sh swiftwasm-release/5.3 5.3 "${{ github.event.inputs.toolchain_name }}"
47+
;;
48+
*)
49+
echo "Unrecognised release channel: ${{ github.event.inputs.channel }}"
50+
exit 1
51+
;;
52+
esac
53+
54+
env:
55+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
56+
DARWIN_TOOLCHAIN_APPLICATION_CERT: ${{ secrets.DARWIN_TOOLCHAIN_APPLICATION_CERT }}
57+
DARWIN_TOOLCHAIN_INSTALLER_CERT: ${{ secrets.DARWIN_TOOLCHAIN_INSTALLER_CERT }}
58+
DARWIN_TOOLCHAIN_NOTARIZE_EMAIL: ${{ secrets.DARWIN_TOOLCHAIN_NOTARIZE_EMAIL }}
59+
DARWIN_TOOLCHAIN_NOTARIZE_PASSWORD: ${{ secrets.DARWIN_TOOLCHAIN_NOTARIZE_PASSWORD }}
60+
DARWIN_TOOLCHAIN_DISPLAY_NAME: ${{ github.event.inputs.display_name }}
61+
DARWIN_TOOLCHAIN_DISPLAY_NAME_SHORT: ${{ github.event.inputs.display_name_short }}

.github/workflows/nightly-distribution.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ jobs:
66
nightly-distribution:
77
runs-on: macos-latest
88
steps:
9-
- uses: actions/checkout@v1
9+
- uses: actions/checkout@v2
1010
- name: Setup keychain
1111
run: |
1212
security create-keychain -p "$KEYCHAIN_PASSWORD" swiftwasm-ci

lib/Driver/Driver.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2350,7 +2350,8 @@ bool Driver::handleImmediateArgs(const ArgList &Args, const ToolChain &TC) {
23502350
if (Args.hasFlag(options::OPT_static_executable,
23512351
options::OPT_no_static_executable, false) ||
23522352
Args.hasFlag(options::OPT_static_stdlib, options::OPT_no_static_stdlib,
2353-
false)) {
2353+
false) ||
2354+
TC.getTriple().isOSBinFormatWasm()) {
23542355
commandLine.push_back("-use-static-resource-dir");
23552356
}
23562357

lib/Driver/ToolChains.cpp

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -547,7 +547,8 @@ ToolChain::constructInvocation(const CompileJobAction &job,
547547
if (context.Args.hasFlag(options::OPT_static_executable,
548548
options::OPT_no_static_executable, false) ||
549549
context.Args.hasFlag(options::OPT_static_stdlib,
550-
options::OPT_no_static_stdlib, false)) {
550+
options::OPT_no_static_stdlib, false) ||
551+
getTriple().isOSBinFormatWasm()) {
551552
Arguments.push_back("-use-static-resource-dir");
552553
}
553554

@@ -1050,7 +1051,8 @@ ToolChain::constructInvocation(const MergeModuleJobAction &job,
10501051
if (context.Args.hasFlag(options::OPT_static_executable,
10511052
options::OPT_no_static_executable, false) ||
10521053
context.Args.hasFlag(options::OPT_static_stdlib,
1053-
options::OPT_no_static_stdlib, false)) {
1054+
options::OPT_no_static_stdlib, false) ||
1055+
getTriple().isOSBinFormatWasm()) {
10541056
Arguments.push_back("-use-static-resource-dir");
10551057
}
10561058
Arguments.push_back("-module-name");
@@ -1252,6 +1254,14 @@ ToolChain::constructInvocation(const GeneratePCHJobAction &job,
12521254
addInputsOfType(Arguments, context.InputActions, file_types::TY_ObjCHeader);
12531255
context.Args.AddLastArg(Arguments, options::OPT_index_store_path);
12541256

1257+
if (context.Args.hasFlag(options::OPT_static_executable,
1258+
options::OPT_no_static_executable, false) ||
1259+
context.Args.hasFlag(options::OPT_static_stdlib, options::OPT_no_static_stdlib,
1260+
false) ||
1261+
getTriple().isOSBinFormatWasm()) {
1262+
Arguments.push_back("-use-static-resource-dir");
1263+
}
1264+
12551265
if (job.isPersistentPCH()) {
12561266
Arguments.push_back("-emit-pch");
12571267
Arguments.push_back("-pch-output-dir");

utils/darwin-installer-scripts/postinstall

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,4 @@
1313

1414
INSTALLED_TOOLCHAIN=$2
1515

16-
ln -fs "${INSTALLED_TOOLCHAIN}" "${INSTALLED_TOOLCHAIN%/*}/swift-latest"
16+
ln -fs "${INSTALLED_TOOLCHAIN}" "${INSTALLED_TOOLCHAIN%/*}/swift-latest.xctoolchain"

utils/webassembly/distribute-latest-toolchain.sh

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -175,13 +175,37 @@ unzip ubuntu18.04-installable.zip
175175
unzip ubuntu20.04-installable.zip
176176
unzip macos-installable.zip
177177

178-
toolchain_name=$(basename $(tar tfz swift-wasm-$channel-SNAPSHOT-ubuntu18.04_x86_64.tar.gz | head -n1))
178+
original_toolchain_name=$(basename $(tar tfz swift-wasm-$channel-SNAPSHOT-ubuntu18.04_x86_64.tar.gz | head -n1))
179+
toolchain_name=${3:-$original_toolchain_name}
179180

180181
if is_released $toolchain_name; then
181182
echo "Latest toolchain $toolchain_name has been already released"
182183
exit 0
183184
fi
184185

186+
if [[ "$toolchain_name" != "$original_toolchain_name" ]]; then
187+
tar xfz swift-wasm-$channel-SNAPSHOT-ubuntu18.04_x86_64.tar.gz
188+
mv "$original_toolchain_name" "$toolchain_name"
189+
tar cfz swift-wasm-$channel-SNAPSHOT-ubuntu18.04_x86_64.tar.gz "$toolchain_name"
190+
rm -rf "$toolchain_name"
191+
192+
tar xfz swift-wasm-$channel-SNAPSHOT-ubuntu20.04_x86_64.tar.gz
193+
mv "$original_toolchain_name" "$toolchain_name"
194+
tar cfz swift-wasm-$channel-SNAPSHOT-ubuntu20.04_x86_64.tar.gz "$toolchain_name"
195+
rm -rf "$toolchain_name"
196+
197+
tar xfz swift-wasm-$channel-SNAPSHOT-macos_x86_64.tar.gz
198+
mv "$original_toolchain_name" "$toolchain_name"
199+
darwin_toolchain_info_plist="$toolchain_name/Info.plist"
200+
if [[ -n "${DARWIN_TOOLCHAIN_DISPLAY_NAME}" ]]; then
201+
/usr/libexec/PlistBuddy -c "Set DisplayName '${DARWIN_TOOLCHAIN_DISPLAY_NAME}'" "${darwin_toolchain_info_plist}"
202+
fi
203+
if [[ -n "${DARWIN_TOOLCHAIN_DISPLAY_NAME_SHORT}" ]]; then
204+
/usr/libexec/PlistBuddy -c "Set ShortDisplayName '${DARWIN_TOOLCHAIN_DISPLAY_NAME_SHORT}'" "${darwin_toolchain_info_plist}"
205+
fi
206+
tar cfz swift-wasm-$channel-SNAPSHOT-macos_x86_64.tar.gz "$toolchain_name"
207+
rm -rf "$toolchain_name"
208+
fi
185209

186210
mv swift-wasm-$channel-SNAPSHOT-ubuntu18.04_x86_64.tar.gz "$toolchain_name-ubuntu18.04_x86_64.tar.gz"
187211
mv swift-wasm-$channel-SNAPSHOT-ubuntu20.04_x86_64.tar.gz "$toolchain_name-ubuntu20.04_x86_64.tar.gz"

0 commit comments

Comments
 (0)