Conversation
Co-authored-by: Marc Riera <mrc2407@gmail.com>
|
The idea behind this is that we're running all CI jobs once a PR is merged. But when the PR is open, we can reduce the amount of tests that are executed. This was our first idea:
This is a little naive, but should work. Using GitHub Actions, we can improve the original idea by using a In reality, this means that if we modify This will reduce the amount of jobs to be enqueued per PR. Crowdin PRs are not affected and will still skip the CI jobs. |
* develop: (64 commits) Fix report mailers when author is a meeting (#7683) New Crowdin updates (#7729) Fix form builder assuming proposals module availability (#7689) Fix a series of issues with proposal attachments in the public area (#7699) New Crowdin updates (#7711) Add accessibility labels to the <nav> menus (#7709) Fix heading order on the home page (#7710) Fix dropdown menu accessibility audits (#7708) Fix the aria attribute names (no aria prefix) (#7707) Fix validations for registration related fields in Conference form (#7675) New Crowdin updates (#7613) Use comments counter cache instead of additional query (#7627) Upgrade to decidim-bulletin_board 0.15.2 (#7659) Bump mimemagic to 0.3.6 (#7701) Ensure pagination elements per page is a valid option (#7680) Fix link to "Getting started guide" in README.adoc (#7695) Fix link to CONTRIBUTING.adoc in PR template (#7696) Fix the screen reader class name for comments opinion toggle (#7698) Fix initiative-m card hashtags (#7679) Don't run all jobs on every PR (#7693) ...
🎩 What? Why?
The queues of Github Actions for the decidim are starting to be too big (currently, there are more than 800 jobs enqueued). This PR tries to help with that, preventing to execute some jobs when its clearly not needed.
To decide when a job needs to be executed, we take into account files changed by a PR (we are not changing anything for the
developbranch nor the releases branches). For each module, we add the list of paths that should be taken into account. This list is generated automatically by the script.github/workflows/dependencies.shbased on the contents of the.gemspecfile of each module.At the moment, the workflow files should be updated manually. In the future, we could work on a script that updates the .yml automatically before each commit or that check that on the main job.
This PR also updates the docs to explain this improvement.
📌 Related Issues
Link your PR to an issue
Testing
Describe the best way to test or validate your PR.
📋 Checklist
🚨 Please review the guidelines for contributing to this repository.
docs/.📷 Screenshots
Please add screenshots of the changes you're proposing
