An internal leave app lets staff request days off. Its developers must review a balance-rule change alongside automated checks. Keeping discussion and CI in an existing GitLab workflow matters more than adopting another host.
How: work toward a solution
Open a merge request. Configured CI rules run the balance test on a runner. A failure prompts a fix and another run; a reviewer then considers merging.
A leave-balance change reaches review with a failed test, fix and rerun
Staff leave app · configured test example
The review carries its test results.
MR
Change the leave-balance rule
Source branch: leave-balance
.gitlab-ci.yml↓ MR event rules + runner
FAIL
01 / Balance test
Over-balance request wrongly accepted
FIX
02 / Update branch
Correct the rule, then rerun
PASS
03 / New test result
Reviewer considers the result and change
Passing check → evidence for review → merge decision
Setup required. This MR pipeline tests the source branch, not automatically the merged result. Passing is not deployment approval.
What: the concept
GitLab combines Git hosting, merge requests and CI. Checks need configuration and runner capacity. A merge-request pipeline tests the source branch, not automatically the merged result. Hosted use and self-operation carry different responsibilities.
Choose this workflow when the team values keeping repository review and configured CI together. GitHub and other hosts also connect checks to reviews. GitLab.com is operated by GitLab; with Self-Managed, your team takes responsibility for the instance. Gitea may fit a smaller self-operated service when its features meet requirements.
02Applications
The leave app’s example test rejects a request exceeding the employee’s balance. The MR shows the failed run and a later passing run after a fix. Passing that test supplies evidence for review, not proof of every leave rule or automatic approval to deploy.
03Implementation & cautions
Define MR event rules in .gitlab-ci.yml and provide an eligible runner. Normal MR pipelines test source-branch content; verify merged-result behavior separately when needed. Compare hosted plan allowances with the cost of operating, upgrading and restoring your own instance. Rehearse migration of issues, CI configuration and access settings as well as Git history.
Already talking with external AI? Share this article link and explain why the choice fits your project and which tradeoff matters. Ask how it applies to your agreed requirements.
Discuss this idea
Comments are shared across languages. GitHub login required to post.