Split out the unit tests into their own action. This decouples the unit tests
from the other tests. This means the gitlab schutzbot tests don't have to
wait until the unit tests are completed before they are triggered. This
also a step towards splitting out the tests so it is more obvious to see
which step is failing and why.
This updates the test env to test with Node 20 only, pr_check is also updated to use Node 20.
The changes shouldn't affect users in any way, please let me know if you think it might.
There were common async flakes when using testing-library with Node 18, those often surfaced in gh actions / pr_check only and did not reproduce locally unless resources got limited (I can reproduce some flakes in Power Saver mode only, leading me to conclusion, that it's just async being mischievous). Switching to testing with Node 20 only should also allow us to re-enable some tests that got disabled specifically because them running with Node 18 ended up in a time out.
For checking wether the api was tempered with, we need separate action,
that just checks the code against the currently pulled spec.
This introduces two subactions for `npx api`.
These are `npx api:generate` and `npx api:pull`.
As Travis CI is getting removed from RedHatInsights this should replace it in what we used to use Travis for.
This workflow is triggered on pull requests to main and runs clean install of dependencies, lint check and the unit test suite.
The main motivation of this workflow being separated from the IQE tests is to allow to quickly check if the basic tests pass during development without the need to wait for the IQE tests to finish their run.