Pick some of the projects you are using. For most projects you have to understand the philosophy and what is the central idea, and it is very difficult if you are not using it.
Start with a small part. You are never sure if the maintainers are going to merge it, or if the maintainers are crazy or morons. So pick a small task that is useful but you don't be too sad if it not merged. I recommend to not invest more than two days initially, but perhaps two days is too much.
Also each project has unofficial rules about rebasing, code style, commit message style, test coverage, documentation. Try to follow the style of the project, but be prepared to make a few fixes.
The best time to start contributing to open source was 20 years ago. The second best time is now.
PS: (Just in case) Don't expect to make money for this. It is posible if you reach the Linus status, or you get hired to contribute to a project, but in most cases don't expect to get money.
PS2: Typos in docs, comments, and error message are a good starting point. It's easy, and after looking at the code you will understand it more and perhaps notice something you can improve.
PS2: Since you know CICD ... do you know how to run gcc with -ubsan in travis-ci? I tried to configure it, but I failed and gave up. Warning: it may be harder than you think.
PS4: Configuring the CI of some projects may he helpful. Perhaps try some project you are interested and they have a clear set of test but don't have the CI enabled.