From 6523b5fbb65b4d29bb548112dae85ba68b36bda5 Mon Sep 17 00:00:00 2001 From: Lachlan Collins <1667261+lachlancollins@users.noreply.github.com> Date: Sun, 28 Sep 2025 10:17:00 +1000 Subject: [PATCH 1/4] ci(release): do not auto-merge major releases --- .github/workflows/release.yml | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 15d55ce8c0..01f11898c2 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -37,6 +37,16 @@ jobs: - name: Stop Nx Agents if: ${{ always() }} run: npx nx-cloud stop-all-agents + - name: Check for Changesets marked as major + id: major + run: | + echo "found=false" >> $GITHUB_OUTPUT + regex="(major)" + for file in ".changeset/*.md"; do + if [[ $(cat $file) =~ $regex ]]; then + echo "found=true" >> $GITHUB_OUTPUT + fi + done - name: Run Changesets (version or publish) id: changesets uses: changesets/action@v1.5.3 @@ -49,7 +59,7 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} NPM_TOKEN: ${{ secrets.NPM_TOKEN }} - name: Auto-merge Changesets PR - if: steps.changesets.outputs.hasChangesets == 'true' + if: steps.changesets.outputs.hasChangesets == 'true' && steps.major.outputs.found == 'false' run: | gh pr merge --squash "$PR_NUMBER" gh api --method POST /repos/$REPO/dispatches -f 'event_type=release' From 00af74e874d33f2137496c0ea4064bd1e4524530 Mon Sep 17 00:00:00 2001 From: Lachlan Collins <1667261+lachlancollins@users.noreply.github.com> Date: Sun, 28 Sep 2025 10:33:17 +1000 Subject: [PATCH 2/4] Testing --- .github/workflows/pr.yml | 15 +++++++++++++++ .github/workflows/release.yml | 3 ++- grumpy-plants-build.md | 5 +++++ 3 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 grumpy-plants-build.md diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index fda2527849..6935f8cc89 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -84,3 +84,18 @@ jobs: uses: danielroe/provenance-action@v0.1.1 with: fail-on-downgrade: true + - name: Check for Changesets marked as major + id: major + run: | + echo "found=false" >> $GITHUB_OUTPUT + regex="(major)" + shopt -s nullglob + for file in .changeset/*.md; do + if [[ $(cat $file) =~ $regex ]]; then + echo "found=true" >> $GITHUB_OUTPUT + fi + done + - name: Echo result + run: echo $FOUND + env: + FOUND: ${{ steps.major.outputs.found }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 01f11898c2..62d8c16434 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -42,7 +42,8 @@ jobs: run: | echo "found=false" >> $GITHUB_OUTPUT regex="(major)" - for file in ".changeset/*.md"; do + shopt -s nullglob + for file in .changeset/*.md; do if [[ $(cat $file) =~ $regex ]]; then echo "found=true" >> $GITHUB_OUTPUT fi diff --git a/grumpy-plants-build.md b/grumpy-plants-build.md new file mode 100644 index 0000000000..dcbb29768c --- /dev/null +++ b/grumpy-plants-build.md @@ -0,0 +1,5 @@ +--- +'@tanstack/query-core': major +--- + +TEST From 3d703c965f268aeec29126196cd7fb0cb01886c5 Mon Sep 17 00:00:00 2001 From: Lachlan Collins <1667261+lachlancollins@users.noreply.github.com> Date: Sun, 28 Sep 2025 10:37:23 +1000 Subject: [PATCH 3/4] Add test changesets --- grumpy-plants-build.md => .changeset/grumpy-plants-build.md | 0 .changeset/orange-groups-dance.md | 5 +++++ 2 files changed, 5 insertions(+) rename grumpy-plants-build.md => .changeset/grumpy-plants-build.md (100%) create mode 100644 .changeset/orange-groups-dance.md diff --git a/grumpy-plants-build.md b/.changeset/grumpy-plants-build.md similarity index 100% rename from grumpy-plants-build.md rename to .changeset/grumpy-plants-build.md diff --git a/.changeset/orange-groups-dance.md b/.changeset/orange-groups-dance.md new file mode 100644 index 0000000000..4bb5ec927f --- /dev/null +++ b/.changeset/orange-groups-dance.md @@ -0,0 +1,5 @@ +--- +'@tanstack/query-core': minor +--- + +test From 8e2a3480a759f0ee3afa499ed3a5ce6682f4ed8e Mon Sep 17 00:00:00 2001 From: Lachlan Collins <1667261+lachlancollins@users.noreply.github.com> Date: Sun, 28 Sep 2025 10:38:35 +1000 Subject: [PATCH 4/4] Undo test changes --- .changeset/grumpy-plants-build.md | 5 ----- .changeset/orange-groups-dance.md | 5 ----- .github/workflows/pr.yml | 15 --------------- 3 files changed, 25 deletions(-) delete mode 100644 .changeset/grumpy-plants-build.md delete mode 100644 .changeset/orange-groups-dance.md diff --git a/.changeset/grumpy-plants-build.md b/.changeset/grumpy-plants-build.md deleted file mode 100644 index dcbb29768c..0000000000 --- a/.changeset/grumpy-plants-build.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@tanstack/query-core': major ---- - -TEST diff --git a/.changeset/orange-groups-dance.md b/.changeset/orange-groups-dance.md deleted file mode 100644 index 4bb5ec927f..0000000000 --- a/.changeset/orange-groups-dance.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@tanstack/query-core': minor ---- - -test diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 6935f8cc89..fda2527849 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -84,18 +84,3 @@ jobs: uses: danielroe/provenance-action@v0.1.1 with: fail-on-downgrade: true - - name: Check for Changesets marked as major - id: major - run: | - echo "found=false" >> $GITHUB_OUTPUT - regex="(major)" - shopt -s nullglob - for file in .changeset/*.md; do - if [[ $(cat $file) =~ $regex ]]; then - echo "found=true" >> $GITHUB_OUTPUT - fi - done - - name: Echo result - run: echo $FOUND - env: - FOUND: ${{ steps.major.outputs.found }}