ci: Fix collab deploys (#18077)

Marshall Bowers and Conrad created

This PR fixes issues with deploying collab.

We reverted 4882a75971abafa89467e779466749086d7d3f96—as the DigitalOcean
runners are gone now—and moved back to BuildJet.

We needed to make some changes to the deployment jobs to setup `doctl`.

This PR also adds an automatic bump of the `collab-staging` tag on
merges to `main`. This should help catch issues with collab deploys
earlier.

Release Notes:

- N/A

---------

Co-authored-by: Conrad <conrad@zed.dev>

Change summary

.github/workflows/bump_collab_staging.yml | 23 +++++++++++++++++++++++
.github/workflows/deploy_collab.yml       | 23 ++++++++++++++++-------
2 files changed, 39 insertions(+), 7 deletions(-)

Detailed changes

.github/workflows/bump_collab_staging.yml 🔗

@@ -0,0 +1,23 @@
+name: Bump collab-staging Tag
+
+on:
+  push:
+    branches:
+      - main
+
+jobs:
+  update-collab-staging-tag:
+    if: github.repository_owner == 'zed-industries'
+    runs-on: ubuntu-latest
+    steps:
+      - name: Checkout repository
+        uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
+        with:
+          fetch-depth: 0
+
+      - name: Update collab-staging tag
+        run: |
+          git config user.name github-actions
+          git config user.email github-actions@github.com
+          git tag -f collab-staging
+          git push origin collab-staging --force

.github/workflows/deploy_collab.yml 🔗

@@ -8,7 +8,6 @@ on:
 
 env:
   DOCKER_BUILDKIT: 1
-  DIGITALOCEAN_ACCESS_TOKEN: ${{ secrets.DIGITALOCEAN_ACCESS_TOKEN }}
 
 jobs:
   style:
@@ -61,11 +60,12 @@ jobs:
       - style
       - tests
     runs-on:
-      - self-hosted
-      - deploy
+      - buildjet-16vcpu-ubuntu-2204
     steps:
-      - name: Add Rust to the PATH
-        run: echo "$HOME/.cargo/bin" >> $GITHUB_PATH
+      - name: Install doctl
+        uses: digitalocean/action-doctl@v2
+        with:
+          token: ${{ secrets.DIGITALOCEAN_ACCESS_TOKEN }}
 
       - name: Sign into DigitalOcean docker registry
         run: doctl registry login
@@ -89,10 +89,19 @@ jobs:
     needs:
       - publish
     runs-on:
-      - self-hosted
-      - deploy
+      - buildjet-16vcpu-ubuntu-2204
 
     steps:
+      - name: Checkout repo
+        uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
+        with:
+          clean: false
+
+      - name: Install doctl
+        uses: digitalocean/action-doctl@v2
+        with:
+          token: ${{ secrets.DIGITALOCEAN_ACCESS_TOKEN }}
+
       - name: Sign into Kubernetes
         run: doctl kubernetes cluster kubeconfig save --expiry-seconds 600 ${{ secrets.CLUSTER_NAME }}