linux-publish.yml 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. name: Publish Linux
  2. on:
  3. workflow_dispatch:
  4. inputs:
  5. build-image-sha:
  6. type: string
  7. description: 'SHA for electron/build image'
  8. default: 'cf814a4d2501e8e843caea071a6b70a48e78b855'
  9. upload-to-storage:
  10. description: 'Uploads to Azure storage'
  11. required: false
  12. default: '1'
  13. type: string
  14. run-linux-publish:
  15. description: 'Run the publish jobs vs just the build jobs'
  16. type: boolean
  17. default: false
  18. jobs:
  19. checkout-linux:
  20. runs-on: aks-linux-large
  21. container:
  22. image: ghcr.io/electron/build:${{ inputs.build-image-sha }}
  23. options: --user root
  24. volumes:
  25. - /mnt/cross-instance-cache:/mnt/cross-instance-cache
  26. - /var/run/sas:/var/run/sas
  27. env:
  28. GCLIENT_EXTRA_ARGS: '--custom-var=checkout_arm=True --custom-var=checkout_arm64=True'
  29. steps:
  30. - name: Checkout Electron
  31. uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332
  32. with:
  33. path: src/electron
  34. fetch-depth: 0
  35. - name: Checkout & Sync & Save
  36. uses: ./src/electron/.github/actions/checkout
  37. publish-x64:
  38. uses: ./.github/workflows/pipeline-segment-electron-build.yml
  39. needs: checkout-linux
  40. with:
  41. environment: production-release
  42. build-runs-on: aks-linux-large
  43. build-container: '{"image":"ghcr.io/electron/build:${{ inputs.build-image-sha }}","options":"--user root","volumes":["/mnt/cross-instance-cache:/mnt/cross-instance-cache"]}'
  44. target-platform: linux
  45. target-arch: x64
  46. is-release: true
  47. gn-build-type: release
  48. generate-symbols: true
  49. upload-to-storage: ${{ inputs.upload-to-storage }}
  50. secrets: inherit
  51. publish-arm:
  52. uses: ./.github/workflows/pipeline-segment-electron-build.yml
  53. needs: checkout-linux
  54. with:
  55. environment: production-release
  56. build-runs-on: aks-linux-large
  57. build-container: '{"image":"ghcr.io/electron/build:${{ inputs.build-image-sha }}","options":"--user root","volumes":["/mnt/cross-instance-cache:/mnt/cross-instance-cache"]}'
  58. target-platform: linux
  59. target-arch: arm
  60. is-release: true
  61. gn-build-type: release
  62. generate-symbols: true
  63. upload-to-storage: ${{ inputs.upload-to-storage }}
  64. secrets: inherit
  65. publish-arm64:
  66. uses: ./.github/workflows/pipeline-segment-electron-build.yml
  67. needs: checkout-linux
  68. with:
  69. environment: production-release
  70. build-runs-on: aks-linux-large
  71. build-container: '{"image":"ghcr.io/electron/build:${{ inputs.build-image-sha }}","options":"--user root","volumes":["/mnt/cross-instance-cache:/mnt/cross-instance-cache"]}'
  72. target-platform: linux
  73. target-arch: arm64
  74. is-release: true
  75. gn-build-type: release
  76. generate-symbols: true
  77. upload-to-storage: ${{ inputs.upload-to-storage }}
  78. secrets: inherit