-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsetup.sh
More file actions
executable file
·77 lines (57 loc) · 2.12 KB
/
setup.sh
File metadata and controls
executable file
·77 lines (57 loc) · 2.12 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#!/bin/bash
set -eu
if [ "$RUNNER_OS" != "Linux" ] || [ "$RUNNER_ARCH" != "X64" ]; then
echo "Bad operating system, This action only supports Linux X64."
exit 1
fi
BASE_URL="https://github.com/ErBWs/ohos-sdk/releases"
VERSION=""
while getopts 'v:' OPTION; do
case "$OPTION" in
v) VERSION="$OPTARG" ;;
esac
done
if [ "$VERSION" = "latest" ]; then
BASE_URL=$BASE_URL/latest/download
else
BASE_URL=$BASE_URL/download/$VERSION
fi
WORK_DIR="$HOME/ohos-sdk"
download_sdk() {
mkdir -p $WORK_DIR
cd $WORK_DIR
if ! curl -fsSL $BASE_URL/ohos-sdk-linux-amd64.tar.gz.sha256 -o ohos-sdk-linux-amd64.tar.gz.sha256; then
echo "Bad download link, please confirm your version input is correct."
exit 1
fi
echo Download SDK from $BASE_URL
curl -fsSL $BASE_URL/ohos-sdk-linux-amd64.tar.gz.aa -o ohos-sdk-linux-amd64.tar.gz.aa
curl -fsSL $BASE_URL/ohos-sdk-linux-amd64.tar.gz.ab -o ohos-sdk-linux-amd64.tar.gz.ab
cat ohos-sdk-linux-amd64.tar.gz.aa ohos-sdk-linux-amd64.tar.gz.ab > ohos-sdk-linux-amd64.tar.gz
# Basically it never fails, so no retry here
if ! sha256sum -c ohos-sdk-linux-amd64.tar.gz.sha256; then
echo "Checksum failed, terminate workflow."
exit 1
fi
echo Extracting...
tar -xzf ohos-sdk-linux-amd64.tar.gz
rm ohos-sdk-linux-amd64.tar.*
}
if [ ! -x "$WORK_DIR/command-line-tools/bin/ohpm" ]; then
download_sdk
fi
TOOL_PATH="$WORK_DIR/command-line-tools/bin"
NODE_PATH="$WORK_DIR/command-line-tools/tool/node/bin"
HOS_SDK_HOME="$WORK_DIR/command-line-tools/sdk"
cd $HOS_SDK_HOME/default
SDK_VERSION="$(jq -r '.data | .version' < sdk-pkg.json)"
API_VERSION="$(jq -r '.data | .apiVersion' < sdk-pkg.json)"
echo "sdk-version=$SDK_VERSION" >> $GITHUB_OUTPUT
echo "api-version=$API_VERSION" >> $GITHUB_OUTPUT
echo "$TOOL_PATH" >> $GITHUB_PATH
echo "$NODE_PATH" >> $GITHUB_PATH
# Export for flutter
echo "HOS_SDK_HOME=$WORK_DIR/command-line-tools/sdk" >> $GITHUB_ENV
# Export for ohrs
echo "OHOS_NDK_HOME=$WORK_DIR/command-line-tools/sdk/default/openharmony" >> $GITHUB_ENV
echo "Successfully setup $SDK_VERSION SDK with API$API_VERSION!"