From 4f36ba3b1ed22fcf7dcc449a57593571a255caf0 Mon Sep 17 00:00:00 2001 From: Kirill Bulatov Date: Sun, 14 May 2023 22:06:33 +0300 Subject: [PATCH] Add a job to build Zed images from current main The job triggers on every commit to `main` or every PR with `run-build-dmg` label and produces an install-ready *.dmg artifact attached to the corresponding CI run. --- .github/workflows/build_dmg.yml | 49 +++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 .github/workflows/build_dmg.yml diff --git a/.github/workflows/build_dmg.yml b/.github/workflows/build_dmg.yml new file mode 100644 index 0000000000..6558790fae --- /dev/null +++ b/.github/workflows/build_dmg.yml @@ -0,0 +1,49 @@ +on: + push: + branches: + - main + 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') + env: + SHA: ${{ github.event.pull_request.head.sha || github.sha }} + 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: Build dmg bundle + run: ./script/bundle + + - name: Upload the build stats + uses: actions/upload-artifact@v3 + with: + name: zed-main-$SHA.dmg + path: ./target/release/Zed.dmg