Skip to content

Commit 23cbfe7

Browse files
committed
Refactor OpenHarmony SDK download and extraction steps
Simplifies and restructures the OpenHarmony Native SDK download and extraction process in the CI workflow. The new approach extracts only the required zip files, unpacks them into a dedicated directory, and updates environment variable setup and CMake configuration paths accordingly.
1 parent 3eef63a commit 23cbfe7

File tree

1 file changed

+26
-28
lines changed

1 file changed

+26
-28
lines changed

.github/workflows/build.yml

Lines changed: 26 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -170,31 +170,29 @@ jobs:
170170
171171
- name: Download OpenHarmony Native SDK
172172
run: |
173-
# Download OpenHarmony 5.1.0 SDK from mirror
174-
# Note: This is a split archive (.aa, .ab, .ac files)
175-
wget -q https://github.com/openharmony-rs/ohos-sdk/releases/download/v5.1.0/ohos-sdk-windows_linux-public.tar.gz.aa -O ohos-sdk.tar.gz.aa
176-
wget -q https://github.com/openharmony-rs/ohos-sdk/releases/download/v5.1.0/ohos-sdk-windows_linux-public.tar.gz.ab -O ohos-sdk.tar.gz.ab
177-
178-
# Combine split archives
179-
cat ohos-sdk.tar.gz.* > ohos-sdk.tar.gz
180-
181-
# Extract the SDK
182-
tar -xzf ohos-sdk.tar.gz
183-
184-
# The SDK should be extracted to current directory
185-
ls -la
186-
187-
# Set up OHOS_NDK_HOME environment variable
188-
# SDK structure: ohos-sdk/windows_linux/native/...
189-
export OHOS_NDK_HOME=$(pwd)/ohos-sdk/windows_linux/native
190-
echo "OHOS_NDK_HOME=$OHOS_NDK_HOME" >> $GITHUB_ENV
191-
echo "OHOS_SDK_PATH=$OHOS_NDK_HOME" >> $GITHUB_ENV
192-
193-
# Verify SDK structure
194-
echo "Checking SDK structure..."
195-
ls -la $OHOS_NDK_HOME/ || true
196-
ls -la $OHOS_NDK_HOME/build/ || true
197-
ls -la $OHOS_NDK_HOME/build/cmake/ || true
173+
echo $PWD
174+
wget -q \
175+
https://github.com/openharmony-rs/ohos-sdk/releases/download/v5.1.0/ohos-sdk-windows_linux-public.tar.gz.aa
176+
wget -q \
177+
https://github.com/openharmony-rs/ohos-sdk/releases/download/v5.1.0/ohos-sdk-windows_linux-public.tar.gz.ab
178+
cat ohos-sdk-windows_linux-public.tar.gz.aa ohos-sdk-windows_linux-public.tar.gz.ab > sdk.tar.gz
179+
echo "Extracting native..."
180+
mkdir sdk
181+
tar -xzf sdk.tar.gz ohos-sdk/linux/native-linux-x64-5.1.0.107-Release.zip
182+
tar -xzf sdk.tar.gz ohos-sdk/linux/toolchains-linux-x64-5.1.0.107-Release.zip
183+
unzip -qq ohos-sdk/linux/native-linux-x64-5.1.0.107-Release.zip -d sdk
184+
unzip -qq ohos-sdk/linux/toolchains-linux-x64-5.1.0.107-Release.zip -d sdk
185+
ls -la sdk/native/llvm/bin/
186+
rm -rf ohos-sdk-windows_linux-public.tar.gz.aa ohos-sdk-windows_linux-public.tar.gz.ab ohos-sdk/ sdk.tar.gz
187+
188+
- name: Setup build environment
189+
run: |
190+
SDK_DIR=$(pwd)/sdk
191+
echo "OHOS_NDK_HOME=$SDK_DIR" >> $GITHUB_ENV
192+
echo "OHOS_SDK_PATH=$SDK_DIR" >> $GITHUB_ENV
193+
ls -la $SDK_DIR/native/ || true
194+
ls -la $SDK_DIR/native/build/ || true
195+
ls -la $SDK_DIR/native/build/cmake/ || true
198196
199197
- name: Configure CMake for OpenHarmony
200198
shell: bash
@@ -214,14 +212,14 @@ jobs:
214212
exit 1
215213
;;
216214
esac
217-
215+
218216
mkdir build-ohos-${{ matrix.abi }}
219217
cd build-ohos-${{ matrix.abi }}
220-
218+
221219
# Configure CMake with OpenHarmony toolchain
222220
cmake .. \
223221
-DCMAKE_SYSTEM_NAME=OHOS \
224-
-DCMAKE_TOOLCHAIN_FILE=$OHOS_SDK_PATH/build/cmake/ohos.toolchain.cmake \
222+
-DCMAKE_TOOLCHAIN_FILE=$OHOS_SDK_PATH/native/build/cmake/ohos.toolchain.cmake \
225223
-DOHOS_ARCH=$OHOS_ARCH \
226224
-DCMAKE_ANDROID_ARCH_ABI=$CMAKE_ANDROID_ARCH_ABI \
227225
-DCMAKE_BUILD_TYPE=Release \

0 commit comments

Comments
 (0)