Skip to content

Request For Help: Issue 19232 Run CI Pipeline for Only Paths

Evan Brodie requested to merge ecbrodie/gitlab-ce:19232_run_jobs_by_paths into master

This MR is not meant for merge, but rather for a request for help/collaboration. This is meant to be a fix for Issue #19232 (closed) and a replacement to closed MR !13055 (closed). We specifically are hoping that @grzesiek, or another domain expert, can provide us with some direction.

@jeffreyj and I spent a day pairing on building a new MR to fix this issue. Unfortunately, we are finding that a lack of domain knowledge is impeding our progress. Specifically, we are having a hard time working with the existing model design in order to create a mocked Commit object that will contain references to specific changed files. We are hoping to feed a Pipeline object containing such a mocked commit into the YamlProcessor. Once we have this test set up, then we feel more empowered to construct our implementation.

We are running into various issues with building out the mocks for these tests. For example, existing factories for Pipeline and Project do not expose a construct for feeding in a Commit. We are trying to mock out the Project object and feed that into the Pipeline factory, but we run into errors due to type mismatches. We are also unsure whether we are even creating a Commit object in an acceptable way; it is odd to create a Commit in the test when it also expects to have a back-reference to its Project.

Moreover, we have started our TDD-approach by writing an integration test, but we would feel more comfortable if we started with an acceptance test. We are unsure of the best place to write such a test.

Our hope is that collaborating with a domain expert will be able to point us in the right direction, so that we do not feel like we are stumbling in the dark. Once we receive direction, we are ready to immediately jump right back into working on a new MR, as early as next week.

Thank you 😺. And apologies for not following the MR template, we felt like it was not appropriate for this type of dialog.

Merge request reports