Use gh workflow for tests (#41384)

Follow up for: #41304

Splits CI tests (cherry-picks and PRs only for now) into separate
workflows using `gh-workflow`. Includes a couple restructures to
- run more things in parallel
- remove our previous shell script based checking to filter tests based
on files changed, instead using the builtin `paths:` workflow filters


Splitting the docs/style/rust tests & checks into separate workflows
means we lose the complete summary showing all the tests in one view,
but it's possible to re-add in the future if we go back to checking what
files changed ourselves or always run everything.

Release Notes:

- N/A *or* Added/Fixed/Improved ...

---------

Co-authored-by: Conrad <conrad@zed.dev>
This commit is contained in:
Ben Kunkle
2025-10-28 23:31:38 +00:00
committed by GitHub
co-authored by Conrad
parent 7de3c67b1d
commit 4adff4aa8a
25 changed files with 1124 additions and 125 deletions
@@ -1,5 +1,5 @@
use crate::tasks::workflows::{
steps::named,
steps::{FluentBuilder, named},
vars::{mac_bundle_envs, windows_bundle_envs},
};
@@ -76,16 +76,12 @@ fn bundle_linux(arch: runners::Arch) -> Job {
vars::GITHUB_SHA,
arch.triple()
);
let mut job = bundle_job()
bundle_job()
.runs_on(arch.linux_bundler())
.add_step(steps::checkout_repo())
.add_step(steps::setup_sentry())
.add_step(steps::script("./script/linux"));
// todo(ci) can we do this on arm too?
if arch == runners::Arch::X86_64 {
job = job.add_step(steps::script("./script/install-mold"));
}
job.add_step(steps::script("./script/bundle-linux"))
.map(steps::install_linux_dependencies)
.add_step(steps::script("./script/bundle-linux"))
.add_step(steps::upload_artifact(
&artifact_name,
"target/release/zed-*.tar.gz",