run_bundling.yml

  1# Generated from xtask::workflows::run_bundling
  2# Rebuild with `cargo xtask workflows`.
  3name: run_bundling
  4env:
  5  CARGO_TERM_COLOR: always
  6  RUST_BACKTRACE: '1'
  7on:
  8  pull_request:
  9    types:
 10    - labeled
 11    - synchronize
 12jobs:
 13  bundle_linux_aarch64:
 14    if: |-
 15      (github.event.action == 'labeled' && github.event.label.name == 'run-bundling') ||
 16                       (github.event.action == 'synchronize' && contains(github.event.pull_request.labels.*.name, 'run-bundling'))
 17    runs-on: namespace-profile-8x32-ubuntu-2004-arm-m4
 18    env:
 19      CARGO_INCREMENTAL: 0
 20      ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
 21      ZED_MINIDUMP_ENDPOINT: ${{ secrets.ZED_SENTRY_MINIDUMP_ENDPOINT }}
 22    steps:
 23    - name: steps::checkout_repo
 24      uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
 25      with:
 26        clean: false
 27    - name: steps::setup_sentry
 28      uses: matbour/setup-sentry-cli@3e938c54b3018bdd019973689ef984e033b0454b
 29      with:
 30        token: ${{ secrets.SENTRY_AUTH_TOKEN }}
 31    - name: steps::setup_linux
 32      run: ./script/linux
 33      shell: bash -euxo pipefail {0}
 34    - name: steps::install_mold
 35      run: ./script/install-mold
 36      shell: bash -euxo pipefail {0}
 37    - name: ./script/bundle-linux
 38      run: ./script/bundle-linux
 39      shell: bash -euxo pipefail {0}
 40    - name: '@actions/upload-artifact zed-${{ github.event.pull_request.head.sha || github.sha }}-aarch64-unknown-linux-gnu.tar.gz'
 41      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
 42      with:
 43        name: zed-${{ github.event.pull_request.head.sha || github.sha }}-aarch64-unknown-linux-gnu.tar.gz
 44        path: target/release/zed-*.tar.gz
 45        if-no-files-found: error
 46    - name: '@actions/upload-artifact zed-remote-server-${{ github.event.pull_request.head.sha || github.sha }}-aarch64-unknown-linux-gnu.tar.gz'
 47      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
 48      with:
 49        name: zed-remote-server-${{ github.event.pull_request.head.sha || github.sha }}-aarch64-unknown-linux-gnu.tar.gz
 50        path: target/zed-remote-server-*.gz
 51        if-no-files-found: error
 52    outputs:
 53      zed: zed-${{ github.event.pull_request.head.sha || github.sha }}-aarch64-unknown-linux-gnu.tar.gz
 54      remote-server: zed-remote-server-${{ github.event.pull_request.head.sha || github.sha }}-aarch64-unknown-linux-gnu.tar.gz
 55    timeout-minutes: 60
 56  bundle_linux_x86_64:
 57    if: |-
 58      (github.event.action == 'labeled' && github.event.label.name == 'run-bundling') ||
 59                       (github.event.action == 'synchronize' && contains(github.event.pull_request.labels.*.name, 'run-bundling'))
 60    runs-on: namespace-profile-32x64-ubuntu-2004
 61    env:
 62      CARGO_INCREMENTAL: 0
 63      ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
 64      ZED_MINIDUMP_ENDPOINT: ${{ secrets.ZED_SENTRY_MINIDUMP_ENDPOINT }}
 65    steps:
 66    - name: steps::checkout_repo
 67      uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
 68      with:
 69        clean: false
 70    - name: steps::setup_sentry
 71      uses: matbour/setup-sentry-cli@3e938c54b3018bdd019973689ef984e033b0454b
 72      with:
 73        token: ${{ secrets.SENTRY_AUTH_TOKEN }}
 74    - name: steps::setup_linux
 75      run: ./script/linux
 76      shell: bash -euxo pipefail {0}
 77    - name: steps::install_mold
 78      run: ./script/install-mold
 79      shell: bash -euxo pipefail {0}
 80    - name: ./script/bundle-linux
 81      run: ./script/bundle-linux
 82      shell: bash -euxo pipefail {0}
 83    - name: '@actions/upload-artifact zed-${{ github.event.pull_request.head.sha || github.sha }}-x86_64-unknown-linux-gnu.tar.gz'
 84      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
 85      with:
 86        name: zed-${{ github.event.pull_request.head.sha || github.sha }}-x86_64-unknown-linux-gnu.tar.gz
 87        path: target/release/zed-*.tar.gz
 88        if-no-files-found: error
 89    - name: '@actions/upload-artifact zed-remote-server-${{ github.event.pull_request.head.sha || github.sha }}-x86_64-unknown-linux-gnu.tar.gz'
 90      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
 91      with:
 92        name: zed-remote-server-${{ github.event.pull_request.head.sha || github.sha }}-x86_64-unknown-linux-gnu.tar.gz
 93        path: target/zed-remote-server-*.gz
 94        if-no-files-found: error
 95    outputs:
 96      zed: zed-${{ github.event.pull_request.head.sha || github.sha }}-x86_64-unknown-linux-gnu.tar.gz
 97      remote-server: zed-remote-server-${{ github.event.pull_request.head.sha || github.sha }}-x86_64-unknown-linux-gnu.tar.gz
 98    timeout-minutes: 60
 99  bundle_mac_aarch64:
100    if: |-
101      (github.event.action == 'labeled' && github.event.label.name == 'run-bundling') ||
102                       (github.event.action == 'synchronize' && contains(github.event.pull_request.labels.*.name, 'run-bundling'))
103    runs-on: self-mini-macos
104    env:
105      CARGO_INCREMENTAL: 0
106      ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
107      ZED_MINIDUMP_ENDPOINT: ${{ secrets.ZED_SENTRY_MINIDUMP_ENDPOINT }}
108      MACOS_CERTIFICATE: ${{ secrets.MACOS_CERTIFICATE }}
109      MACOS_CERTIFICATE_PASSWORD: ${{ secrets.MACOS_CERTIFICATE_PASSWORD }}
110      APPLE_NOTARIZATION_KEY: ${{ secrets.APPLE_NOTARIZATION_KEY }}
111      APPLE_NOTARIZATION_KEY_ID: ${{ secrets.APPLE_NOTARIZATION_KEY_ID }}
112      APPLE_NOTARIZATION_ISSUER_ID: ${{ secrets.APPLE_NOTARIZATION_ISSUER_ID }}
113    steps:
114    - name: steps::checkout_repo
115      uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
116      with:
117        clean: false
118    - name: steps::setup_node
119      uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020
120      with:
121        node-version: '20'
122    - name: steps::setup_sentry
123      uses: matbour/setup-sentry-cli@3e938c54b3018bdd019973689ef984e033b0454b
124      with:
125        token: ${{ secrets.SENTRY_AUTH_TOKEN }}
126    - name: steps::clear_target_dir_if_large
127      run: ./script/clear-target-dir-if-larger-than 300
128      shell: bash -euxo pipefail {0}
129    - name: run_bundling::bundle_mac::bundle_mac
130      run: ./script/bundle-mac aarch64-apple-darwin
131      shell: bash -euxo pipefail {0}
132    - name: '@actions/upload-artifact Zed_${{ github.event.pull_request.head.sha || github.sha }}-aarch64.dmg'
133      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
134      with:
135        name: Zed_${{ github.event.pull_request.head.sha || github.sha }}-aarch64.dmg
136        path: target/aarch64-apple-darwin/release/Zed.dmg
137        if-no-files-found: error
138    - name: '@actions/upload-artifact zed-remote-server-${{ github.event.pull_request.head.sha || github.sha }}-macos-aarch64.gz'
139      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
140      with:
141        name: zed-remote-server-${{ github.event.pull_request.head.sha || github.sha }}-macos-aarch64.gz
142        path: target/zed-remote-server-macos-aarch64.gz
143        if-no-files-found: error
144    outputs:
145      zed: Zed_${{ github.event.pull_request.head.sha || github.sha }}-aarch64.dmg
146      remote-server: zed-remote-server-${{ github.event.pull_request.head.sha || github.sha }}-macos-aarch64.gz
147    timeout-minutes: 60
148  bundle_mac_x86_64:
149    if: |-
150      (github.event.action == 'labeled' && github.event.label.name == 'run-bundling') ||
151                       (github.event.action == 'synchronize' && contains(github.event.pull_request.labels.*.name, 'run-bundling'))
152    runs-on: self-mini-macos
153    env:
154      CARGO_INCREMENTAL: 0
155      ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
156      ZED_MINIDUMP_ENDPOINT: ${{ secrets.ZED_SENTRY_MINIDUMP_ENDPOINT }}
157      MACOS_CERTIFICATE: ${{ secrets.MACOS_CERTIFICATE }}
158      MACOS_CERTIFICATE_PASSWORD: ${{ secrets.MACOS_CERTIFICATE_PASSWORD }}
159      APPLE_NOTARIZATION_KEY: ${{ secrets.APPLE_NOTARIZATION_KEY }}
160      APPLE_NOTARIZATION_KEY_ID: ${{ secrets.APPLE_NOTARIZATION_KEY_ID }}
161      APPLE_NOTARIZATION_ISSUER_ID: ${{ secrets.APPLE_NOTARIZATION_ISSUER_ID }}
162    steps:
163    - name: steps::checkout_repo
164      uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
165      with:
166        clean: false
167    - name: steps::setup_node
168      uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020
169      with:
170        node-version: '20'
171    - name: steps::setup_sentry
172      uses: matbour/setup-sentry-cli@3e938c54b3018bdd019973689ef984e033b0454b
173      with:
174        token: ${{ secrets.SENTRY_AUTH_TOKEN }}
175    - name: steps::clear_target_dir_if_large
176      run: ./script/clear-target-dir-if-larger-than 300
177      shell: bash -euxo pipefail {0}
178    - name: run_bundling::bundle_mac::bundle_mac
179      run: ./script/bundle-mac x86_64-apple-darwin
180      shell: bash -euxo pipefail {0}
181    - name: '@actions/upload-artifact Zed_${{ github.event.pull_request.head.sha || github.sha }}-x86_64.dmg'
182      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
183      with:
184        name: Zed_${{ github.event.pull_request.head.sha || github.sha }}-x86_64.dmg
185        path: target/x86_64-apple-darwin/release/Zed.dmg
186        if-no-files-found: error
187    - name: '@actions/upload-artifact zed-remote-server-${{ github.event.pull_request.head.sha || github.sha }}-macos-x86_64.gz'
188      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
189      with:
190        name: zed-remote-server-${{ github.event.pull_request.head.sha || github.sha }}-macos-x86_64.gz
191        path: target/zed-remote-server-macos-x86_64.gz
192        if-no-files-found: error
193    outputs:
194      zed: Zed_${{ github.event.pull_request.head.sha || github.sha }}-x86_64.dmg
195      remote-server: zed-remote-server-${{ github.event.pull_request.head.sha || github.sha }}-macos-x86_64.gz
196    timeout-minutes: 60
197  bundle_windows_aarch64:
198    if: |-
199      (github.event.action == 'labeled' && github.event.label.name == 'run-bundling') ||
200                       (github.event.action == 'synchronize' && contains(github.event.pull_request.labels.*.name, 'run-bundling'))
201    runs-on: self-32vcpu-windows-2022
202    env:
203      CARGO_INCREMENTAL: 0
204      ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
205      ZED_MINIDUMP_ENDPOINT: ${{ secrets.ZED_SENTRY_MINIDUMP_ENDPOINT }}
206      AZURE_TENANT_ID: ${{ secrets.AZURE_SIGNING_TENANT_ID }}
207      AZURE_CLIENT_ID: ${{ secrets.AZURE_SIGNING_CLIENT_ID }}
208      AZURE_CLIENT_SECRET: ${{ secrets.AZURE_SIGNING_CLIENT_SECRET }}
209      ACCOUNT_NAME: ${{ vars.AZURE_SIGNING_ACCOUNT_NAME }}
210      CERT_PROFILE_NAME: ${{ vars.AZURE_SIGNING_CERT_PROFILE_NAME }}
211      ENDPOINT: ${{ vars.AZURE_SIGNING_ENDPOINT }}
212      FILE_DIGEST: SHA256
213      TIMESTAMP_DIGEST: SHA256
214      TIMESTAMP_SERVER: http://timestamp.acs.microsoft.com
215    steps:
216    - name: steps::checkout_repo
217      uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
218      with:
219        clean: false
220    - name: steps::setup_sentry
221      uses: matbour/setup-sentry-cli@3e938c54b3018bdd019973689ef984e033b0454b
222      with:
223        token: ${{ secrets.SENTRY_AUTH_TOKEN }}
224    - name: run_bundling::bundle_windows::bundle_windows
225      run: script/bundle-windows.ps1 -Architecture aarch64
226      shell: pwsh
227      working-directory: ${{ env.ZED_WORKSPACE }}
228    - name: '@actions/upload-artifact Zed_${{ github.event.pull_request.head.sha || github.sha }}-aarch64.exe'
229      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
230      with:
231        name: Zed_${{ github.event.pull_request.head.sha || github.sha }}-aarch64.exe
232        path: ${{ env.SETUP_PATH }}
233        if-no-files-found: error
234    outputs:
235      zed: Zed_${{ github.event.pull_request.head.sha || github.sha }}-aarch64.exe
236    timeout-minutes: 60
237  bundle_windows_x86_64:
238    if: |-
239      (github.event.action == 'labeled' && github.event.label.name == 'run-bundling') ||
240                       (github.event.action == 'synchronize' && contains(github.event.pull_request.labels.*.name, 'run-bundling'))
241    runs-on: self-32vcpu-windows-2022
242    env:
243      CARGO_INCREMENTAL: 0
244      ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
245      ZED_MINIDUMP_ENDPOINT: ${{ secrets.ZED_SENTRY_MINIDUMP_ENDPOINT }}
246      AZURE_TENANT_ID: ${{ secrets.AZURE_SIGNING_TENANT_ID }}
247      AZURE_CLIENT_ID: ${{ secrets.AZURE_SIGNING_CLIENT_ID }}
248      AZURE_CLIENT_SECRET: ${{ secrets.AZURE_SIGNING_CLIENT_SECRET }}
249      ACCOUNT_NAME: ${{ vars.AZURE_SIGNING_ACCOUNT_NAME }}
250      CERT_PROFILE_NAME: ${{ vars.AZURE_SIGNING_CERT_PROFILE_NAME }}
251      ENDPOINT: ${{ vars.AZURE_SIGNING_ENDPOINT }}
252      FILE_DIGEST: SHA256
253      TIMESTAMP_DIGEST: SHA256
254      TIMESTAMP_SERVER: http://timestamp.acs.microsoft.com
255    steps:
256    - name: steps::checkout_repo
257      uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
258      with:
259        clean: false
260    - name: steps::setup_sentry
261      uses: matbour/setup-sentry-cli@3e938c54b3018bdd019973689ef984e033b0454b
262      with:
263        token: ${{ secrets.SENTRY_AUTH_TOKEN }}
264    - name: run_bundling::bundle_windows::bundle_windows
265      run: script/bundle-windows.ps1 -Architecture x86_64
266      shell: pwsh
267      working-directory: ${{ env.ZED_WORKSPACE }}
268    - name: '@actions/upload-artifact Zed_${{ github.event.pull_request.head.sha || github.sha }}-x86_64.exe'
269      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
270      with:
271        name: Zed_${{ github.event.pull_request.head.sha || github.sha }}-x86_64.exe
272        path: ${{ env.SETUP_PATH }}
273        if-no-files-found: error
274    outputs:
275      zed: Zed_${{ github.event.pull_request.head.sha || github.sha }}-x86_64.exe
276    timeout-minutes: 60
277concurrency:
278  group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
279  cancel-in-progress: true