Consider reducing CI execution footprint
Right now we are running CI for:
 - branch pushes
 - PRs

This causes redundant builds to be triggered (example, see actions triggered for PR #2096). Redundant builds clutter the UI (reducing dev experience) and may count against our quota of free open source builds. This issue has been discussed on GH before: https://github.community/t/how-to-trigger-an-action-on-push-or-pull-request-but-not-both/16662

Potential solutions:
 - run only on PRs and pushes the the main dev branch
 - use https://github.com/marketplace/actions/skip-duplicate-actions (adds complexity to the workflow and requires exposing secrets to yet another 3rd party code)

.github/workflows/ci.yml
.github/workflows/ci.yml
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index db9a46240d..bf41083077 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -9,7 +9,7 @@ name: CI
 
 on:
   push:
-    branches: ['**']
+    branches: ['release/3.x']
     tags-ignore: [v*] # release tags are automatically generated after a successful CI build, no need to run CI against them
   pull_request:
     branches: ['**']
