Skip to content

Commit c5c085e

Browse files
Configure SwiftWasm distribution actions
0 parents  commit c5c085e

File tree

3 files changed

+118
-0
lines changed

3 files changed

+118
-0
lines changed
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
name: Distribute toolchain
2+
on:
3+
workflow_call:
4+
inputs:
5+
scheme:
6+
required: true
7+
type: string
8+
run-id:
9+
required: true
10+
type: string
11+
display-name:
12+
type: string
13+
display-name-short:
14+
type: string
15+
override-name:
16+
type: string
17+
18+
jobs:
19+
distribution:
20+
runs-on: macos-latest
21+
steps:
22+
- uses: actions/checkout@v3
23+
with:
24+
path: swiftwasm-build
25+
- uses: actions/checkout@v3
26+
with:
27+
repository: swiftwasm/swift
28+
path: swift
29+
- run: git -C swift remote rename origin swiftwasm
30+
- run: git -C swift remote add upstream https://github.com/apple/swift.git
31+
- name: Setup environment variables
32+
run: |
33+
if [[ -n "${{ github.event.inputs.display-name }}" ]]; then
34+
echo "DARWIN_TOOLCHAIN_DISPLAY_NAME=${{ github.event.inputs.display-name }}" >> $GITHUB_ENV
35+
fi
36+
if [[ -n "${{ github.event.inputs.display-name-short }}" ]]; then
37+
echo "DARWIN_TOOLCHAIN_DISPLAY_NAME_SHORT=${{ github.event.inputs.display-name-short }}" >> $GITHUB_ENV
38+
fi
39+
if [[ -n "${{ github.event.inputs.override-name }}" ]]; then
40+
echo "GH_DISTRIBUTE_TOOLCHAIN_OVERRIDE_NAME=${{ github.event.inputs.override-name }}" >> $GITHUB_ENV
41+
fi
42+
- name: Setup keychain
43+
run: |
44+
security create-keychain -p "$KEYCHAIN_PASSWORD" swiftwasm-ci
45+
KEYCHAIN=$HOME/Library/Keychains/swiftwasm-ci-db
46+
security unlock-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN
47+
security set-keychain-settings -lut 7200 $KEYCHAIN
48+
security default-keychain -s $KEYCHAIN
49+
50+
echo "$DARWIN_TOOLCHAIN_APPLICATION_CERT_BASE64" | base64 --decode -o developerID_application.p12
51+
security import developerID_application.p12 -P "$DARWIN_TOOLCHAIN_APPLICATION_CERT_PASSWORD" -T /usr/bin/pkgbuild -T /usr/bin/codesign
52+
echo "$DARWIN_TOOLCHAIN_INSTALLER_CERT_BASE64" | base64 --decode -o developerID_installer.p12
53+
security import developerID_installer.p12 -P "$DARWIN_TOOLCHAIN_INSTALLER_CERT_PASSWORD" -T /usr/bin/pkgbuild -T /usr/bin/codesign
54+
55+
security set-key-partition-list -S "apple-tool:,apple:" -s -k "$KEYCHAIN_PASSWORD" $KEYCHAIN
56+
env:
57+
KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }}
58+
DARWIN_TOOLCHAIN_APPLICATION_CERT: ${{ secrets.DARWIN_TOOLCHAIN_APPLICATION_CERT }}
59+
DARWIN_TOOLCHAIN_APPLICATION_CERT_BASE64: ${{ secrets.DARWIN_TOOLCHAIN_APPLICATION_CERT_BASE64 }}
60+
DARWIN_TOOLCHAIN_APPLICATION_CERT_PASSWORD: ${{ secrets.DARWIN_TOOLCHAIN_APPLICATION_CERT_PASSWORD }}
61+
DARWIN_TOOLCHAIN_INSTALLER_CERT: ${{ secrets.DARWIN_TOOLCHAIN_INSTALLER_CERT }}
62+
DARWIN_TOOLCHAIN_INSTALLER_CERT_BASE64: ${{ secrets.DARWIN_TOOLCHAIN_INSTALLER_CERT_BASE64 }}
63+
DARWIN_TOOLCHAIN_INSTALLER_CERT_PASSWORD: ${{ secrets.DARWIN_TOOLCHAIN_INSTALLER_CERT_PASSWORD }}
64+
65+
- run: ./tools/gh-distribute-toolchain --scheme ${{ inputs.scheme }} --verbose --skip-history ${{ inputs.run-id }}
66+
working-directory: ./swiftwasm-build
67+
env:
68+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
69+
BUILDBOT_GITHUB_TOKEN: ${{ secrets.SWIFTWASM_BUILDBOT_TOKEN }}
70+
DARWIN_TOOLCHAIN_APPLICATION_CERT: ${{ secrets.DARWIN_TOOLCHAIN_APPLICATION_CERT }}
71+
DARWIN_TOOLCHAIN_INSTALLER_CERT: ${{ secrets.DARWIN_TOOLCHAIN_INSTALLER_CERT }}
72+
DARWIN_TOOLCHAIN_NOTARIZE_EMAIL: ${{ secrets.DARWIN_TOOLCHAIN_NOTARIZE_EMAIL }}
73+
DARWIN_TOOLCHAIN_NOTARIZE_PASSWORD: ${{ secrets.DARWIN_TOOLCHAIN_NOTARIZE_PASSWORD }}
74+
DARWIN_TOOLCHAIN_NOTARIZE_TEAM_ID: ${{ secrets.DARWIN_TOOLCHAIN_NOTARIZE_TEAM_ID }}
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
name: Manual distribution
2+
on:
3+
workflow_dispatch:
4+
inputs:
5+
scheme:
6+
required: true
7+
type: string
8+
run-id:
9+
required: true
10+
type: string
11+
override-name:
12+
type: string
13+
description: 'Toolchain name'
14+
display_name:
15+
type: string
16+
description: 'Display name for Darwin toolchain'
17+
display_name_short:
18+
type: string
19+
description: 'Short display name for Darwin toolchain'
20+
jobs:
21+
manual-distribution:
22+
uses: ./.github/workflows/distribute-toolchain.yml
23+
secrets: inherit
24+
with:
25+
scheme: ${{ inputs.scheme }}
26+
run-id: ${{ inputs.run-id }}
27+
display-name: ${{ inputs.display-name }}
28+
display-name-short: ${{ inputs.display-name-short }}
29+
override-name: ${{ inputs.override-name }}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
name: Nightly distribution
2+
on:
3+
schedule:
4+
- cron: '0 0 * * *'
5+
jobs:
6+
nightly-distribution:
7+
strategy:
8+
matrix:
9+
include:
10+
- scheme: "main"
11+
uses: ./.github/workflows/distribute-toolchain.yml
12+
secrets: inherit
13+
with:
14+
scheme: ${{ matrix.scheme }}
15+
run-id: latest

0 commit comments

Comments
 (0)