build.yml 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. name: Build & Release
  2. on:
  3. push:
  4. tags: ['v*']
  5. workflow_dispatch:
  6. jobs:
  7. build-macos:
  8. runs-on: macos-latest
  9. steps:
  10. - uses: actions/checkout@v4
  11. - uses: oven-sh/setup-bun@v2
  12. - run: bun install --registry https://registry.npmmirror.com
  13. - run: bun run --cwd packages/kirincode script/build-node.ts
  14. - run: bun run --cwd packages/desktop build
  15. - run: bun x electron-builder --mac --arm64 --x64 --config electron-builder.config.ts
  16. working-directory: packages/desktop
  17. env:
  18. KIRINCODE_CHANNEL: prod
  19. CSC_IDENTITY_AUTO_DISCOVERY: false
  20. - uses: actions/upload-artifact@v4
  21. with:
  22. name: macos
  23. path: packages/desktop/dist/*.dmg
  24. build-windows:
  25. runs-on: windows-latest
  26. steps:
  27. - uses: actions/checkout@v4
  28. - uses: oven-sh/setup-bun@v2
  29. - run: bun install --registry https://registry.npmmirror.com
  30. - run: bun run --cwd packages/kirincode script/build-node.ts
  31. - run: bun run --cwd packages/desktop build
  32. - run: bun x electron-builder --win --x64 --ia32 --config electron-builder.config.ts
  33. working-directory: packages/desktop
  34. env:
  35. KIRINCODE_CHANNEL: prod
  36. CSC_IDENTITY_AUTO_DISCOVERY: false
  37. - uses: actions/upload-artifact@v4
  38. with:
  39. name: windows
  40. path: packages/desktop/dist/*.exe
  41. build-linux:
  42. runs-on: ubuntu-latest
  43. steps:
  44. - uses: actions/checkout@v4
  45. - uses: oven-sh/setup-bun@v2
  46. - run: bun install --registry https://registry.npmmirror.com
  47. - run: bun run --cwd packages/kirincode script/build-node.ts
  48. - run: bun run --cwd packages/desktop build
  49. - run: bun x electron-builder --linux --x64 --arm64 --config electron-builder.config.ts
  50. working-directory: packages/desktop
  51. env:
  52. KIRINCODE_CHANNEL: prod
  53. CSC_IDENTITY_AUTO_DISCOVERY: false
  54. - uses: actions/upload-artifact@v4
  55. with:
  56. name: linux
  57. path: packages/desktop/dist/*.AppImage
  58. release:
  59. needs: [build-macos, build-windows, build-linux]
  60. runs-on: ubuntu-latest
  61. if: startsWith(github.ref, 'refs/tags/v')
  62. steps:
  63. - uses: actions/download-artifact@v4
  64. - uses: softprops/action-gh-release@v2
  65. with:
  66. files: |
  67. macos/*
  68. windows/*
  69. linux/*
  70. generate_release_notes: true