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