diff --git a/.ci-builds/.azure-exhaustive-tests.yml b/.ci-builds/.azure-exhaustive-tests.yml index 6d1cb52b8b9..92b3b7d6567 100644 --- a/.ci-builds/.azure-exhaustive-tests.yml +++ b/.ci-builds/.azure-exhaustive-tests.yml @@ -7,6 +7,10 @@ # also batch up any pending changes so that we will only have at most # one build running at a given time (since they take a long time). trigger: + # batch=true to reduce number of concurrent runs on the same branch: + # https://learn.microsoft.com/en-us/azure/devops/pipelines/yaml-schema/trigger?view=azure-pipelines#properties + # potential future feature to supersede batch=true: + # https://learn.microsoft.com/en-us/azure/devops/pipelines/process/stages?view=azure-devops&tabs=yaml#specify-queuing-policies batch: true branches: include: diff --git a/.ci-builds/.azure-pipelines-icu4c.yml b/.ci-builds/.azure-pipelines-icu4c.yml index ef1cdb33d22..2c7e675aa0c 100644 --- a/.ci-builds/.azure-pipelines-icu4c.yml +++ b/.ci-builds/.azure-pipelines-icu4c.yml @@ -1,6 +1,11 @@ # Azure Pipelines (VSTS) configuration for CI builds for ICU. trigger: + # batch=true to reduce number of concurrent runs on the same branch: + # https://learn.microsoft.com/en-us/azure/devops/pipelines/yaml-schema/trigger?view=azure-pipelines#properties + # potential future feature to supersede batch=true: + # https://learn.microsoft.com/en-us/azure/devops/pipelines/process/stages?view=azure-devops&tabs=yaml#specify-queuing-policies + batch: true branches: include: - main diff --git a/.ci-builds/.azure-pipelines-icu4j.yml b/.ci-builds/.azure-pipelines-icu4j.yml index a2d7f7cb01a..f841b49cc79 100644 --- a/.ci-builds/.azure-pipelines-icu4j.yml +++ b/.ci-builds/.azure-pipelines-icu4j.yml @@ -1,6 +1,11 @@ # Azure Pipelines (VSTS) configuration for CI builds for ICU. trigger: + # batch=true to reduce number of concurrent runs on the same branch: + # https://learn.microsoft.com/en-us/azure/devops/pipelines/yaml-schema/trigger?view=azure-pipelines#properties + # potential future feature to supersede batch=true: + # https://learn.microsoft.com/en-us/azure/devops/pipelines/process/stages?view=azure-devops&tabs=yaml#specify-queuing-policies + batch: true branches: include: - main diff --git a/.ci-builds/.azure-post-merge-tests.yml b/.ci-builds/.azure-post-merge-tests.yml index 121fa011aeb..f7f21903b88 100644 --- a/.ci-builds/.azure-post-merge-tests.yml +++ b/.ci-builds/.azure-post-merge-tests.yml @@ -1,5 +1,10 @@ # Azure Pipelines (VSTS) configuration for testing things post merging trigger: + # batch=true to reduce number of concurrent runs on the same branch: + # https://learn.microsoft.com/en-us/azure/devops/pipelines/yaml-schema/trigger?view=azure-pipelines#properties + # potential future feature to supersede batch=true: + # https://learn.microsoft.com/en-us/azure/devops/pipelines/process/stages?view=azure-devops&tabs=yaml#specify-queuing-policies + batch: true branches: include: - main diff --git a/.github/workflows/icu4c.yml b/.github/workflows/icu4c.yml index 3509ccdb65f..f635964826b 100644 --- a/.github/workflows/icu4c.yml +++ b/.github/workflows/icu4c.yml @@ -22,6 +22,13 @@ on: # To trigger the Env Test workflow manually, follow the instructions in # https://docs.github.com/en/actions/managing-workflow-runs/manually-running-a-workflow +# For non-release branches (namely: PRs), only run CI on the most recent commit. Cancel +# runs on previous commits mid-flight when new commits are pushed. +# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-only-cancel-in-progress-jobs-on-specific-branches +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ !contains(github.ref, 'maint/') && github.ref != 'main' }} + permissions: contents: read diff --git a/.github/workflows/icu4j.yml b/.github/workflows/icu4j.yml index 63edb8b3ab6..28baf7920fa 100644 --- a/.github/workflows/icu4j.yml +++ b/.github/workflows/icu4j.yml @@ -22,6 +22,13 @@ on: # To trigger the Env Test workflow manually, follow the instructions in # https://docs.github.com/en/actions/managing-workflow-runs/manually-running-a-workflow +# For non-release branches (namely: PRs), only run CI on the most recent commit. Cancel +# runs on previous commits mid-flight when new commits are pushed. +# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-only-cancel-in-progress-jobs-on-specific-branches +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ !contains(github.ref, 'maint/') && github.ref != 'main' }} + env: SHARED_MVN_ARGS: '--show-version --no-transfer-progress' diff --git a/.github/workflows/icu_common.yml b/.github/workflows/icu_common.yml index ccbcfc1aaec..2b9c1d86c5c 100644 --- a/.github/workflows/icu_common.yml +++ b/.github/workflows/icu_common.yml @@ -16,6 +16,13 @@ on: # To trigger the Env Test workflow manually, follow the instructions in # https://docs.github.com/en/actions/managing-workflow-runs/manually-running-a-workflow +# For non-release branches (namely: PRs), only run CI on the most recent commit. Cancel +# runs on previous commits mid-flight when new commits are pushed. +# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-only-cancel-in-progress-jobs-on-specific-branches +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ !contains(github.ref, 'maint/') && github.ref != 'main' }} + env: SHARED_MVN_ARGS: '--show-version --no-transfer-progress' diff --git a/.github/workflows/icu_docs.yml b/.github/workflows/icu_docs.yml index 1a5a82a3875..239ee4afb8d 100644 --- a/.github/workflows/icu_docs.yml +++ b/.github/workflows/icu_docs.yml @@ -22,6 +22,13 @@ on: # To trigger the Env Test workflow manually, follow the instructions in # https://docs.github.com/en/actions/managing-workflow-runs/manually-running-a-workflow +# For non-release branches (namely: PRs), only run CI on the most recent commit. Cancel +# runs on previous commits mid-flight when new commits are pushed. +# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-only-cancel-in-progress-jobs-on-specific-branches +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ !contains(github.ref, 'maint/') && github.ref != 'main' }} + permissions: contents: read diff --git a/.github/workflows/icu_merge_ci.yml b/.github/workflows/icu_merge_ci.yml index 40195aa0ceb..23b2d5315bc 100644 --- a/.github/workflows/icu_merge_ci.yml +++ b/.github/workflows/icu_merge_ci.yml @@ -14,6 +14,13 @@ on: # To trigger the Env Test workflow manually, follow the instructions in # https://docs.github.com/en/actions/managing-workflow-runs/manually-running-a-workflow +# For non-release branches (namely: PRs), only run CI on the most recent commit. Cancel +# runs on previous commits mid-flight when new commits are pushed. +# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-only-cancel-in-progress-jobs-on-specific-branches +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ !contains(github.ref, 'maint/') && github.ref != 'main' }} + env: SHARED_MVN_ARGS: '--show-version --no-transfer-progress' diff --git a/.github/workflows/icu_valgrind.yml b/.github/workflows/icu_valgrind.yml index c57004b0c02..7128e1fc617 100644 --- a/.github/workflows/icu_valgrind.yml +++ b/.github/workflows/icu_valgrind.yml @@ -20,6 +20,13 @@ on: - 'icu4c/**' - '.github/workflows/**' +# For non-release branches (namely: PRs), only run CI on the most recent commit. Cancel +# runs on previous commits mid-flight when new commits are pushed. +# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-only-cancel-in-progress-jobs-on-specific-branches +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ !contains(github.ref, 'maint/') && github.ref != 'main' }} + permissions: contents: read