extension_ci: Run tests on pushes to `main` (#44079)

Finn Evers and Agus Zubiaga created

This seems sensible to do - it already was the case prior but
indirectly, lets rather be explicit about this.

Release Notes:

- N/A

Co-authored-by: Agus Zubiaga <agus@zed.dev>

Change summary

.github/workflows/extension_bump.yml                      | 29 ---------
extensions/workflows/run_tests.yml                        |  3 
tooling/xtask/src/tasks/workflows/extension_bump.rs       |  6 -
tooling/xtask/src/tasks/workflows/extensions/run_tests.rs |  6 +
4 files changed, 8 insertions(+), 36 deletions(-)

Detailed changes

.github/workflows/extension_bump.yml 🔗

@@ -25,33 +25,6 @@ on:
         description: The app secret for the corresponding app ID
         required: true
 jobs:
-  check_extension:
-    if: (github.repository_owner == 'zed-industries' || github.repository_owner == 'zed-extensions')
-    runs-on: namespace-profile-2x4-ubuntu-2404
-    steps:
-    - name: steps::checkout_repo
-      uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
-      with:
-        clean: false
-    - id: cache-zed-extension-cli
-      name: extension_tests::cache_zed_extension_cli
-      uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830
-      with:
-        path: zed-extension
-        key: zed-extension-${{ env.ZED_EXTENSION_CLI_SHA }}
-    - name: extension_tests::download_zed_extension_cli
-      if: steps.cache-zed-extension-cli.outputs.cache-hit != 'true'
-      run: |
-        wget --quiet "https://zed-extension-cli.nyc3.digitaloceanspaces.com/$ZED_EXTENSION_CLI_SHA/x86_64-unknown-linux-gnu/zed-extension"
-        chmod +x zed-extension
-      shell: bash -euxo pipefail {0}
-    - name: extension_tests::check
-      run: |
-        mkdir -p /tmp/ext-scratch
-        mkdir -p /tmp/ext-output
-        ./zed-extension --source-dir . --scratch-dir /tmp/ext-scratch --output-dir /tmp/ext-output
-      shell: bash -euxo pipefail {0}
-    timeout-minutes: 2
   check_bump_needed:
     if: (github.repository_owner == 'zed-industries' || github.repository_owner == 'zed-extensions')
     runs-on: namespace-profile-2x4-ubuntu-2404
@@ -89,7 +62,6 @@ jobs:
     timeout-minutes: 1
   bump_extension_version:
     needs:
-    - check_extension
     - check_bump_needed
     if: |-
       (github.repository_owner == 'zed-industries' || github.repository_owner == 'zed-extensions') &&
@@ -144,7 +116,6 @@ jobs:
     timeout-minutes: 1
   create_version_label:
     needs:
-    - check_extension
     - check_bump_needed
     if: (github.repository_owner == 'zed-industries' || github.repository_owner == 'zed-extensions') && github.event_name == 'push' && github.ref == 'refs/heads/main' && needs.check_bump_needed.outputs.needs_bump == 'false'
     runs-on: namespace-profile-8x16-ubuntu-2204

extensions/workflows/run_tests.yml 🔗

@@ -5,6 +5,9 @@ on:
   pull_request:
     branches:
     - '**'
+  push:
+    branches:
+    - main
 jobs:
   call_extension_tests:
     uses: zed-industries/zed/.github/workflows/extension_tests.yml@main

tooling/xtask/src/tasks/workflows/extension_bump.rs 🔗

@@ -23,15 +23,12 @@ pub(crate) fn extension_bump() -> Workflow {
     let force_bump = WorkflowInput::bool("force-bump", None);
 
     let (app_id, app_secret) = extension_workflow_secrets();
-
-    let test_extension = extension_tests::check_extension();
     let (check_bump_needed, needs_bump, current_version) = check_bump_needed();
 
     let needs_bump = needs_bump.as_job_output(&check_bump_needed);
     let current_version = current_version.as_job_output(&check_bump_needed);
 
-    let dependencies = [&test_extension, &check_bump_needed];
-
+    let dependencies = [&check_bump_needed];
     let bump_version = bump_extension_version(
         &dependencies,
         &current_version,
@@ -72,7 +69,6 @@ pub(crate) fn extension_bump() -> Workflow {
             "ZED_EXTENSION_CLI_SHA",
             extension_tests::ZED_EXTENSION_CLI_SHA,
         ))
-        .add_job(test_extension.name, test_extension.job)
         .add_job(check_bump_needed.name, check_bump_needed.job)
         .add_job(bump_version.name, bump_version.job)
         .add_job(create_label.name, create_label.job)

tooling/xtask/src/tasks/workflows/extensions/run_tests.rs 🔗

@@ -1,4 +1,4 @@
-use gh_workflow::{Event, Job, PullRequest, UsesJob, Workflow};
+use gh_workflow::{Event, Job, PullRequest, Push, UsesJob, Workflow};
 
 use crate::tasks::workflows::{
     steps::{NamedJob, named},
@@ -8,7 +8,9 @@ use crate::tasks::workflows::{
 pub(crate) fn run_tests() -> Workflow {
     let call_extension_tests = call_extension_tests();
     named::workflow()
-        .on(Event::default().pull_request(PullRequest::default().add_branch("**")))
+        .on(Event::default()
+            .pull_request(PullRequest::default().add_branch("**"))
+            .push(Push::default().add_branch("main")))
         .concurrency(one_workflow_per_non_main_branch_and_token("pr"))
         .add_job(call_extension_tests.name, call_extension_tests.job)
 }