|
2 | 2 |
|
3 | 3 | set -euxo pipefail |
4 | 4 |
|
5 | | -sudo apt-get update && sudo apt-get install --no-install-recommends -y libcurl4-openssl-dev |
| 5 | +install_swiftly_macos() { |
| 6 | + curl -O https://download.swift.org/swiftly/darwin/swiftly.pkg |
| 7 | + installer -pkg swiftly.pkg -target CurrentUserHomeDirectory |
| 8 | + ~/.swiftly/bin/swiftly init -y --skip-install -n |
| 9 | + # shellcheck source=/dev/null |
| 10 | + . "$HOME/.swiftly/env.sh" |
| 11 | + hash -r |
| 12 | +} |
6 | 13 |
|
7 | | -curl -O "https://download.swift.org/swiftly/linux/swiftly-$(uname -m).tar.gz" |
8 | | -tar zxf "swiftly-$(uname -m).tar.gz" |
9 | | -./swiftly init -y --skip-install -n |
10 | | -# shellcheck disable=SC1091 |
11 | | -. "$HOME/.local/share/swiftly/env.sh" |
12 | | -hash -r |
| 14 | +install_swiftly_linux() { |
| 15 | + curl -O "https://download.swift.org/swiftly/linux/swiftly-$(uname -m).tar.gz" |
| 16 | + tar zxf "swiftly-$(uname -m).tar.gz" |
| 17 | + ./swiftly init -y --skip-install -n |
| 18 | + # shellcheck source=/dev/null |
| 19 | + . "$HOME/.local/share/swiftly/env.sh" |
| 20 | + hash -r |
| 21 | +} |
13 | 22 |
|
14 | | -echo "PATH=$PATH" >> "$GITHUB_ENV" && echo "SWIFTLY_HOME_DIR=$SWIFTLY_HOME_DIR" >> "$GITHUB_ENV" && echo "SWIFTLY_BIN_DIR=$SWIFTLY_BIN_DIR" >> "$GITHUB_ENV" && echo "SWIFTLY_TOOLCHAINS_DIR=$SWIFTLY_TOOLCHAINS_DIR" >> "$GITHUB_ENV" |
| 23 | +if [[ "$(uname)" == "Darwin" ]]; then |
| 24 | + install_swiftly_macos |
| 25 | +elif [[ -f /etc/os-release ]]; then |
| 26 | + # shellcheck source=/etc/os-release |
| 27 | + . /etc/os-release |
| 28 | + if [[ "$NAME" == "Ubuntu" ]]; then |
| 29 | + sudo apt-get update && sudo apt-get install --no-install-recommends -y libcurl4-openssl-dev |
| 30 | + install_swiftly_linux |
| 31 | + else |
| 32 | + echo "Unsupported Linux Distribution: $NAME" |
| 33 | + exit 1 |
| 34 | + fi |
| 35 | +else |
| 36 | + echo "Unsupported OS: $(uname)" |
| 37 | + exit 1 |
| 38 | +fi |
| 39 | + |
| 40 | +cat <<EOF >> "$GITHUB_ENV" |
| 41 | +PATH=$PATH |
| 42 | +SWIFTLY_HOME_DIR=$SWIFTLY_HOME_DIR |
| 43 | +SWIFTLY_BIN_DIR=$SWIFTLY_BIN_DIR |
| 44 | +SWIFTLY_TOOLCHAINS_DIR=$SWIFTLY_TOOLCHAINS_DIR |
| 45 | +EOF |
15 | 46 |
|
16 | 47 | swiftly install -y |
0 commit comments