From cf3f9169b7689630c7cf83194fc5fc6a818d9958 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9F=A9=E5=98=89=E4=B9=90?= Date: Tue, 20 Jan 2026 12:25:10 +0800 Subject: [PATCH] CI(ohos): Enhance CI workflow for release package builds (#1812) Added support for building and publishing release packages based on tags. --- .github/workflows/ohos.yml | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ohos.yml b/.github/workflows/ohos.yml index 5f564f9a..d1a16ae3 100644 --- a/.github/workflows/ohos.yml +++ b/.github/workflows/ohos.yml @@ -3,6 +3,9 @@ name: EasyTier OHOS on: push: branches: ["develop", "main", "releases/**"] + tags: + - 'v*' + - '!*-pre' pull_request: branches: ["develop", "main"] workflow_dispatch: @@ -142,7 +145,7 @@ jobs: EOF sudo chmod +x $OHOS_NDK_HOME/native/llvm/aarch64-unknown-linux-ohos-clang.sh - - name: Build + - name: Build latest Har working-directory: ./easytier-contrib/easytier-ohrs run: | sudo apt-get install -y llvm clang lldb lld @@ -157,13 +160,27 @@ jobs: ohrs artifact mv package.har easytier-ohrs.har + - name: Build Release Package + if: startsWith(github.ref, 'refs/tags/') + working-directory: ./easytier-contrib/easytier-ohrs + run: | + echo "🎉 Official Release detected. Building easytier-release..." + TAG_NAME="${{ github.ref_name }}" + TAG_VERSION="${TAG_NAME#v}" + echo "Release Version: $TAG_VERSION" + cd package + jq --arg v "$TAG_VERSION" '.name = "easytier-release" | .version = $v' oh-package.json5 > oh-package.tmp.json5 && mv oh-package.tmp.json5 oh-package.json5 + cd .. + ohrs build --release --arch aarch + ohrs artifact + mv package.har easytier-release.har + - name: Upload artifact uses: actions/upload-artifact@v4 with: name: easytier-ohos path: | ./easytier-contrib/easytier-ohrs/easytier-ohrs.har - ./easytier-contrib/easytier-ohrs/dist/arm64-v8a/libeasytier_ohrs.so retention-days: 5 if-no-files-found: error @@ -196,4 +213,9 @@ jobs: printf '%s' "${{ secrets.CODEARTS_PRIVATE_OHPM }}" > ~/.ohpm/.ohpmrc ohpm config set strict_ssl false ohpm publish easytier-ohrs.har + if [ -f "easytier-release.har" ]; then + echo "🚀 Publishing Release package..." + ohpm publish easytier-release.har + fi curl --header "Content-Type: application/json" --request POST --data "{}" ${{ secrets.CODEARTS_WEBHOOKS }} +