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

Add "meta" workflow for matrix workflows, to have easy status check rules #2886

Open
5 tasks done
xoxys opened this issue Nov 28, 2023 · 6 comments
Open
5 tasks done
Labels
enhancement improve existing features server

Comments

@xoxys
Copy link
Member

xoxys commented Nov 28, 2023

Component

server

Describe the bug

With v2.0 the behavior of matrix workflows has changes. Instead of a single ci/woodpecker/pr/test check, multiple ci/woodpecker/pr/test/<NUMBER> checks are reported now, one for each item in the matrix. As a result, existing rules for required status checks in the forge are broken, which also affects all automations bases on successful status checks.

image

IMO there should be a single check again instead of dedicated checks for each matrix element. A matrix can be dynamic (frequent changes to the number of elements) which makes it nearly impossible to enforce it.

System Info

{"source":"https://github.com/woodpecker-ci/woodpecker","version":"next-111a0b4ea5"}

Additional context

No response

Validations

  • Read the Contributing Guidelines.
  • Read the docs.
  • Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
  • Checked that the bug isn't fixed in the next version already [https://woodpecker-ci.org/faq#which-version-of-woodpecker-should-i-use]
  • Check that this is a concrete bug. For Q&A join our Discord Chat Server or the Matrix room.
@xoxys xoxys added the bug Something isn't working label Nov 28, 2023
@xoxys
Copy link
Member Author

xoxys commented Nov 28, 2023

I guess related PR is #2695

@qwerty287
Copy link
Contributor

This is kind of hard to do internally, because every matrix axis is a workflow and workflows have a separated status.
Related: #2819

@xoxys
Copy link
Member Author

xoxys commented Nov 28, 2023

Understandable, but IMO this really makes it quite useless if you need to enforce those checks to pass. While I build and test tool today for python3.10, 3.11 and 3.12 I might add python-nightly tomorrow and remove 3.10 a few days later. Adjusting the forge settings every time the matrix changes doesn't scale at least not for me.

@qwerty287
Copy link
Contributor

I see the issue, but I'm not sure about a good way how to implement this cleanly. I can take a look at it though if I find the time...

@xoxys
Copy link
Member Author

xoxys commented Nov 28, 2023

Thanks dont wanted to rush you or anybody else.

@qwerty287 qwerty287 added this to the 2.1.0 milestone Dec 2, 2023
@6543
Copy link
Member

6543 commented Dec 19, 2023

I propose (if not already done so) a "meta" pipeline that collect all matrix status and if one fails it is failed, else it is passed.

this is reported back so you can set that one as required.

for gitea you can just specify a regex in recent versions :)

@6543 6543 added feature add new functionality and removed bug Something isn't working labels Dec 19, 2023
@6543 6543 modified the milestones: 2.1.0, 2.2.0 Dec 19, 2023
@6543 6543 changed the title Changed behavior for matrix workflows breaks existing status check rules Add "meta" workflow for matrix workflows, to have easy status check rules Dec 19, 2023
@qwerty287 qwerty287 added enhancement improve existing features server and removed feature add new functionality labels Dec 28, 2023
@6543 6543 modified the milestones: 2.2.0, 3.0.0 Jan 12, 2024
@pat-s pat-s modified the milestones: 2.3.0, 2.x.x Jan 13, 2024
@qwerty287 qwerty287 removed this from the 2.x.x milestone Dec 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement improve existing features server
Projects
None yet
Development

No branches or pull requests

4 participants