Currently, all the components in CI are tested on a single runner. We should modify this such that each component spawns a separate runner and runs the corresponding tests. This will help in speeding up the runs and also allow us to create cleaner environments (no dependencies for other components) for each component.
We can add a component axis to our build strategy: component: [rust, python, R, wasm] and write our remaining script conditional on the component.