Has this feature been discussed and generally agreed?
Related to #1806
No. However @ignotus666 developed something comparable on the website: jamulussoftware/jamuluswebsite#586
Describe the solution you'd like
Currently the CI runs even if it is not needed (e.g. twice if there's a merge, if .md files which do not contribute to the build are changed,...).
The CI should only run if necessary.
This means if we change...
- .md files
- merge to master and we already had a PR run
- .gitignore/.clang-format* is changed, we don't need to run ci at all
... the CI doesn't have to run
Every PR does not need to:
- Start a legacy build (since there's a beta release before each build, we'd see if something breaks on older Qt versions)
- JACK build (not yet implemented)
Note:
if: ${{ contains(steps.jamulus-build-vars.outputs.PUBLISH_TO_RELEASE, 'true') }}
specifies if we have a release or just a normal build.
... but every (beta, nightly,...) release needs to build them all.
Why I consider this as important
- We're wasting resources (storage, power) --> environment
- We're wasting time (there should be no need to run multiple builds which take ages all over the exactly same code)
Has this feature been discussed and generally agreed?
Related to #1806
No. However @ignotus666 developed something comparable on the website: jamulussoftware/jamuluswebsite#586
Describe the solution you'd like
Currently the CI runs even if it is not needed (e.g. twice if there's a merge, if .md files which do not contribute to the build are changed,...).
The CI should only run if necessary.
This means if we change...
... the CI doesn't have to run
Every PR does not need to:
Note:
if: ${{ contains(steps.jamulus-build-vars.outputs.PUBLISH_TO_RELEASE, 'true') }}
specifies if we have a release or just a normal build.
... but every (beta, nightly,...) release needs to build them all.
Why I consider this as important