run-name: ${{ gitea.actor }} is testing out Gitea Actions 🚀 on: push: branches: - prod jobs: Explore-Gitea-Actions: runs-on: ubuntu64 steps: - name: 拉取代码仓库 uses: http://git.missmoc.top/mocheng/checkout@v4 with: fetch-depth: 0 # 只拉取最新的1个提交(浅克隆) # - name: Set up Node.js # uses: http://git.missmoc.top/mocheng/setup-node@v3 # with: # node-version: 20.x - name: 5. HBuilderX 账户登录 id: hbx_login run: | echo "开始登录 HBuilderX 账户..." LOGIN_OUTPUT=$(/hbuildcli/HBuilderX/cli user login --username ${{ secrets.HBUILDERX_USERNAME }} --password ${{ secrets.HBUILDERX_PASSWORD }}) - name: 6. 打包 Uniapp(实时显示排队/进度) id: uniapp_build run: | echo "开始打包 Uniapp 项目,当前时间:$(date +%Y-%m-%d_%H:%M:%S)" echo "========================================" echo "正在查询打包队列状态..." # (可选)提前查询队列(部分场景下 HBuilderX 会返回排队信息) /hbuildcli/HBuilderX/cli publish --platform android --query-queue echo "========================================" echo "开始执行打包(实时输出进度)..." # 执行打包命令(根据目标平台调整 --platform 参数,支持 android/ios/h5 等) # --project:指定项目根目录(当前检出目录) # --output:指定产物输出目录(便于后续归档) /hbuildcli/HBuilderX/cli publish --platform android --project ./ --output ./unpackage/dist/build/android echo "========================================" echo "Uniapp 打包完成!产物路径:./unpackage/dist/build/android" - name: 7. 归档打包产物 uses: https://gitea.com/actions/upload-artifact@v1 # Gitea 产物归档插件 with: name: uniapp-android-build # 产物压缩包名称 path: ./unpackage/dist/build/android # 产物目录(与步骤 6 的 --output 对应) retention-days: 7 # 产物保留时间(7 天,可调整) post: - name: 8. HBuilderX 账户登出 run: | echo "开始登出 HBuilderX 账户..." LOGOUT_OUTPUT=$(/hbuildcli/HBuilderX/cli user logout) echo "登出结果:$LOGOUT_OUTPUT" # 验证登出是否成功(根据文档,成功返回 "0:user logout:OK") if [[ $(echo "$LOGOUT_OUTPUT" | grep -c "0:user logout:OK") -eq 0 ]]; then echo "HBuilderX 登出异常(非致命错误,不终止流程)" else echo "HBuilderX 登出成功!" fi