You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm running a monorepo and try to optimize the DX of my engineers by reducing the ci time blocking them from merging.
My testing strategy is very common: I've a single test workflow which has a 1st job of resolving changed workspaces, then this list of workspaces is distributed to a matrix.
Now, the diff of changed workspaces is made between github.event.pull_request.head.sha and github.event.pull_request.base.sha, which re-runs the whole set of tests for the PR everytime. What i'd like to do is use a diff of head against ${{ github.event.before || github.event.pull_request.base.sha }} so that i will only run tests for the group of commits recently pushed.
The problem I have with that is that, since the test workflow creates the matrix, the whole matrix gets wiped when creating a new run of the test workflow.
I would like to be able to keep the status checks for the matrix runs so that:
matrix runs which are not re-running due to the new workflow run are kept
matrix runs which are re-running due to the new workflow run are trashed (and the new ones are replacing them)
ActionsBuild, test, and automate your deployment pipeline with world-class CI/CDQuestion
1 participant
Heading
Bold
Italic
Quote
Code
Link
Numbered list
Unordered list
Task list
Attach files
Mention
Reference
Menu
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Select Topic Area
Question
Body
Hello,
I'm running a monorepo and try to optimize the DX of my engineers by reducing the ci time blocking them from merging.
My testing strategy is very common: I've a single test workflow which has a 1st job of resolving changed workspaces, then this list of workspaces is distributed to a matrix.
Now, the diff of changed workspaces is made between
github.event.pull_request.head.sha
andgithub.event.pull_request.base.sha
, which re-runs the whole set of tests for the PR everytime. What i'd like to do is use a diff of head against${{ github.event.before || github.event.pull_request.base.sha }}
so that i will only run tests for the group of commits recently pushed.The problem I have with that is that, since the test workflow creates the matrix, the whole matrix gets wiped when creating a new run of the test workflow.
I would like to be able to keep the status checks for the matrix runs so that:
How could one achieve that?
Beta Was this translation helpful? Give feedback.
All reactions