Skip to content
This repository has been archived by the owner on Mar 18, 2024. It is now read-only.

Consolidated Task Executor #68

Closed
azlam-abdulsalam opened this issue Jun 28, 2020 · 2 comments · Fixed by #198
Closed

Consolidated Task Executor #68

azlam-abdulsalam opened this issue Jun 28, 2020 · 2 comments · Fixed by #198
Assignees
Labels
new feature new feature
Milestone

Comments

@azlam-abdulsalam
Copy link
Contributor

In a monorepo, a project will be operating with multiple packages and new packages being added or removed during the course of development.
This means whenever a new package is added, additional tasks that need to be added including in validation (such as PMD, Metadata Validation, Trigger apex tests etc).Same applies for build and deployment stages.

One approach would be is to have a single task, that reads sfdx-project.json and executes the whole set. This has a downside as the logs of such a task is often hard to comprehend, but could be mitigated with folding ( see grouping in azure pipelines https://docs.microsoft.com/en-us/azure/devops/pipelines/scripts/logging-commands?view=azure-devops&tabs=bash#formatting-commands ).
This could be an optional addition to sfpowerkit where a pipeline could be set up and maintained only by changing the project manifest

@azlam-abdulsalam azlam-abdulsalam added the new feature new feature label Jun 28, 2020
@azlam-abdulsalam azlam-abdulsalam self-assigned this Jun 28, 2020
@azlam-abdulsalam azlam-abdulsalam added this to the Milestone 16 milestone Jul 7, 2020
@stale stale bot added the wontfix This will not be worked on label Oct 2, 2020
@dxatscale dxatscale deleted a comment from stale bot Oct 2, 2020
@stale stale bot removed the wontfix This will not be worked on label Oct 2, 2020
azlam-abdulsalam added a commit that referenced this issue Oct 14, 2020
This feature introduces a build command (cli version_, which generates all the packages (unlocked/source) in a repo in parallel. This aligns to the vision of the next iteration of sfpowerscripts as described in #68

The command does the following

- Do a topology sort based on depenendencies to figure the initial set of packages
- Assign priority to build orders, unlocked packages with depenendencies get the highest priority, with no depenedency coming next and finally source/data packages
- As soon as a package is built, it will check any childs (which have their dependency satisfied) to be added into the queue. This eliminates where level 0 packages clogging up the queue.
- All jobs are scheduled using bottleneck with a max concurrency set to 10.
- Logs are consolidated into . sfpowerscripts/log and only failed logs are displayed
@azlam-abdulsalam azlam-abdulsalam linked a pull request Nov 8, 2020 that will close this issue
@stale
Copy link

stale bot commented Nov 16, 2020

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the wontfix This will not be worked on label Nov 16, 2020
@azlam-abdulsalam azlam-abdulsalam removed the wontfix This will not be worked on label Nov 19, 2020
@azlam-abdulsalam
Copy link
Contributor Author

Closing this as orchestrator commands are now merged
https://github.com/Accenture/sfpowerscripts/discussions/254

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
new feature new feature
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant