linux-publish.yml 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  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: 'bc2f48b2415a670de18d13605b1cf0eb5fdbaae1'
  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: electron-arc-linux-amd64-32core
  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@11bd71901bbe5b1630ceea73d27597364c9af683
  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: electron-arc-linux-amd64-32core
  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. strip-binaries: true
  50. upload-to-storage: ${{ inputs.upload-to-storage }}
  51. secrets: inherit
  52. publish-arm:
  53. uses: ./.github/workflows/pipeline-segment-electron-build.yml
  54. needs: checkout-linux
  55. with:
  56. environment: production-release
  57. build-runs-on: electron-arc-linux-amd64-32core
  58. build-container: '{"image":"ghcr.io/electron/build:${{ inputs.build-image-sha }}","options":"--user root","volumes":["/mnt/cross-instance-cache:/mnt/cross-instance-cache"]}'
  59. target-platform: linux
  60. target-arch: arm
  61. is-release: true
  62. gn-build-type: release
  63. generate-symbols: true
  64. strip-binaries: true
  65. upload-to-storage: ${{ inputs.upload-to-storage }}
  66. secrets: inherit
  67. publish-arm64:
  68. uses: ./.github/workflows/pipeline-segment-electron-build.yml
  69. needs: checkout-linux
  70. with:
  71. environment: production-release
  72. build-runs-on: electron-arc-linux-amd64-32core
  73. build-container: '{"image":"ghcr.io/electron/build:${{ inputs.build-image-sha }}","options":"--user root","volumes":["/mnt/cross-instance-cache:/mnt/cross-instance-cache"]}'
  74. target-platform: linux
  75. target-arch: arm64
  76. is-release: true
  77. gn-build-type: release
  78. generate-symbols: true
  79. strip-binaries: true
  80. upload-to-storage: ${{ inputs.upload-to-storage }}
  81. secrets: inherit