diff --git a/.github/workflows/extension_workflow_rollout.yml b/.github/workflows/extension_workflow_rollout.yml index 424d0f7c37ac2bf214c875bcd1060a12ed4e34b7..10890fe5f2feadda521c5756a37a5c4c12e017b6 100644 --- a/.github/workflows/extension_workflow_rollout.yml +++ b/.github/workflows/extension_workflow_rollout.yml @@ -22,7 +22,6 @@ jobs: const filteredRepos = repos .filter(repo => !repo.archived) - .filter(repo => repo.name !== 'workflows' && repo.name !== 'material-icon-theme') .map(repo => repo.name); console.log(`Found ${filteredRepos.length} extension repos`); @@ -68,7 +67,11 @@ jobs: - name: extension_workflow_rollout::rollout_workflows_to_extension::copy_workflow_files run: | mkdir -p extension/.github/workflows - cp zed/extensions/workflows/shared/*.yml extension/.github/workflows/ + if [ "${{ matrix.repo }}" = "workflows" ]; then + cp zed/extensions/workflows/*.yml extension/.github/workflows/ + else + cp zed/extensions/workflows/shared/*.yml extension/.github/workflows/ + fi shell: bash -euxo pipefail {0} - id: short-sha name: extension_workflow_rollout::rollout_workflows_to_extension::get_short_sha diff --git a/tooling/xtask/src/tasks/workflows/extension_workflow_rollout.rs b/tooling/xtask/src/tasks/workflows/extension_workflow_rollout.rs index 66dff5136e39d349330fff8a9b858a4b9d941c13..d0ff0fb1b0096af407dc0f09a087e43a867058ed 100644 --- a/tooling/xtask/src/tasks/workflows/extension_workflow_rollout.rs +++ b/tooling/xtask/src/tasks/workflows/extension_workflow_rollout.rs @@ -11,8 +11,6 @@ use crate::tasks::workflows::{ vars::{self, StepOutput}, }; -const EXCLUDED_REPOS: &[&str] = &["workflows", "material-icon-theme"]; - pub(crate) fn extension_workflow_rollout() -> Workflow { let fetch_repos = fetch_extension_repos(); let rollout_workflows = rollout_workflows_to_extension(&fetch_repos); @@ -26,34 +24,24 @@ pub(crate) fn extension_workflow_rollout() -> Workflow { fn fetch_extension_repos() -> NamedJob { fn get_repositories() -> (Step, StepOutput) { - let exclusion_filter = EXCLUDED_REPOS - .iter() - .map(|repo| format!("repo.name !== '{}'", repo)) - .collect::>() - .join(" && "); - let step = named::uses("actions", "github-script", "v7") .id("list-repos") .add_with(( "script", - format!( - indoc! {r#" - const repos = await github.paginate(github.rest.repos.listForOrg, {{ - org: 'zed-extensions', - type: 'public', - per_page: 100, - }}); - - const filteredRepos = repos - .filter(repo => !repo.archived) - .filter(repo => {}) - .map(repo => repo.name); - - console.log(`Found ${{filteredRepos.length}} extension repos`); - return filteredRepos; - "#}, - exclusion_filter - ), + indoc! {r#" + const repos = await github.paginate(github.rest.repos.listForOrg, { + org: 'zed-extensions', + type: 'public', + per_page: 100, + }); + + const filteredRepos = repos + .filter(repo => !repo.archived) + .map(repo => repo.name); + + console.log(`Found ${filteredRepos.length} extension repos`); + return filteredRepos; + "#}, )) .add_with(("result-encoding", "json")); @@ -89,7 +77,11 @@ fn rollout_workflows_to_extension(fetch_repos_job: &NamedJob) -> NamedJob { fn copy_workflow_files() -> Step { named::bash(indoc! {r#" mkdir -p extension/.github/workflows - cp zed/extensions/workflows/shared/*.yml extension/.github/workflows/ + if [ "${{ matrix.repo }}" = "workflows" ]; then + cp zed/extensions/workflows/*.yml extension/.github/workflows/ + else + cp zed/extensions/workflows/shared/*.yml extension/.github/workflows/ + fi "#}) }