Problem/Motivation
Current CI runs for this project take 40+ minutes, even with jobs running in parallel. Due to this and the frequency of commits, the CI usage for this project is higher than usual.
While it includes the default templates, this project also invalidate all the jobs there and create new ones, which is totally fine.
However, all the jobs run, all the time, on every commit to the main branch and on every commit on MRs, regardless of the files changed.
The default templates have rules for whether to run a job or not based on the type of files being changed. For example, if only CSS files were changed, it doesn't make sense to run PHPCS nor PHPStan.
Steps to reproduce
https://git.drupalcode.org/project/varbase_project/-/pipelines/897916
Proposed resolution
- Avoid running certain jobs on MRs.
- Avoid running certain jobs if relevant files for them were not changed at all.
Action items:
- 0- Manage with a .gitlab-ci-local.yml local runner (✅ Done that)
- 1- The AI Agents seems to slip and keep posting jobs to the GitLab CI (not the local gitlab-ci runner) (✅ Done that)
Adding a rule:# Use the local gitlab-ci-local runner .. and only commit ones when all stages and all jobs passes with green to gitlab-ci in drupal Update all local AI Agents which work with Drupal.org and git.drupalcode.org - 2- Make use of GitHub Actions to save on the load of GitLab Runners in git.drupalcode.org
- 3- Manage to push for the full test on
pre-releases,releases,post-release(Back to DEV)
Remaining tasks
- ✅ File an issue about this project
- ❌ Addition/Change/Update/Fix to this project
- ❌ Testing to ensure no regression
- ➖ Automated unit/functional testing coverage
- ➖ Developer Documentation support on feature change/addition
- ➖ User Guide Documentation support on feature change/addition
- ➖ UX/UI designer responsibilities
- ➖ Accessibility and Readability
- ❌ Code review from 1 Varbase core team member
- ❌ Full testing and approval
- ❌ Credit contributors
- ❌ Review with the product owner
- ❌ Update Release Notes
- ❌ Release
User interface changes
- N/A
API changes
- N/A
Data model changes
- N/A
Release notes snippet
- N/A
Comments
Comment #2
rajab natshahThanks, Fran, for the notice.
Noted, your instructions are legitimate.
We recently switched from CircleCI to GitLab CI (still we need a lot to learn).
For sure, following your notes and tips.
Adding a rule:
pre-releases,releases,post-release(Back to DEV)Comment #3
rajab natshahComment #4
rajab natshahComment #5
rajab natshahComment #6
rajab natshahBack to taking active actions on this
Comment #7
rajab natshahComment #8
rajab natshahComment #9
rajab natshahComment #10
rajab natshahComment #11
rajab natshahComment #12
rajab natshahComment #13
rajab natshahConsulted with Jose on
Following up to have better relevant tests.
Comment #14
rajab natshahComment #15
rajab natshah#3616266: Speed up the test stage: reuse the installed build in the parallel test jobs instead of rebuilding