Skip to content

Parallelize `rake gettext:lint` to improve runtime

Peter Leitzen requested to merge pl-rake-gettext-lint-parallel into master

What does this MR do and why?

This MR improves the overall runtime of rake gettext:lint by parallelizing linting utilizing the already used gem parallel. It also removes an unused method html_todolist.

On my machine, this changes cuts the runtime from ~55s to ~25s 🚀

It has also positive impact on runtime in CI:

Before After
==> Finished in 100.554665931 seconds (expected 85 seconds) ==> Finished in 77.605701638 seconds (expected 85 seconds)

Additionally, users now see a bar showing the progress of the lint:

Linting po files | ETA: 00:00:12 | =============                                                   | Time: 00:00:03

See 👇

Screenshots or screen recordings

Before After
lint-before lint-after

How to set up and validate locally

Run rake gettext:lint and enjoy the progress bar.

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Peter Leitzen

Merge request reports

Loading