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