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: steps::download_wasi_sdk
 38      run: ./script/download-wasi-sdk
 39      shell: bash -euxo pipefail {0}
 40    - name: ./script/bundle-linux
 41      run: ./script/bundle-linux
 42      shell: bash -euxo pipefail {0}
 43    - name: '@actions/upload-artifact zed-linux-aarch64.tar.gz'
 44      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
 45      with:
 46        name: zed-linux-aarch64.tar.gz
 47        path: target/release/zed-linux-aarch64.tar.gz
 48        if-no-files-found: error
 49    - name: '@actions/upload-artifact zed-remote-server-linux-aarch64.gz'
 50      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
 51      with:
 52        name: zed-remote-server-linux-aarch64.gz
 53        path: target/zed-remote-server-linux-aarch64.gz
 54        if-no-files-found: error
 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: steps::download_wasi_sdk
 81      run: ./script/download-wasi-sdk
 82      shell: bash -euxo pipefail {0}
 83    - name: ./script/bundle-linux
 84      run: ./script/bundle-linux
 85      shell: bash -euxo pipefail {0}
 86    - name: '@actions/upload-artifact zed-linux-x86_64.tar.gz'
 87      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
 88      with:
 89        name: zed-linux-x86_64.tar.gz
 90        path: target/release/zed-linux-x86_64.tar.gz
 91        if-no-files-found: error
 92    - name: '@actions/upload-artifact zed-remote-server-linux-x86_64.gz'
 93      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
 94      with:
 95        name: zed-remote-server-linux-x86_64.gz
 96        path: target/zed-remote-server-linux-x86_64.gz
 97        if-no-files-found: error
 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-aarch64.dmg'
133      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
134      with:
135        name: Zed-aarch64.dmg
136        path: target/aarch64-apple-darwin/release/Zed-aarch64.dmg
137        if-no-files-found: error
138    - name: '@actions/upload-artifact zed-remote-server-macos-aarch64.gz'
139      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
140      with:
141        name: zed-remote-server-macos-aarch64.gz
142        path: target/zed-remote-server-macos-aarch64.gz
143        if-no-files-found: error
144    timeout-minutes: 60
145  bundle_mac_x86_64:
146    if: |-
147      (github.event.action == 'labeled' && github.event.label.name == 'run-bundling') ||
148                       (github.event.action == 'synchronize' && contains(github.event.pull_request.labels.*.name, 'run-bundling'))
149    runs-on: self-mini-macos
150    env:
151      CARGO_INCREMENTAL: 0
152      ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
153      ZED_MINIDUMP_ENDPOINT: ${{ secrets.ZED_SENTRY_MINIDUMP_ENDPOINT }}
154      MACOS_CERTIFICATE: ${{ secrets.MACOS_CERTIFICATE }}
155      MACOS_CERTIFICATE_PASSWORD: ${{ secrets.MACOS_CERTIFICATE_PASSWORD }}
156      APPLE_NOTARIZATION_KEY: ${{ secrets.APPLE_NOTARIZATION_KEY }}
157      APPLE_NOTARIZATION_KEY_ID: ${{ secrets.APPLE_NOTARIZATION_KEY_ID }}
158      APPLE_NOTARIZATION_ISSUER_ID: ${{ secrets.APPLE_NOTARIZATION_ISSUER_ID }}
159    steps:
160    - name: steps::checkout_repo
161      uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
162      with:
163        clean: false
164    - name: steps::setup_node
165      uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020
166      with:
167        node-version: '20'
168    - name: steps::setup_sentry
169      uses: matbour/setup-sentry-cli@3e938c54b3018bdd019973689ef984e033b0454b
170      with:
171        token: ${{ secrets.SENTRY_AUTH_TOKEN }}
172    - name: steps::clear_target_dir_if_large
173      run: ./script/clear-target-dir-if-larger-than 300
174      shell: bash -euxo pipefail {0}
175    - name: run_bundling::bundle_mac::bundle_mac
176      run: ./script/bundle-mac x86_64-apple-darwin
177      shell: bash -euxo pipefail {0}
178    - name: '@actions/upload-artifact Zed-x86_64.dmg'
179      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
180      with:
181        name: Zed-x86_64.dmg
182        path: target/x86_64-apple-darwin/release/Zed-x86_64.dmg
183        if-no-files-found: error
184    - name: '@actions/upload-artifact zed-remote-server-macos-x86_64.gz'
185      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
186      with:
187        name: zed-remote-server-macos-x86_64.gz
188        path: target/zed-remote-server-macos-x86_64.gz
189        if-no-files-found: error
190    timeout-minutes: 60
191  bundle_windows_aarch64:
192    if: |-
193      (github.event.action == 'labeled' && github.event.label.name == 'run-bundling') ||
194                       (github.event.action == 'synchronize' && contains(github.event.pull_request.labels.*.name, 'run-bundling'))
195    runs-on: self-32vcpu-windows-2022
196    env:
197      CARGO_INCREMENTAL: 0
198      ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
199      ZED_MINIDUMP_ENDPOINT: ${{ secrets.ZED_SENTRY_MINIDUMP_ENDPOINT }}
200      AZURE_TENANT_ID: ${{ secrets.AZURE_SIGNING_TENANT_ID }}
201      AZURE_CLIENT_ID: ${{ secrets.AZURE_SIGNING_CLIENT_ID }}
202      AZURE_CLIENT_SECRET: ${{ secrets.AZURE_SIGNING_CLIENT_SECRET }}
203      ACCOUNT_NAME: ${{ vars.AZURE_SIGNING_ACCOUNT_NAME }}
204      CERT_PROFILE_NAME: ${{ vars.AZURE_SIGNING_CERT_PROFILE_NAME }}
205      ENDPOINT: ${{ vars.AZURE_SIGNING_ENDPOINT }}
206      FILE_DIGEST: SHA256
207      TIMESTAMP_DIGEST: SHA256
208      TIMESTAMP_SERVER: http://timestamp.acs.microsoft.com
209    steps:
210    - name: steps::checkout_repo
211      uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
212      with:
213        clean: false
214    - name: steps::setup_sentry
215      uses: matbour/setup-sentry-cli@3e938c54b3018bdd019973689ef984e033b0454b
216      with:
217        token: ${{ secrets.SENTRY_AUTH_TOKEN }}
218    - name: run_bundling::bundle_windows::bundle_windows
219      run: script/bundle-windows.ps1 -Architecture aarch64
220      shell: pwsh
221      working-directory: ${{ env.ZED_WORKSPACE }}
222    - name: '@actions/upload-artifact Zed-aarch64.exe'
223      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
224      with:
225        name: Zed-aarch64.exe
226        path: target/Zed-aarch64.exe
227        if-no-files-found: error
228    timeout-minutes: 60
229  bundle_windows_x86_64:
230    if: |-
231      (github.event.action == 'labeled' && github.event.label.name == 'run-bundling') ||
232                       (github.event.action == 'synchronize' && contains(github.event.pull_request.labels.*.name, 'run-bundling'))
233    runs-on: self-32vcpu-windows-2022
234    env:
235      CARGO_INCREMENTAL: 0
236      ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
237      ZED_MINIDUMP_ENDPOINT: ${{ secrets.ZED_SENTRY_MINIDUMP_ENDPOINT }}
238      AZURE_TENANT_ID: ${{ secrets.AZURE_SIGNING_TENANT_ID }}
239      AZURE_CLIENT_ID: ${{ secrets.AZURE_SIGNING_CLIENT_ID }}
240      AZURE_CLIENT_SECRET: ${{ secrets.AZURE_SIGNING_CLIENT_SECRET }}
241      ACCOUNT_NAME: ${{ vars.AZURE_SIGNING_ACCOUNT_NAME }}
242      CERT_PROFILE_NAME: ${{ vars.AZURE_SIGNING_CERT_PROFILE_NAME }}
243      ENDPOINT: ${{ vars.AZURE_SIGNING_ENDPOINT }}
244      FILE_DIGEST: SHA256
245      TIMESTAMP_DIGEST: SHA256
246      TIMESTAMP_SERVER: http://timestamp.acs.microsoft.com
247    steps:
248    - name: steps::checkout_repo
249      uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
250      with:
251        clean: false
252    - name: steps::setup_sentry
253      uses: matbour/setup-sentry-cli@3e938c54b3018bdd019973689ef984e033b0454b
254      with:
255        token: ${{ secrets.SENTRY_AUTH_TOKEN }}
256    - name: run_bundling::bundle_windows::bundle_windows
257      run: script/bundle-windows.ps1 -Architecture x86_64
258      shell: pwsh
259      working-directory: ${{ env.ZED_WORKSPACE }}
260    - name: '@actions/upload-artifact Zed-x86_64.exe'
261      uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
262      with:
263        name: Zed-x86_64.exe
264        path: target/Zed-x86_64.exe
265        if-no-files-found: error
266    timeout-minutes: 60
267concurrency:
268  group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
269  cancel-in-progress: true