build-linux-arm-appimage.yml 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. name: CI 自动构建linux arm electron 包,并保存结果
  2. on:
  3. push:
  4. branches:
  5. - master
  6. repository_dispatch:
  7. types:
  8. - webhook_trigger
  9. # 并发控制:自动取消旧的运行
  10. concurrency:
  11. group: build-linux-arm-${{ github.ref }}
  12. cancel-in-progress: true
  13. jobs:
  14. build-h5-production:
  15. needs: prepare-workspace
  16. runs-on: [self-hosted,ARM64]
  17. steps:
  18. - name: 检出代码
  19. uses: actions/checkout@v4
  20. - name: 设置 Node.js 环境
  21. uses: actions/setup-node@v4
  22. with:
  23. node-version: '20'
  24. - name: 安装依赖
  25. run: npm install --force
  26. - name: 构建 H5 (生产环境)
  27. env:
  28. GH_TOKEN: ${{ secrets.GH_TOKEN }}
  29. TARO_API_URL: 'http://localhost:6001'
  30. TARO_MQTT_URL: 'ws://localhost:8083/mqtt'
  31. run: |
  32. echo "当前操作系统平台: $(uname -s)"
  33. echo "当前CPU架构: $(uname -m)"
  34. if [ "$(uname -s)" = "Linux" ] && [ "$(uname -m)" = "aarch64" ]; then
  35. echo "复制arm平台必须构建文件taro.linux-arm64-gnu.node到目标位置"
  36. cp .build/taro.linux-arm64-gnu.node node_modules/@tarojs/binding/taro.linux-arm64-gnu.node
  37. echo "复制完成"
  38. fi
  39. node .build/h5_for_production.js
  40. - name: 检出代码
  41. uses: actions/checkout@v4
  42. - name: 复制构建结果到部署目录
  43. run: |
  44. echo "开始复制构建结果..."
  45. mkdir -p /home/ccos/dros/linux-arm64-unpacked/h5
  46. rsync -av --delete dist/h5/ /home/ccos/dros/linux-arm64-unpacked/h5/
  47. echo "✅ 文件已成功复制到 /home/ccos/dros/linux-arm64-unpacked/h5"
  48. # build-pkg:
  49. # needs: deploy-h5-production
  50. # runs-on: self-hosted
  51. # steps:
  52. # - name: 检出代码
  53. # uses: actions/checkout@v4
  54. # - name: 设置 Node.js 环境(PKG 需要 Node 18)
  55. # uses: actions/setup-node@v4
  56. # with:
  57. # node-version: '18'
  58. # - name: 安装依赖
  59. # run: npm install --force
  60. # - name: 构建 PKG
  61. # run: npm run pkg
  62. build-android:
  63. runs-on: [self-hosted, win-android]
  64. defaults:
  65. run:
  66. shell: cmd # 全局切换到 cmd shell
  67. steps:
  68. - name: 检出代码
  69. uses: actions/checkout@v4
  70. - name: 设置 Node.js 环境
  71. uses: actions/setup-node@v4
  72. with:
  73. node-version: '20'
  74. - name: 安装依赖
  75. run: npm install --force
  76. - name: 构建h5
  77. run: npm run h5_for_production
  78. - name: 构建 Android APK
  79. run: npm run build:android