1use gh_workflow::{Event, Job, Level, Permissions, PullRequest, Push, UsesJob, Workflow};
2
3use crate::tasks::workflows::{
4 steps::{NamedJob, named},
5 vars::one_workflow_per_non_main_branch_and_token,
6};
7
8pub(crate) fn run_tests() -> Workflow {
9 let call_extension_tests = call_extension_tests();
10 named::workflow()
11 .on(Event::default()
12 .pull_request(PullRequest::default().add_branch("**"))
13 .push(Push::default().add_branch("main")))
14 .concurrency(one_workflow_per_non_main_branch_and_token("pr"))
15 .add_job(call_extension_tests.name, call_extension_tests.job)
16}
17
18pub(crate) fn call_extension_tests() -> NamedJob<UsesJob> {
19 let job = Job::default()
20 .permissions(Permissions::default().contents(Level::Read))
21 .uses(
22 "zed-industries",
23 "zed",
24 ".github/workflows/extension_tests.yml",
25 "main",
26 );
27
28 named::job(job)
29}