-
Notifications
You must be signed in to change notification settings - Fork 33
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[INFRA] Reduce the number of GitHub job runs #2172
Labels
chore
Build, CI/CD or repository tasks (issues/PR maintenance, environments, ...)
decision record
Track project and architectural decisions
Milestone
Comments
tbouffard
added
the
chore
Build, CI/CD or repository tasks (issues/PR maintenance, environments, ...)
label
Aug 10, 2022
tbouffard
changed the title
[INFRA] Reduce the number of GitHub jobs
[INFRA] Reduce the number of GitHub jobs run
Aug 10, 2022
tbouffard
changed the title
[INFRA] Reduce the number of GitHub jobs run
[INFRA] Reduce the number of GitHub job runs
Aug 11, 2022
1 task
tbouffard
pushed a commit
that referenced
this issue
Jun 1, 2023
The workflows running the tests were not executed when the shared configuration was updated. The build workflow was also triggered too often, for instance, when the e2e tests were modified. Covers #2172
github-project-automation
bot
moved this to To do
in Day to Day Board (bpmn-visualization)
Oct 21, 2024
tbouffard
moved this from To do
to In progress
in Day to Day Board (bpmn-visualization)
Oct 21, 2024
github-project-automation
bot
moved this from In Review
to Done
in Day to Day Board (bpmn-visualization)
Oct 28, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
chore
Build, CI/CD or repository tasks (issues/PR maintenance, environments, ...)
decision record
Track project and architectural decisions
We have a limited number of GH hosted runners available at a given time (max 20). So we should review the current triggering configuration of workflows.
To limit the number of runners, we can use
concurrency
on the workflow syntax.Also, see https://stackoverflow.com/questions/68418857/how-to-cancel-existing-runs-when-a-new-push-happens-on-github-actions-but-only.
Status
At least the following workflows shouldn't be triggered on every change:
✔️ npm-package
It was introduced with #2071 but we almost never used the produced package locally.
If we want to only test the build of the npm package: allow to run on on demand (workflow_dispatch) and limit run to changes to
- '.github/actions/build-setup/**/*' workflow defintiion dependency
- '.github/workflows/upload-npm-package.yml' the workflow definition
- 'package.json': prepack depends on it but very limited impact as it calls the build-bundles that is tested as part of the "build" workflow
We already build bundles as part of the "build" workflow, so we generate it only once.
We need type elements provides in the npm package to test the lowest TypeScript version that can be used with bpmn-visualization. #2258 add tests for that and they run in the workflow that build the npm package.
So I suggest we keep this workflow and let it run as today on each Pull Request.
✔️ build test_bundles
Currently, they run on 3 OS for chromium, chrome, firefox, on macOS for webkit and on windows for edge. So 11 jobs are run!
Do we need to test all browsers with all OS every time? probably not
So I suggest we run the tests as part of the workflow that check the generation of the npm package
In addition, #2272 requires that the whole npm package is built to make the tests pass
✔ test-e2e
They shouldn't been run when only the integration and unit tests code change. If needed, move shared utilities out of this 2 folders to a dedicated folder trigger e2e only when utility code changes. --> done in #2717
Other improvements: Setup concurrency + provide a way to skip tests on demand on PR by setting a label. #3197
Future changes and proposals: see #3196
✔️ performance tests
Note: done in #2717
Only run on PR when performance tests change
Review the schedule configuration to see if we can run them less often. This may be not needed if they run when there is no or few activity in the GH organization
Configuration for v0.27.0
My suggestion: nothing to change
Decisions
npm package and bundle tests
2022-10-04 by @csouchet and @tbouffard
Based on the proposal
See #2284
The text was updated successfully, but these errors were encountered: