oncall-engine/.github/workflows
Joey Orlando 23cd736c30
speed up ci builds from 15 to <7 minutes (#1615)
This PR cuts GitHub Action build times from 14-15 minutes, down to just
under 7 minutes. It does this by:
- caching `grafana-plugins/node_modules` and `pip` dependencies based on
their respective dependency files (eg. `requirements.txt` &
`yarn.lock`). This step alone saves ~3 minutes.
- get rid of the "build-engine-docker-image" and
"backend-integration-tests" jobs in the old "Integration Tests"
workflow. This was split out this way so that we could build the backend
docker image once, upload the artifact, and then reuse it across the
backend and e2e tests. We no longer need these backend integration tests
because we are testing the same thing in the e2e tests. This saves ~45
seconds of having to upload the image artifact.
- few improvements within the integration tests themselves:
- move plugin configuration to the `globalSetup.ts`. This means that
every test does not need to check if the plugin has been configured
because it is done once before all the tests are run.
- cache the plugin frontend build. If your commit doesn't change
anything to `grafana-plugin/src` or `grafana-plugin/yarn.lock` it should
be safe to reuse a previously built/cached version of the plugin
frontend. This saves ~3 minutes
- cache playwright binaries/dependencies. Only re-install them if the
version of `@playwright/test` in `grafana-plugin/yarn.lock` changes.
This saves ~3 minutes.
  
**Other things to mention**
Once we refactor the `GSelect` component to not call the `onChange`
callback on every keyDown event (#1628), this should allow us to
parallelize the integration tests, and cut the time required to execute
the tests themselves in half
2023-03-27 18:07:19 +02:00
..
helm_release.yml speed up ci builds from 15 to <7 minutes (#1615) 2023-03-27 18:07:19 +02:00
helm_release_pr.yml Update helm_release_pr.yml 2023-01-20 16:41:51 +08:00
issue_commands.yml speed up ci builds from 15 to <7 minutes (#1615) 2023-03-27 18:07:19 +02:00
linting-and-tests.yml speed up ci builds from 15 to <7 minutes (#1615) 2023-03-27 18:07:19 +02:00
publish-technical-documentation-next.yml speed up ci builds from 15 to <7 minutes (#1615) 2023-03-27 18:07:19 +02:00
publish-technical-documentation-release.yml speed up ci builds from 15 to <7 minutes (#1615) 2023-03-27 18:07:19 +02:00
snyk.yml speed up ci builds from 15 to <7 minutes (#1615) 2023-03-27 18:07:19 +02:00
verify-changelog-updated.yml don't run changelog/public-docs CI checks on merge_group Github events (#1388) 2023-02-22 16:18:25 +01:00
verify-public-docs-updated.yml don't run changelog/public-docs CI checks on merge_group Github events (#1388) 2023-02-22 16:18:25 +01:00