macos-publish.yml 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. name: Publish MacOS
  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. required: true
  10. upload-to-storage:
  11. description: 'Uploads to Azure storage'
  12. required: false
  13. default: '1'
  14. type: string
  15. run-macos-publish:
  16. description: 'Run the publish jobs vs just the build jobs'
  17. type: boolean
  18. default: false
  19. jobs:
  20. checkout-macos:
  21. runs-on: electron-arc-linux-amd64-32core
  22. container:
  23. image: ghcr.io/electron/build:${{ inputs.build-image-sha }}
  24. options: --user root
  25. volumes:
  26. - /mnt/cross-instance-cache:/mnt/cross-instance-cache
  27. - /var/run/sas:/var/run/sas
  28. env:
  29. GCLIENT_EXTRA_ARGS: '--custom-var=checkout_mac=True --custom-var=host_os=mac'
  30. steps:
  31. - name: Checkout Electron
  32. uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
  33. with:
  34. path: src/electron
  35. fetch-depth: 0
  36. - name: Checkout & Sync & Save
  37. uses: ./src/electron/.github/actions/checkout
  38. with:
  39. generate-sas-token: 'true'
  40. target-platform: macos
  41. publish-x64-darwin:
  42. uses: ./.github/workflows/pipeline-segment-electron-build.yml
  43. needs: checkout-macos
  44. with:
  45. environment: production-release
  46. build-runs-on: macos-14-xlarge
  47. target-platform: macos
  48. target-arch: x64
  49. target-variant: darwin
  50. is-release: true
  51. gn-build-type: release
  52. generate-symbols: true
  53. upload-to-storage: ${{ inputs.upload-to-storage }}
  54. secrets: inherit
  55. publish-x64-mas:
  56. uses: ./.github/workflows/pipeline-segment-electron-build.yml
  57. needs: checkout-macos
  58. with:
  59. environment: production-release
  60. build-runs-on: macos-14-xlarge
  61. target-platform: macos
  62. target-arch: x64
  63. target-variant: mas
  64. is-release: true
  65. gn-build-type: release
  66. generate-symbols: true
  67. upload-to-storage: ${{ inputs.upload-to-storage }}
  68. secrets: inherit
  69. publish-arm64-darwin:
  70. uses: ./.github/workflows/pipeline-segment-electron-build.yml
  71. needs: checkout-macos
  72. with:
  73. environment: production-release
  74. build-runs-on: macos-14-xlarge
  75. target-platform: macos
  76. target-arch: arm64
  77. target-variant: darwin
  78. is-release: true
  79. gn-build-type: release
  80. generate-symbols: true
  81. upload-to-storage: ${{ inputs.upload-to-storage }}
  82. secrets: inherit
  83. publish-arm64-mas:
  84. uses: ./.github/workflows/pipeline-segment-electron-build.yml
  85. needs: checkout-macos
  86. with:
  87. environment: production-release
  88. build-runs-on: macos-14-xlarge
  89. target-platform: macos
  90. target-arch: arm64
  91. target-variant: mas
  92. is-release: true
  93. gn-build-type: release
  94. generate-symbols: true
  95. upload-to-storage: ${{ inputs.upload-to-storage }}
  96. secrets: inherit