From 751508b6a208a2ccf25a07cf82b4c054b6da8ac3 Mon Sep 17 00:00:00 2001 From: Thorsten Ball Date: Tue, 16 Jul 2024 15:44:24 +0200 Subject: [PATCH] linux: Install dependencies when bundling nightly (#14566) Release Notes: - N/A --- .github/workflows/release_nightly.yml | 62 ++++++++++++++++++++++++--- 1 file changed, 56 insertions(+), 6 deletions(-) diff --git a/.github/workflows/release_nightly.yml b/.github/workflows/release_nightly.yml index 340fc227b7..33827b574c 100644 --- a/.github/workflows/release_nightly.yml +++ b/.github/workflows/release_nightly.yml @@ -93,15 +93,13 @@ jobs: - name: Upload Zed Nightly run: script/upload-nightly macos - bundle-linux: - strategy: - matrix: - machine: [deploy, hosted-linux-arm-1] + bundle-linux-x86: timeout-minutes: 60 - name: Create a Linux *.tar.gz bundle + name: Create a Linux *.tar.gz bundle for x86 if: github.repository_owner == 'zed-industries' runs-on: - - ${{ matrix.machine }} + - self-hosted + - deploy needs: tests env: DIGITALOCEAN_SPACES_ACCESS_KEY: ${{ secrets.DIGITALOCEAN_SPACES_ACCESS_KEY }} @@ -128,3 +126,55 @@ jobs: - name: Upload Zed Nightly run: script/upload-nightly linux-targz + + bundle-linux-arm: + timeout-minutes: 60 + name: Create a Linux *.tar.gz bundle for ARM + if: github.repository_owner == 'zed-industries' + runs-on: + - self-hosted + - hosted-linux-arm-1 + needs: tests + env: + DIGITALOCEAN_SPACES_ACCESS_KEY: ${{ secrets.DIGITALOCEAN_SPACES_ACCESS_KEY }} + DIGITALOCEAN_SPACES_SECRET_KEY: ${{ secrets.DIGITALOCEAN_SPACES_SECRET_KEY }} + ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }} + steps: + - name: Checkout repo + uses: actions/checkout@v4 + with: + clean: false + + - name: "Setup jq" + uses: dcarbone/install-jq-action@v2 + + - name: Set up Clang + run: | + sudo apt-get update + sudo apt-get install -y llvm-10 clang-10 build-essential cmake pkg-config libasound2-dev libfontconfig-dev libwayland-dev libxkbcommon-x11-dev libssl-dev libsqlite3-dev libzstd-dev libvulkan1 libgit2-dev + echo "/usr/lib/llvm-10/bin" >> $GITHUB_PATH + + - uses: rui314/setup-mold@v1 + with: + mold-version: 2.32.0 + + - name: rustup + run: | + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y + echo "$HOME/.cargo/bin" >> $GITHUB_PATH + + - name: Limit target directory size + run: script/clear-target-dir-if-larger-than 100 + + - name: Set release channel to nightly + run: | + set -euo pipefail + version=$(git rev-parse --short HEAD) + echo "Publishing version: ${version} on release channel nightly" + echo "nightly" > crates/zed/RELEASE_CHANNEL + + - name: Create Linux .tar.gz bundle + run: script/bundle-linux + + - name: Upload Zed Nightly + run: script/upload-nightly linux-targz