linux.yml 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. name: Linux Build
  2. on: [push, pull_request]
  3. jobs:
  4. build:
  5. runs-on: ubuntu-18.04
  6. steps:
  7. - name: Checkout
  8. uses: actions/[email protected]
  9. with:
  10. fetch-depth: 0
  11. - name: Install Node
  12. uses: actions/[email protected]
  13. with:
  14. node-version: 14
  15. - name: Install deps
  16. run: |
  17. sudo apt-get install bsdtar
  18. npm i -g [email protected]
  19. cd app
  20. yarn
  21. cd ..
  22. rm app/node_modules/.yarn-integrity
  23. yarn
  24. npm run patch
  25. - name: Build native deps
  26. run: scripts/build-native.js
  27. - name: Webpack
  28. run: yarn run build
  29. - name: Prepackage plugins
  30. run: scripts/prepackage-plugins.js
  31. - name: Build packages
  32. run: scripts/build-linux.js
  33. env:
  34. DEBUG: electron-builder,electron-builder:*
  35. GH_TOKEN: ${{ secrets.GH_TOKEN }}
  36. USE_HARD_LINKS: false
  37. - name: Upload symbols
  38. run: |
  39. sudo npm install -g @sentry/cli --unsafe-perm
  40. ./scripts/sentry-upload.js
  41. env:
  42. SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
  43. SENTRY_ORG: ${{ secrets.SENTRY_ORG }}
  44. SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }}
  45. - name: Package artifacts
  46. run: |
  47. mkdir artifact-deb
  48. mv dist/*.deb artifact-deb/ || true
  49. mkdir artifact-rpm
  50. mv dist/*.rpm artifact-rpm/ || true
  51. mkdir artifact-pacman
  52. mv dist/*.pacman artifact-pacman/ || true
  53. mkdir artifact-snap
  54. mv dist/*.snap artifact-snap/ || true
  55. mkdir artifact-tar.gz
  56. mv dist/*.tar.gz artifact-tar.gz/ || true
  57. - uses: actions/upload-artifact@master
  58. name: Upload DEB
  59. with:
  60. name: Linux DEB
  61. path: artifact-deb
  62. - uses: actions/upload-artifact@master
  63. name: Upload RPM
  64. with:
  65. name: Linux RPM
  66. path: artifact-rpm
  67. - uses: actions/upload-artifact@master
  68. name: Upload Pacman Package
  69. with:
  70. name: Linux Pacman
  71. path: artifact-pacman
  72. - uses: actions/upload-artifact@master
  73. name: Upload Snap
  74. with:
  75. name: Linux Snap
  76. path: artifact-snap
  77. - uses: actions/upload-artifact@master
  78. name: Upload tarball
  79. with:
  80. name: Linux tarball
  81. path: artifact-tar.gz