diff --git a/.github/workflows/build_dmg.yml b/.github/workflows/build_dmg.yml new file mode 100644 index 0000000000..989914e5e8 --- /dev/null +++ b/.github/workflows/build_dmg.yml @@ -0,0 +1,54 @@ +name: Build Zed.dmg + +on: + push: + branches: + - main + - "v[0-9]+.[0-9]+.x" + pull_request: + +defaults: + run: + shell: bash -euxo pipefail {0} + +concurrency: + # Allow only one workflow per any non-`main` branch. + group: ${{ github.workflow }}-${{ github.ref_name }}-${{ github.ref_name == 'main' && github.sha || 'anysha' }} + cancel-in-progress: true + +env: + RUST_BACKTRACE: 1 + COPT: '-Werror' + +jobs: + build-dmg: + if: github.ref_name == 'main' || contains(github.event.pull_request.labels.*.name, 'run-build-dmg') + runs-on: + - self-hosted + - test + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + clean: false + submodules: 'recursive' + + - name: Install Rust + run: | + rustup set profile minimal + rustup update stable + + - name: Install node + uses: actions/setup-node@v3 + with: + node-version: 18 + + - name: Build dmg bundle + run: ./script/bundle + + - name: Upload the build artifact + uses: actions/upload-artifact@v3 + with: + name: Zed_${{ github.event.pull_request.head.sha || github.sha }}.dmg + path: ./target/release/Zed.dmg