From 956dc56942ada733c9085f551c812a947784e39a Mon Sep 17 00:00:00 2001 From: Aiden Huynh <115724666+aidehn@users.noreply.github.com> Date: Tue, 10 Mar 2026 13:22:04 +0000 Subject: [PATCH 01/13] add calver labels --- .github/labels-calver.yml | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 .github/labels-calver.yml diff --git a/.github/labels-calver.yml b/.github/labels-calver.yml new file mode 100644 index 0000000..d4d264b --- /dev/null +++ b/.github/labels-calver.yml @@ -0,0 +1,9 @@ +- color: FF5959 + description: Breaking changes which must be reviewed before being included in the monthly release. + name: 'calver: breaking' +- color: AB9EF7 + description: Changes which should be included in the monthly release. + name: 'calver: monthly' +- color: 9EC9F7 + description: Non-breaking changes which should be included in a patch release. + name: 'calver: patch' \ No newline at end of file From 45e48af9552a8c19708b4be326a4af33c88c0d58 Mon Sep 17 00:00:00 2001 From: Aiden Huynh <115724666+aidehn@users.noreply.github.com> Date: Tue, 10 Mar 2026 13:22:29 +0000 Subject: [PATCH 02/13] enforce calver labels --- .github/workflows/pr-enforce-calver-labels.yml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 .github/workflows/pr-enforce-calver-labels.yml diff --git a/.github/workflows/pr-enforce-calver-labels.yml b/.github/workflows/pr-enforce-calver-labels.yml new file mode 100644 index 0000000..b65fd05 --- /dev/null +++ b/.github/workflows/pr-enforce-calver-labels.yml @@ -0,0 +1,14 @@ +on: + workflow_call: + secrets: + github-token: + required: true + description: A GitHub personal access token with write access to the project + +jobs: + enforce-calver-labels: + uses: localstack/meta/.github/workflows/pr-enforce-pr-labels.yml@main + with: + labels: "calver: patch, calver: monthly, calver: breaking" + secrets: + github-token: ${{ secrets.github-token }} \ No newline at end of file From 92fd69c99ad9774bef5aee213fb93d61ac14aefb Mon Sep 17 00:00:00 2001 From: Aiden Huynh <115724666+aidehn@users.noreply.github.com> Date: Tue, 10 Mar 2026 13:22:37 +0000 Subject: [PATCH 03/13] update enforce all labels --- .github/workflows/pr-enforce-labels.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pr-enforce-labels.yml b/.github/workflows/pr-enforce-labels.yml index e2016ee..13229d4 100644 --- a/.github/workflows/pr-enforce-labels.yml +++ b/.github/workflows/pr-enforce-labels.yml @@ -8,17 +8,19 @@ on: description: A GitHub personal access token with write access to the project jobs: - semver: + calver: + name: Calendar Versioning Labels runs-on: ubuntu-latest steps: - uses: mheap/github-action-required-labels@v5 with: mode: exactly count: 1 - labels: "semver: patch, semver: minor, semver: major" + labels: "calver: patch, calver: monthly, calver: breaking" token: ${{ secrets.github-token }} docs: + name: Documentation Labels runs-on: ubuntu-latest steps: - uses: mheap/github-action-required-labels@v5 @@ -29,6 +31,7 @@ jobs: token: ${{ secrets.github-token }} notes: + name: Notes Labels runs-on: ubuntu-latest steps: - uses: mheap/github-action-required-labels@v5 From 32120c5be8562cffaeaa6d0a96221f081f89975d Mon Sep 17 00:00:00 2001 From: Aiden Huynh <115724666+aidehn@users.noreply.github.com> Date: Tue, 10 Mar 2026 13:22:47 +0000 Subject: [PATCH 04/13] update comment --- .github/workflows/pr-enforce-pr-labels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr-enforce-pr-labels.yml b/.github/workflows/pr-enforce-pr-labels.yml index ee96761..9902447 100644 --- a/.github/workflows/pr-enforce-pr-labels.yml +++ b/.github/workflows/pr-enforce-pr-labels.yml @@ -13,7 +13,7 @@ on: description: A GitHub token with access to the issues of the calling repo jobs: - # make sure _all_ PRs have a semver label + # make sure _all_ PRs have a calver, docs and notes label. enforce-pr-labels: runs-on: ubuntu-latest steps: From 8932b37e06cc1a4d49c97bd25b378acd9b9c9d1b Mon Sep 17 00:00:00 2001 From: Aiden Huynh <115724666+aidehn@users.noreply.github.com> Date: Tue, 10 Mar 2026 16:55:00 +0000 Subject: [PATCH 05/13] update enforce no major minor --- ...r-enforce-no-major-minor.yml => pr-enforce-patch-only.yml} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename .github/workflows/{pr-enforce-no-major-minor.yml => pr-enforce-patch-only.yml} (86%) diff --git a/.github/workflows/pr-enforce-no-major-minor.yml b/.github/workflows/pr-enforce-patch-only.yml similarity index 86% rename from .github/workflows/pr-enforce-no-major-minor.yml rename to .github/workflows/pr-enforce-patch-only.yml index 71dfeea..2971676 100644 --- a/.github/workflows/pr-enforce-no-major-minor.yml +++ b/.github/workflows/pr-enforce-patch-only.yml @@ -1,4 +1,4 @@ -name: Enforce no major or minor labels +name: Enforce Patch Only on: workflow_call: @@ -19,7 +19,7 @@ jobs: with: mode: exactly count: 0 - labels: "semver: major, semver: minor" + labels: "calver: monthly, calver: breaking, semver: major, semver: minor" add_comment: true token: ${{ secrets.github-token }} message: "Currently, only patch changes are allowed on main. Your PR labels ({{ applied }}) indicate that it cannot be merged into the main at this time." From 0a3d9ec9808d1c412d15d4755a47ccd71f25b693 Mon Sep 17 00:00:00 2001 From: Aiden Huynh <115724666+aidehn@users.noreply.github.com> Date: Tue, 10 Mar 2026 16:55:18 +0000 Subject: [PATCH 06/13] remove semver --- .../workflows/pr-enforce-no-major-minor.yml | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 .github/workflows/pr-enforce-no-major-minor.yml diff --git a/.github/workflows/pr-enforce-no-major-minor.yml b/.github/workflows/pr-enforce-no-major-minor.yml new file mode 100644 index 0000000..52f1e5b --- /dev/null +++ b/.github/workflows/pr-enforce-no-major-minor.yml @@ -0,0 +1,25 @@ +name: Enforce Patch Only + +on: + workflow_call: + secrets: + github-token: + required: true + description: A GitHub token with access to the issues of the calling repo + +jobs: + # make sure no PRs with major or minor label are merged + enforce-no-major-label: + runs-on: ubuntu-latest + permissions: + issues: write + pull-requests: write + steps: + - uses: mheap/github-action-required-labels@v5 + with: + mode: exactly + count: 0 + labels: "calver: monthly, calver: breaking" + add_comment: true + token: ${{ secrets.github-token }} + message: "Currently, only patch changes are allowed on main. Your PR labels ({{ applied }}) indicate that it cannot be merged into the main at this time." From 0d6ec929c12748dd5e45839fff664f92fce77a6e Mon Sep 17 00:00:00 2001 From: Aiden Huynh <115724666+aidehn@users.noreply.github.com> Date: Tue, 10 Mar 2026 17:01:48 +0000 Subject: [PATCH 07/13] remove semver --- .github/workflows/pr-enforce-patch-only.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pr-enforce-patch-only.yml b/.github/workflows/pr-enforce-patch-only.yml index 2971676..6f0a255 100644 --- a/.github/workflows/pr-enforce-patch-only.yml +++ b/.github/workflows/pr-enforce-patch-only.yml @@ -8,7 +8,7 @@ on: description: A GitHub token with access to the issues of the calling repo jobs: - # make sure no PRs with major or minor label are merged + # ensures that only patch changes are merged into main. enforce-no-major-label: runs-on: ubuntu-latest permissions: @@ -19,7 +19,7 @@ jobs: with: mode: exactly count: 0 - labels: "calver: monthly, calver: breaking, semver: major, semver: minor" + labels: "calver: monthly, calver: breaking" add_comment: true token: ${{ secrets.github-token }} message: "Currently, only patch changes are allowed on main. Your PR labels ({{ applied }}) indicate that it cannot be merged into the main at this time." From f597a319b5560e7a7ea2333cbf02e75dbe444e59 Mon Sep 17 00:00:00 2001 From: Aiden Huynh <115724666+aidehn@users.noreply.github.com> Date: Tue, 10 Mar 2026 17:24:30 +0000 Subject: [PATCH 08/13] remove no major, major-minor workflows --- .../workflows/pr-enforce-no-major-minor.yml | 25 ------------------- .github/workflows/pr-enforce-no-major.yml | 25 ------------------- 2 files changed, 50 deletions(-) delete mode 100644 .github/workflows/pr-enforce-no-major-minor.yml delete mode 100644 .github/workflows/pr-enforce-no-major.yml diff --git a/.github/workflows/pr-enforce-no-major-minor.yml b/.github/workflows/pr-enforce-no-major-minor.yml deleted file mode 100644 index 52f1e5b..0000000 --- a/.github/workflows/pr-enforce-no-major-minor.yml +++ /dev/null @@ -1,25 +0,0 @@ -name: Enforce Patch Only - -on: - workflow_call: - secrets: - github-token: - required: true - description: A GitHub token with access to the issues of the calling repo - -jobs: - # make sure no PRs with major or minor label are merged - enforce-no-major-label: - runs-on: ubuntu-latest - permissions: - issues: write - pull-requests: write - steps: - - uses: mheap/github-action-required-labels@v5 - with: - mode: exactly - count: 0 - labels: "calver: monthly, calver: breaking" - add_comment: true - token: ${{ secrets.github-token }} - message: "Currently, only patch changes are allowed on main. Your PR labels ({{ applied }}) indicate that it cannot be merged into the main at this time." diff --git a/.github/workflows/pr-enforce-no-major.yml b/.github/workflows/pr-enforce-no-major.yml deleted file mode 100644 index 31032d3..0000000 --- a/.github/workflows/pr-enforce-no-major.yml +++ /dev/null @@ -1,25 +0,0 @@ -name: Enforce no major labels - -on: - workflow_call: - secrets: - github-token: - required: true - description: A GitHub token with access to the issues of the calling repo - -jobs: - # make sure no PRs with major label are merged - enforce-no-major-label: - runs-on: ubuntu-latest - permissions: - issues: write - pull-requests: write - steps: - - uses: mheap/github-action-required-labels@v5 - with: - mode: exactly - count: 0 - labels: "semver: major" - add_comment: true - token: ${{ secrets.github-token }} - message: "Currently, only minor and patch changes are allowed on main. Your PR labels ({{ applied }}) indicate that it cannot be merged into the main at this time." From 2693133ad5796517c148efbcd9c082e4b77d8e9f Mon Sep 17 00:00:00 2001 From: Aiden Huynh <115724666+aidehn@users.noreply.github.com> Date: Tue, 10 Mar 2026 17:25:03 +0000 Subject: [PATCH 09/13] update + move patch only comment --- .github/workflows/pr-enforce-patch-only.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr-enforce-patch-only.yml b/.github/workflows/pr-enforce-patch-only.yml index 6f0a255..38b6500 100644 --- a/.github/workflows/pr-enforce-patch-only.yml +++ b/.github/workflows/pr-enforce-patch-only.yml @@ -1,3 +1,4 @@ +# Enforces changes merged to main to be of patch only. Activated during a release code-freeze. name: Enforce Patch Only on: @@ -8,7 +9,6 @@ on: description: A GitHub token with access to the issues of the calling repo jobs: - # ensures that only patch changes are merged into main. enforce-no-major-label: runs-on: ubuntu-latest permissions: From 068aa3a6d63703036e898ef58ccf3b087a8720cd Mon Sep 17 00:00:00 2001 From: Aiden Huynh <115724666+aidehn@users.noreply.github.com> Date: Tue, 10 Mar 2026 17:25:36 +0000 Subject: [PATCH 10/13] remove semver labels check and move elsewhere --- .github/workflows/pr-enforce-semver-labels.yml | 14 -------------- 1 file changed, 14 deletions(-) delete mode 100644 .github/workflows/pr-enforce-semver-labels.yml diff --git a/.github/workflows/pr-enforce-semver-labels.yml b/.github/workflows/pr-enforce-semver-labels.yml deleted file mode 100644 index 7542a08..0000000 --- a/.github/workflows/pr-enforce-semver-labels.yml +++ /dev/null @@ -1,14 +0,0 @@ -on: - workflow_call: - secrets: - github-token: - required: true - description: A GitHub personal access token with write access to the project - -jobs: - enforce-semver-labels: - uses: localstack/meta/.github/workflows/pr-enforce-pr-labels.yml@main - with: - labels: "semver: patch, semver: minor, semver: major" - secrets: - github-token: ${{ secrets.github-token }} \ No newline at end of file From 888e1eb5b6d52b2fa50b04ea33ebc5d42300483a Mon Sep 17 00:00:00 2001 From: Aiden Huynh <115724666+aidehn@users.noreply.github.com> Date: Tue, 10 Mar 2026 17:28:52 +0000 Subject: [PATCH 11/13] update workflow which checks multiple groups of labels --- ...-labels.yml => pr-enforce-label-group.yml} | 24 +++++++++---------- 1 file changed, 11 insertions(+), 13 deletions(-) rename .github/workflows/{pr-enforce-labels.yml => pr-enforce-label-group.yml} (53%) diff --git a/.github/workflows/pr-enforce-labels.yml b/.github/workflows/pr-enforce-label-group.yml similarity index 53% rename from .github/workflows/pr-enforce-labels.yml rename to .github/workflows/pr-enforce-label-group.yml index 13229d4..28e67fb 100644 --- a/.github/workflows/pr-enforce-labels.yml +++ b/.github/workflows/pr-enforce-label-group.yml @@ -1,4 +1,5 @@ -name: Enforce PR labels +# Ensures all the relevant groups of labels are applied to a PR. +name: Enforce All PR Labels on: workflow_call: @@ -12,31 +13,28 @@ jobs: name: Calendar Versioning Labels runs-on: ubuntu-latest steps: - - uses: mheap/github-action-required-labels@v5 + - uses: localstack/meta/.github/workflows/pr-enforce-pr-labels.yml@main with: - mode: exactly - count: 1 labels: "calver: patch, calver: monthly, calver: breaking" - token: ${{ secrets.github-token }} + secrets: + github-token: ${{ secrets.github-token }} docs: name: Documentation Labels runs-on: ubuntu-latest steps: - - uses: mheap/github-action-required-labels@v5 + - uses: localstack/meta/.github/workflows/pr-enforce-pr-labels.yml@main with: - mode: exactly - count: 1 labels: "docs: needed, docs: skip" - token: ${{ secrets.github-token }} + secrets: + github-token: ${{ secrets.github-token }} notes: name: Notes Labels runs-on: ubuntu-latest steps: - - uses: mheap/github-action-required-labels@v5 + - uses: localstack/meta/.github/workflows/pr-enforce-pr-labels.yml@main with: - mode: exactly - count: 1 labels: "notes: needed, notes: skip" - token: ${{ secrets.github-token }} + secrets: + github-token: ${{ secrets.github-token }} \ No newline at end of file From d19a3ef93a393d9bac8a8b497a5ca12413fe5ff3 Mon Sep 17 00:00:00 2001 From: Aiden Huynh <115724666+aidehn@users.noreply.github.com> Date: Tue, 10 Mar 2026 17:29:15 +0000 Subject: [PATCH 12/13] updates descriptions --- .github/workflows/pr-enforce-pr-labels.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/pr-enforce-pr-labels.yml b/.github/workflows/pr-enforce-pr-labels.yml index 9902447..1c13f20 100644 --- a/.github/workflows/pr-enforce-pr-labels.yml +++ b/.github/workflows/pr-enforce-pr-labels.yml @@ -6,14 +6,13 @@ on: labels: required: true type: string - description: "comma separated list of labels where exactly one has to be set on PRs" + description: "A comma separated list of labels where exactly one has to be set on PRs." secrets: github-token: required: true - description: A GitHub token with access to the issues of the calling repo + description: "A GitHub token with access to the issues of the calling repo." jobs: - # make sure _all_ PRs have a calver, docs and notes label. enforce-pr-labels: runs-on: ubuntu-latest steps: From d2b05c5ef006274dbb7eb0ad6ab10ba74bc85161 Mon Sep 17 00:00:00 2001 From: Aiden Huynh <115724666+aidehn@users.noreply.github.com> Date: Wed, 11 Mar 2026 10:23:49 +0000 Subject: [PATCH 13/13] make patch only applicable to both calver and semver --- .github/workflows/pr-enforce-patch-only.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr-enforce-patch-only.yml b/.github/workflows/pr-enforce-patch-only.yml index 38b6500..0d6a2c6 100644 --- a/.github/workflows/pr-enforce-patch-only.yml +++ b/.github/workflows/pr-enforce-patch-only.yml @@ -19,7 +19,7 @@ jobs: with: mode: exactly count: 0 - labels: "calver: monthly, calver: breaking" + labels: "calver: monthly, calver: breaking, semver: minor, semver: major" add_comment: true token: ${{ secrets.github-token }} message: "Currently, only patch changes are allowed on main. Your PR labels ({{ applied }}) indicate that it cannot be merged into the main at this time."