TooManyJobs¶
Workflow has too many jobs.
Defined by ComponentCountRule which supports workflows, actions in the "Default" ruleset along with TooManySteps.
Description¶
Workflow complexity is too high.
Consider the following refactors to reduce complexity:
* Introduce a matrix to reduce duplication.
* Split the workflow into multiple nested workflows with workflow_call.
Compliant example¶
Simple workflow with only a single job.
example.ymlon: push jobs: example: runs-on: ubuntu-latest steps: - run: echo "Example"
Non-compliant example¶
Complex workflow with 5 reusable workflow calls and 5 normal jobs.
example.ymlon: push jobs: example1: uses: other/workflow.yml example2: uses: other/workflow.yml example3: uses: other/workflow.yml example4: uses: other/workflow.yml example5: uses: other/workflow.yml example6: runs-on: ubuntu-latest steps: - run: echo "Example" example7: runs-on: ubuntu-latest steps: - run: echo "Example" example8: runs-on: ubuntu-latest steps: - run: echo "Example" example9: runs-on: ubuntu-latest steps: - run: echo "Example" example10: runs-on: ubuntu-latest steps: - run: echo "Example" example11: runs-on: ubuntu-latest steps: - run: echo "Example"
- Line 2: Workflow[example] has 11 jobs, maximum recommended is 10.