Skip to content

Conversation

@yruslan
Copy link
Collaborator

@yruslan yruslan commented Jan 19, 2026

Closes #686

Summary by CodeRabbit

  • Refactor
    • Enhanced internal pipeline job dependency detection logic to provide more granular control over how optional dependencies are handled in self-dependency checks.

✏️ Tip: You can customize this high-level summary in your review settings.

…do not cause skips for informations dates if previous information dates had failed such dependencies.
@coderabbitai
Copy link

coderabbitai bot commented Jan 19, 2026

Walkthrough

Parameterized the hasSelfDependencies method to accept an includeOptional boolean parameter, enabling different callers to determine whether optional dependencies affect self-dependency detection. Updated callers to specify their intent: parallel execution checks all dependencies while self-dependent determination excludes optional ones.

Changes

Cohort / File(s) Summary
Self-dependency detection refactoring
pramen/core/src/main/scala/za/co/absa/pramen/core/pipeline/JobBase.scala
Modified hasSelfDependencies to accept includeOptional: Boolean parameter. When true, includes optional dependencies in check (previous behavior); when false, excludes them. Updated allowRunningTasksInParallel to use includeOptional = true and isSelfDependent to use includeOptional = false.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Possibly related PRs

Poem

🐰 Optional paths need not block the rest,
When one route fails, let others test,
A parameterized check with care,
Makes dependencies both true and fair! ✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title references issue #686 and accurately describes the fix for optional self-dependencies, matching the PR's primary objective.
Linked Issues check ✅ Passed The code changes implement the required behavior: the parameterized hasSelfDependencies method allows callers to distinguish between optional and non-optional dependencies, enabling optional self-dependencies to not cause skips for subsequent information dates after failures.
Out of Scope Changes check ✅ Passed All changes are directly related to implementing the self-dependency fix for issue #686; only the JobBase.scala hasSelfDependencies method signature and its logic were modified.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions
Copy link

Unit Test Coverage

Overall Project 84.2% 🍏
Files changed 92.86% 🍏

Module Coverage
pramen:core Jacoco Report 86.2% 🍏
Files
Module File Coverage
pramen:core Jacoco Report JobBase.scala 91.87% -0.25% 🍏

@yruslan yruslan merged commit 0a70335 into main Jan 19, 2026
9 checks passed
@yruslan yruslan deleted the bugfix/686-fix-optional-self-dependencies branch January 19, 2026 09:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Optional self-dependencies should not cause skipping of jobs if same job failed for a different info date

2 participants