Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Separate definition of task dependencies #523

Open
fkorotkov opened this issue Jun 6, 2022 · 0 comments
Open

Separate definition of task dependencies #523

fkorotkov opened this issue Jun 6, 2022 · 0 comments
Labels
enhancement New feature or request

Comments

@fkorotkov
Copy link
Contributor

Right now for very large .cirrus.yml configurations there is a problem of dependency definition. All the depends_on are sparsed across all the task definition and it might be hard to wrap your head around it. What if we'll introduce a new way to define the execution graph via a top-level dependecies definition?

Here is a configuration example of a continious deployment:

# .cirrus.yml

dependencies:
  Deploy:
    only_if: $CIRRUS_BRANCH == "main"
    requires:
      - Check Incidents
      - Push

task:
  name: Push

task:
  name: Check Incidents
  script: ... # checks that there is no active incident

task:
  name: Deploy

In case dependencies is used, parser will error if depends_on or only_if are used on tasks so there is strictly two different options to specify dependencies without combining them. This way with the new dependencies we can change behaviour slightly. For example, treat requires as a strict depends_on.

Creating this ticket as a brain dump and a conversation starter.

@fkorotkov fkorotkov added the enhancement New feature or request label Jun 6, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant