* MM-52438 Only run web app CI for PRs with web app changes
* MM-52438 Don't wait to run web app tests in CI
* MM-52438 Remove commented out caching
* MM-52438 Reuse steps to set up webapp environment
* MM-52438 Add test-ci script to root package.json
* Simplify path filter
We discovered that cancel-in-progress only controls
in-progress jobs. Which means that pending jobs will _always_
be cancelled regardless. There is an open discussion:
https://github.com/orgs/community/discussions/5435
which was closed saying this is how the feature is designed.
We try to work around this by refactoring into separate reusable
workflows and having concurrency only for PR workflows.
```release-note
NONE
```
Co-authored-by: Mattermost Build <build@mattermost.com>