-
-
Notifications
You must be signed in to change notification settings - Fork 89
Open
Labels
component/buildBuild system and packagingBuild system and packagingcomponent/ciCI/CD workflows and GitHub ActionsCI/CD workflows and GitHub Actionscomponent/cliCLI tools relatedCLI tools relatedtype/choreBuild, configuration, and maintenance tasksBuild, configuration, and maintenance tasks
Description
Summary
Add workspace-detector workflow to optimize CI/CD pipeline by detecting changed packages and running tests, lints, and publish operations only on affected packages.
Affected Area
- GitHub Actions workflow configuration
- CI/CD pipeline (test, lint, publish jobs)
- @fedify/cli package testing
Reason / Context
Currently, the CI/CD pipeline runs tests, lints, and publish operations on all packages regardless of which files were actually changed. This wastes CI resources and increases build times unnecessarily. By implementing a workspace-detector workflow, we can:
- Identify which packages have been modified in a given PR or commit
- Run tests and lints only on changed packages
- Optimize CI execution time and resource usage
- Add conditional logic to run deno task test-init specifically when @fedify/cli is changed.
This approach is especially valuable in a monorepo with multiple packages where changes are often isolated to specific packages.
Checklist
- Implement workspace-detector workflow to detect changed packages
- Integrate workspace-detector output into existing test workflows
- Update lint workflow to only run on changed packages
- Update the publish workflow to only publish changed packages
- Add a conditional step to run the deno task test-init when @fedify/cli is modified
- Test the workflow with sample PRs affecting different packages
- Update documentation if needed
dahlia
Metadata
Metadata
Assignees
Labels
component/buildBuild system and packagingBuild system and packagingcomponent/ciCI/CD workflows and GitHub ActionsCI/CD workflows and GitHub Actionscomponent/cliCLI tools relatedCLI tools relatedtype/choreBuild, configuration, and maintenance tasksBuild, configuration, and maintenance tasks