ci: Fix collab deploys (#18077)
Marshall Bowers
and
Conrad
created 1 year ago
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
@@ -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
@@ -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 }}