From dcb6313dc1176a0e22c8aa4283d1040077ae77c6 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 12 Mar 2026 12:15:27 +0000 Subject: [PATCH 01/14] Initial plan From 41ec14e4be939460b3b5edd56ccc699c002f765f Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 12 Mar 2026 12:22:03 +0000 Subject: [PATCH 02/14] chore: plan prerelease-capable release pipeline update Co-authored-by: pavelglac <42679661+pavelglac@users.noreply.github.com> --- .../src/__generated__/AppQuery.graphql.ts | 1 + .../__generated__/TodoListFooter_todosFragment.graphql.ts | 1 + .../TodoListFooter_todosWatchNodeQuery.graphql.ts | 1 + .../src/__generated__/TodoListPaginationQuery.graphql.ts | 1 + .../src/__generated__/TodoList_nodeFragment.graphql.ts | 1 + .../src/__generated__/TodoRefetchQuery.graphql.ts | 1 + .../src/__generated__/Todo_todoFragment.graphql.ts | 1 + .../src/__generated__/useAddTodoMutation.graphql.ts | 1 + .../__generated__/useChangeTodoStatusMutation.graphql.ts | 1 + packages/apollo-forest-run/compat/package-lock.json | 6 +++--- yarn.lock | 5 +++++ 11 files changed, 17 insertions(+), 3 deletions(-) diff --git a/examples/apollo-watch-fragments/src/__generated__/AppQuery.graphql.ts b/examples/apollo-watch-fragments/src/__generated__/AppQuery.graphql.ts index 44b3eada0..f9090d0a7 100644 --- a/examples/apollo-watch-fragments/src/__generated__/AppQuery.graphql.ts +++ b/examples/apollo-watch-fragments/src/__generated__/AppQuery.graphql.ts @@ -1,3 +1,4 @@ +// @apollo-react-relay-duct-tape /* tslint:disable */ /* eslint-disable */ // @ts-nocheck diff --git a/examples/apollo-watch-fragments/src/__generated__/TodoListFooter_todosFragment.graphql.ts b/examples/apollo-watch-fragments/src/__generated__/TodoListFooter_todosFragment.graphql.ts index b7a06c0aa..8a528b53c 100644 --- a/examples/apollo-watch-fragments/src/__generated__/TodoListFooter_todosFragment.graphql.ts +++ b/examples/apollo-watch-fragments/src/__generated__/TodoListFooter_todosFragment.graphql.ts @@ -1,3 +1,4 @@ +// @apollo-react-relay-duct-tape /* tslint:disable */ /* eslint-disable */ // @ts-nocheck diff --git a/examples/apollo-watch-fragments/src/__generated__/TodoListFooter_todosWatchNodeQuery.graphql.ts b/examples/apollo-watch-fragments/src/__generated__/TodoListFooter_todosWatchNodeQuery.graphql.ts index 4f86e8415..bdbd38c55 100644 --- a/examples/apollo-watch-fragments/src/__generated__/TodoListFooter_todosWatchNodeQuery.graphql.ts +++ b/examples/apollo-watch-fragments/src/__generated__/TodoListFooter_todosWatchNodeQuery.graphql.ts @@ -1,3 +1,4 @@ +// @apollo-react-relay-duct-tape /* tslint:disable */ /* eslint-disable */ // @ts-nocheck diff --git a/examples/apollo-watch-fragments/src/__generated__/TodoListPaginationQuery.graphql.ts b/examples/apollo-watch-fragments/src/__generated__/TodoListPaginationQuery.graphql.ts index 1cbd452a9..282fbad66 100644 --- a/examples/apollo-watch-fragments/src/__generated__/TodoListPaginationQuery.graphql.ts +++ b/examples/apollo-watch-fragments/src/__generated__/TodoListPaginationQuery.graphql.ts @@ -1,3 +1,4 @@ +// @apollo-react-relay-duct-tape /* tslint:disable */ /* eslint-disable */ // @ts-nocheck diff --git a/examples/apollo-watch-fragments/src/__generated__/TodoList_nodeFragment.graphql.ts b/examples/apollo-watch-fragments/src/__generated__/TodoList_nodeFragment.graphql.ts index 2eb0bf56a..8dd614e1e 100644 --- a/examples/apollo-watch-fragments/src/__generated__/TodoList_nodeFragment.graphql.ts +++ b/examples/apollo-watch-fragments/src/__generated__/TodoList_nodeFragment.graphql.ts @@ -1,3 +1,4 @@ +// @apollo-react-relay-duct-tape /* tslint:disable */ /* eslint-disable */ // @ts-nocheck diff --git a/examples/apollo-watch-fragments/src/__generated__/TodoRefetchQuery.graphql.ts b/examples/apollo-watch-fragments/src/__generated__/TodoRefetchQuery.graphql.ts index 17e39aa13..b037c022b 100644 --- a/examples/apollo-watch-fragments/src/__generated__/TodoRefetchQuery.graphql.ts +++ b/examples/apollo-watch-fragments/src/__generated__/TodoRefetchQuery.graphql.ts @@ -1,3 +1,4 @@ +// @apollo-react-relay-duct-tape /* tslint:disable */ /* eslint-disable */ // @ts-nocheck diff --git a/examples/apollo-watch-fragments/src/__generated__/Todo_todoFragment.graphql.ts b/examples/apollo-watch-fragments/src/__generated__/Todo_todoFragment.graphql.ts index 39d789bc3..cff52be4b 100644 --- a/examples/apollo-watch-fragments/src/__generated__/Todo_todoFragment.graphql.ts +++ b/examples/apollo-watch-fragments/src/__generated__/Todo_todoFragment.graphql.ts @@ -1,3 +1,4 @@ +// @apollo-react-relay-duct-tape /* tslint:disable */ /* eslint-disable */ // @ts-nocheck diff --git a/examples/apollo-watch-fragments/src/__generated__/useAddTodoMutation.graphql.ts b/examples/apollo-watch-fragments/src/__generated__/useAddTodoMutation.graphql.ts index 7cbba5266..7a9948d39 100644 --- a/examples/apollo-watch-fragments/src/__generated__/useAddTodoMutation.graphql.ts +++ b/examples/apollo-watch-fragments/src/__generated__/useAddTodoMutation.graphql.ts @@ -1,3 +1,4 @@ +// @apollo-react-relay-duct-tape /* tslint:disable */ /* eslint-disable */ // @ts-nocheck diff --git a/examples/apollo-watch-fragments/src/__generated__/useChangeTodoStatusMutation.graphql.ts b/examples/apollo-watch-fragments/src/__generated__/useChangeTodoStatusMutation.graphql.ts index 895c870d9..9080c1eb0 100644 --- a/examples/apollo-watch-fragments/src/__generated__/useChangeTodoStatusMutation.graphql.ts +++ b/examples/apollo-watch-fragments/src/__generated__/useChangeTodoStatusMutation.graphql.ts @@ -1,3 +1,4 @@ +// @apollo-react-relay-duct-tape /* tslint:disable */ /* eslint-disable */ // @ts-nocheck diff --git a/packages/apollo-forest-run/compat/package-lock.json b/packages/apollo-forest-run/compat/package-lock.json index e52f058fe..b2b5b08ea 100644 --- a/packages/apollo-forest-run/compat/package-lock.json +++ b/packages/apollo-forest-run/compat/package-lock.json @@ -8434,9 +8434,9 @@ "dev": true }, "minimatch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", - "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.3.tgz", + "integrity": "sha512-M2GCs7Vk83NxkUyQV1bkABc4yxgz9kILhHImZiBPAZ9ybuvCb0/H7lEl5XvIg3g+9d4eNotkZA5IWwYl0tibaA==", "dev": true, "requires": { "brace-expansion": "^1.1.7" diff --git a/yarn.lock b/yarn.lock index a54d72e84..859741b9e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1964,6 +1964,11 @@ "@n1ru4l/push-pull-async-iterable-iterator" "^3.1.0" meros "^1.1.4" +"@graphitation/apollo-forest-run@*": + version "0.21.0" + resolved "https://registry.yarnpkg.com/@graphitation/apollo-forest-run/-/apollo-forest-run-0.21.0.tgz#2f0b7ab14e6edac7efb5af5fe773ad949da12bd3" + integrity sha512-Q+lvMHMbRbNDJWRYTbo192XEty0l3rCNLNvg53ZnAY4iBB8JkUYNU4MFvg1h97RlAhge4yN8trYD0e39mWl/cQ== + "@graphitation/supermassive-ast@*": version "2.0.0" resolved "https://registry.yarnpkg.com/@graphitation/supermassive-ast/-/supermassive-ast-2.0.0.tgz#d49155c6b7213811d99b8609d496d6c460a4d1e2" From 2c746dcf6f078d3ee3ed1cf9ca8b446d8f275e99 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 12 Mar 2026 12:23:04 +0000 Subject: [PATCH 03/14] feat: add prerelease mode to release pipeline Co-authored-by: pavelglac <42679661+pavelglac@users.noreply.github.com> --- .azure-devops/graphitation-release.yml | 22 +++++++++++++++++-- CONTRIBUTING.md | 8 +++---- .../src/__generated__/AppQuery.graphql.ts | 1 - .../TodoListFooter_todosFragment.graphql.ts | 1 - ...oListFooter_todosWatchNodeQuery.graphql.ts | 1 - .../TodoListPaginationQuery.graphql.ts | 1 - .../TodoList_nodeFragment.graphql.ts | 1 - .../__generated__/TodoRefetchQuery.graphql.ts | 1 - .../Todo_todoFragment.graphql.ts | 1 - .../useAddTodoMutation.graphql.ts | 1 - .../useChangeTodoStatusMutation.graphql.ts | 1 - .../compat/package-lock.json | 6 ++--- yarn.lock | 5 ----- 13 files changed, 27 insertions(+), 23 deletions(-) diff --git a/.azure-devops/graphitation-release.yml b/.azure-devops/graphitation-release.yml index d84f9aaff..5af69b909 100644 --- a/.azure-devops/graphitation-release.yml +++ b/.azure-devops/graphitation-release.yml @@ -3,6 +3,12 @@ trigger: - main - alloy/relay-apollo-duct-tape +parameters: + - name: prerelease + displayName: Publish as prerelease from current branch + type: boolean + default: false + variables: - group: InfoSec-SecurityResults - name: tags @@ -58,7 +64,13 @@ extends: git config user.name "Graphitation Service Account" git fetch --depth=2 displayName: Configure git for release - - script: yarn release -y -n $(ossNpmToken) --access public --no-push --keep-change-files + - script: | + if [ "${{ parameters.prerelease }}" = "true" ]; then + releaseBranch="origin/${BUILD_SOURCEBRANCH#refs/heads/}" + yarn beachball -b "$releaseBranch" publish -t prerelease -y -n $(ossNpmToken) --access public --no-push --keep-change-files + else + yarn release -y -n $(ossNpmToken) --access public --no-push --keep-change-files + fi displayName: Release to the npm registry - script: | git restore . @@ -69,7 +81,13 @@ extends: - task: npmAuthenticate@0 inputs: workingFile: ".npmrc" - - script: yarn release -y --registry $(adoNpmFeedBaseUrl) + - script: | + if [ "${{ parameters.prerelease }}" = "true" ]; then + releaseBranch="origin/${BUILD_SOURCEBRANCH#refs/heads/}" + yarn beachball -b "$releaseBranch" publish -t prerelease -y --registry $(adoNpmFeedBaseUrl) + else + yarn release -y --registry $(adoNpmFeedBaseUrl) + fi displayName: Release to the ado npm feed - task: 1ES.PublishPipelineArtifact@1 displayName: 📒 Publish Manifest diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 41833ae5c..3b7169b0f 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -54,7 +54,7 @@ yarn lint ## Releasing alpha versions -1. Add a branch which will be releasing alpha version to .azure-devops\graphitation-release.yml into `trigger` -2. Change `release` script in the root package json to `yarn beachball publish -t alpha`, -3. Modify package.json of the package you want to release to x.x.x-alpha.0 -4. Every time you want to release a new version use `yarn change` and select `prelease`. To avoid patching of dependent packages set `dependentChangeType` to `none` manually in .changes directory +1. Open the `graphitation-release` pipeline in Azure DevOps and run it from the branch you want to release from. +2. Turn on **Publish as prerelease from current branch**. +3. The pipeline will publish using `prerelease` npm dist-tag and use your selected branch as the beachball target branch automatically. +4. Every time you want to release a new prerelease version use `yarn change` and select `prelease`. To avoid patching dependent packages set `dependentChangeType` to `none` manually in `.changes` files. diff --git a/examples/apollo-watch-fragments/src/__generated__/AppQuery.graphql.ts b/examples/apollo-watch-fragments/src/__generated__/AppQuery.graphql.ts index f9090d0a7..44b3eada0 100644 --- a/examples/apollo-watch-fragments/src/__generated__/AppQuery.graphql.ts +++ b/examples/apollo-watch-fragments/src/__generated__/AppQuery.graphql.ts @@ -1,4 +1,3 @@ -// @apollo-react-relay-duct-tape /* tslint:disable */ /* eslint-disable */ // @ts-nocheck diff --git a/examples/apollo-watch-fragments/src/__generated__/TodoListFooter_todosFragment.graphql.ts b/examples/apollo-watch-fragments/src/__generated__/TodoListFooter_todosFragment.graphql.ts index 8a528b53c..b7a06c0aa 100644 --- a/examples/apollo-watch-fragments/src/__generated__/TodoListFooter_todosFragment.graphql.ts +++ b/examples/apollo-watch-fragments/src/__generated__/TodoListFooter_todosFragment.graphql.ts @@ -1,4 +1,3 @@ -// @apollo-react-relay-duct-tape /* tslint:disable */ /* eslint-disable */ // @ts-nocheck diff --git a/examples/apollo-watch-fragments/src/__generated__/TodoListFooter_todosWatchNodeQuery.graphql.ts b/examples/apollo-watch-fragments/src/__generated__/TodoListFooter_todosWatchNodeQuery.graphql.ts index bdbd38c55..4f86e8415 100644 --- a/examples/apollo-watch-fragments/src/__generated__/TodoListFooter_todosWatchNodeQuery.graphql.ts +++ b/examples/apollo-watch-fragments/src/__generated__/TodoListFooter_todosWatchNodeQuery.graphql.ts @@ -1,4 +1,3 @@ -// @apollo-react-relay-duct-tape /* tslint:disable */ /* eslint-disable */ // @ts-nocheck diff --git a/examples/apollo-watch-fragments/src/__generated__/TodoListPaginationQuery.graphql.ts b/examples/apollo-watch-fragments/src/__generated__/TodoListPaginationQuery.graphql.ts index 282fbad66..1cbd452a9 100644 --- a/examples/apollo-watch-fragments/src/__generated__/TodoListPaginationQuery.graphql.ts +++ b/examples/apollo-watch-fragments/src/__generated__/TodoListPaginationQuery.graphql.ts @@ -1,4 +1,3 @@ -// @apollo-react-relay-duct-tape /* tslint:disable */ /* eslint-disable */ // @ts-nocheck diff --git a/examples/apollo-watch-fragments/src/__generated__/TodoList_nodeFragment.graphql.ts b/examples/apollo-watch-fragments/src/__generated__/TodoList_nodeFragment.graphql.ts index 8dd614e1e..2eb0bf56a 100644 --- a/examples/apollo-watch-fragments/src/__generated__/TodoList_nodeFragment.graphql.ts +++ b/examples/apollo-watch-fragments/src/__generated__/TodoList_nodeFragment.graphql.ts @@ -1,4 +1,3 @@ -// @apollo-react-relay-duct-tape /* tslint:disable */ /* eslint-disable */ // @ts-nocheck diff --git a/examples/apollo-watch-fragments/src/__generated__/TodoRefetchQuery.graphql.ts b/examples/apollo-watch-fragments/src/__generated__/TodoRefetchQuery.graphql.ts index b037c022b..17e39aa13 100644 --- a/examples/apollo-watch-fragments/src/__generated__/TodoRefetchQuery.graphql.ts +++ b/examples/apollo-watch-fragments/src/__generated__/TodoRefetchQuery.graphql.ts @@ -1,4 +1,3 @@ -// @apollo-react-relay-duct-tape /* tslint:disable */ /* eslint-disable */ // @ts-nocheck diff --git a/examples/apollo-watch-fragments/src/__generated__/Todo_todoFragment.graphql.ts b/examples/apollo-watch-fragments/src/__generated__/Todo_todoFragment.graphql.ts index cff52be4b..39d789bc3 100644 --- a/examples/apollo-watch-fragments/src/__generated__/Todo_todoFragment.graphql.ts +++ b/examples/apollo-watch-fragments/src/__generated__/Todo_todoFragment.graphql.ts @@ -1,4 +1,3 @@ -// @apollo-react-relay-duct-tape /* tslint:disable */ /* eslint-disable */ // @ts-nocheck diff --git a/examples/apollo-watch-fragments/src/__generated__/useAddTodoMutation.graphql.ts b/examples/apollo-watch-fragments/src/__generated__/useAddTodoMutation.graphql.ts index 7a9948d39..7cbba5266 100644 --- a/examples/apollo-watch-fragments/src/__generated__/useAddTodoMutation.graphql.ts +++ b/examples/apollo-watch-fragments/src/__generated__/useAddTodoMutation.graphql.ts @@ -1,4 +1,3 @@ -// @apollo-react-relay-duct-tape /* tslint:disable */ /* eslint-disable */ // @ts-nocheck diff --git a/examples/apollo-watch-fragments/src/__generated__/useChangeTodoStatusMutation.graphql.ts b/examples/apollo-watch-fragments/src/__generated__/useChangeTodoStatusMutation.graphql.ts index 9080c1eb0..895c870d9 100644 --- a/examples/apollo-watch-fragments/src/__generated__/useChangeTodoStatusMutation.graphql.ts +++ b/examples/apollo-watch-fragments/src/__generated__/useChangeTodoStatusMutation.graphql.ts @@ -1,4 +1,3 @@ -// @apollo-react-relay-duct-tape /* tslint:disable */ /* eslint-disable */ // @ts-nocheck diff --git a/packages/apollo-forest-run/compat/package-lock.json b/packages/apollo-forest-run/compat/package-lock.json index b2b5b08ea..e52f058fe 100644 --- a/packages/apollo-forest-run/compat/package-lock.json +++ b/packages/apollo-forest-run/compat/package-lock.json @@ -8434,9 +8434,9 @@ "dev": true }, "minimatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.3.tgz", - "integrity": "sha512-M2GCs7Vk83NxkUyQV1bkABc4yxgz9kILhHImZiBPAZ9ybuvCb0/H7lEl5XvIg3g+9d4eNotkZA5IWwYl0tibaA==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", "dev": true, "requires": { "brace-expansion": "^1.1.7" diff --git a/yarn.lock b/yarn.lock index 859741b9e..a54d72e84 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1964,11 +1964,6 @@ "@n1ru4l/push-pull-async-iterable-iterator" "^3.1.0" meros "^1.1.4" -"@graphitation/apollo-forest-run@*": - version "0.21.0" - resolved "https://registry.yarnpkg.com/@graphitation/apollo-forest-run/-/apollo-forest-run-0.21.0.tgz#2f0b7ab14e6edac7efb5af5fe773ad949da12bd3" - integrity sha512-Q+lvMHMbRbNDJWRYTbo192XEty0l3rCNLNvg53ZnAY4iBB8JkUYNU4MFvg1h97RlAhge4yN8trYD0e39mWl/cQ== - "@graphitation/supermassive-ast@*": version "2.0.0" resolved "https://registry.yarnpkg.com/@graphitation/supermassive-ast/-/supermassive-ast-2.0.0.tgz#d49155c6b7213811d99b8609d496d6c460a4d1e2" From 62c430420ef84ab122a04434b2f1cc9a46f550c9 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 12 Mar 2026 12:26:29 +0000 Subject: [PATCH 04/14] docs: update prerelease release instructions Co-authored-by: pavelglac <42679661+pavelglac@users.noreply.github.com> --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 3b7169b0f..5a887d9b5 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -57,4 +57,4 @@ yarn lint 1. Open the `graphitation-release` pipeline in Azure DevOps and run it from the branch you want to release from. 2. Turn on **Publish as prerelease from current branch**. 3. The pipeline will publish using `prerelease` npm dist-tag and use your selected branch as the beachball target branch automatically. -4. Every time you want to release a new prerelease version use `yarn change` and select `prelease`. To avoid patching dependent packages set `dependentChangeType` to `none` manually in `.changes` files. +4. Every time you want to release a new prerelease version use `yarn change` and select `prerelease`. To avoid patching dependent packages set `dependentChangeType` to `none` manually in `.changes` files. From 899613fe4aef451c10e1e921d83e4acfe306e8fc Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 12 Mar 2026 13:05:41 +0000 Subject: [PATCH 05/14] chore: scope beachball main branch to change checks only Co-authored-by: pavelglac <42679661+pavelglac@users.noreply.github.com> --- .azure-devops/graphitation-release.yml | 6 ++---- package.json | 2 +- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/.azure-devops/graphitation-release.yml b/.azure-devops/graphitation-release.yml index 5af69b909..d43b3d4a1 100644 --- a/.azure-devops/graphitation-release.yml +++ b/.azure-devops/graphitation-release.yml @@ -66,8 +66,7 @@ extends: displayName: Configure git for release - script: | if [ "${{ parameters.prerelease }}" = "true" ]; then - releaseBranch="origin/${BUILD_SOURCEBRANCH#refs/heads/}" - yarn beachball -b "$releaseBranch" publish -t prerelease -y -n $(ossNpmToken) --access public --no-push --keep-change-files + yarn beachball publish -t prerelease -y -n $(ossNpmToken) --access public --no-push --keep-change-files else yarn release -y -n $(ossNpmToken) --access public --no-push --keep-change-files fi @@ -83,8 +82,7 @@ extends: workingFile: ".npmrc" - script: | if [ "${{ parameters.prerelease }}" = "true" ]; then - releaseBranch="origin/${BUILD_SOURCEBRANCH#refs/heads/}" - yarn beachball -b "$releaseBranch" publish -t prerelease -y --registry $(adoNpmFeedBaseUrl) + yarn beachball publish -t prerelease -y --registry $(adoNpmFeedBaseUrl) else yarn release -y --registry $(adoNpmFeedBaseUrl) fi diff --git a/package.json b/package.json index 08170a49b..af6032400 100644 --- a/package.json +++ b/package.json @@ -49,4 +49,4 @@ "serialize-javascript": "^7.0.4", "webpack": "^5.105.4" } -} +} \ No newline at end of file From 4a6a6990f98fd5040c53714b9add9e22426845b7 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 12 Mar 2026 13:33:26 +0000 Subject: [PATCH 06/14] fix: set explicit prerelease branch for beachball publish in pipeline Co-authored-by: pavelglac <42679661+pavelglac@users.noreply.github.com> --- .azure-devops/graphitation-release.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.azure-devops/graphitation-release.yml b/.azure-devops/graphitation-release.yml index d43b3d4a1..5af69b909 100644 --- a/.azure-devops/graphitation-release.yml +++ b/.azure-devops/graphitation-release.yml @@ -66,7 +66,8 @@ extends: displayName: Configure git for release - script: | if [ "${{ parameters.prerelease }}" = "true" ]; then - yarn beachball publish -t prerelease -y -n $(ossNpmToken) --access public --no-push --keep-change-files + releaseBranch="origin/${BUILD_SOURCEBRANCH#refs/heads/}" + yarn beachball -b "$releaseBranch" publish -t prerelease -y -n $(ossNpmToken) --access public --no-push --keep-change-files else yarn release -y -n $(ossNpmToken) --access public --no-push --keep-change-files fi @@ -82,7 +83,8 @@ extends: workingFile: ".npmrc" - script: | if [ "${{ parameters.prerelease }}" = "true" ]; then - yarn beachball publish -t prerelease -y --registry $(adoNpmFeedBaseUrl) + releaseBranch="origin/${BUILD_SOURCEBRANCH#refs/heads/}" + yarn beachball -b "$releaseBranch" publish -t prerelease -y --registry $(adoNpmFeedBaseUrl) else yarn release -y --registry $(adoNpmFeedBaseUrl) fi From cdd18abeff071c0a9119db6369077cf9b82a8975 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 12 Mar 2026 13:34:07 +0000 Subject: [PATCH 07/14] chore: place beachball branch option after publish command Co-authored-by: pavelglac <42679661+pavelglac@users.noreply.github.com> --- .azure-devops/graphitation-release.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.azure-devops/graphitation-release.yml b/.azure-devops/graphitation-release.yml index 5af69b909..0aa17c1db 100644 --- a/.azure-devops/graphitation-release.yml +++ b/.azure-devops/graphitation-release.yml @@ -67,7 +67,7 @@ extends: - script: | if [ "${{ parameters.prerelease }}" = "true" ]; then releaseBranch="origin/${BUILD_SOURCEBRANCH#refs/heads/}" - yarn beachball -b "$releaseBranch" publish -t prerelease -y -n $(ossNpmToken) --access public --no-push --keep-change-files + yarn beachball publish -b "$releaseBranch" -t prerelease -y -n $(ossNpmToken) --access public --no-push --keep-change-files else yarn release -y -n $(ossNpmToken) --access public --no-push --keep-change-files fi @@ -84,7 +84,7 @@ extends: - script: | if [ "${{ parameters.prerelease }}" = "true" ]; then releaseBranch="origin/${BUILD_SOURCEBRANCH#refs/heads/}" - yarn beachball -b "$releaseBranch" publish -t prerelease -y --registry $(adoNpmFeedBaseUrl) + yarn beachball publish -b "$releaseBranch" -t prerelease -y --registry $(adoNpmFeedBaseUrl) else yarn release -y --registry $(adoNpmFeedBaseUrl) fi From 624839e407bad487d421bfba067f90ad7ebe40fb Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 12 Mar 2026 13:55:38 +0000 Subject: [PATCH 08/14] feat: auto alpha tagging for non-main releases in pipeline Co-authored-by: pavelglac <42679661+pavelglac@users.noreply.github.com> --- .azure-devops/graphitation-release.yml | 24 ++++++++----------- CONTRIBUTING.md | 9 +++---- .../src/__generated__/AppQuery.graphql.ts | 1 + .../TodoListFooter_todosFragment.graphql.ts | 1 + ...oListFooter_todosWatchNodeQuery.graphql.ts | 1 + .../TodoListPaginationQuery.graphql.ts | 1 + .../TodoList_nodeFragment.graphql.ts | 1 + .../__generated__/TodoRefetchQuery.graphql.ts | 1 + .../Todo_todoFragment.graphql.ts | 1 + .../useAddTodoMutation.graphql.ts | 1 + .../useChangeTodoStatusMutation.graphql.ts | 1 + .../compat/package-lock.json | 6 ++--- yarn.lock | 5 ++++ 13 files changed, 32 insertions(+), 21 deletions(-) diff --git a/.azure-devops/graphitation-release.yml b/.azure-devops/graphitation-release.yml index 0aa17c1db..6738dc367 100644 --- a/.azure-devops/graphitation-release.yml +++ b/.azure-devops/graphitation-release.yml @@ -3,12 +3,6 @@ trigger: - main - alloy/relay-apollo-duct-tape -parameters: - - name: prerelease - displayName: Publish as prerelease from current branch - type: boolean - default: false - variables: - group: InfoSec-SecurityResults - name: tags @@ -65,11 +59,12 @@ extends: git fetch --depth=2 displayName: Configure git for release - script: | - if [ "${{ parameters.prerelease }}" = "true" ]; then - releaseBranch="origin/${BUILD_SOURCEBRANCH#refs/heads/}" - yarn beachball publish -b "$releaseBranch" -t prerelease -y -n $(ossNpmToken) --access public --no-push --keep-change-files + releaseBranch="origin/${BUILD_SOURCEBRANCH#refs/heads/}" + + if [ "${BUILD_SOURCEBRANCH}" = "refs/heads/main" ]; then + yarn beachball publish -b "$releaseBranch" -y -n $(ossNpmToken) --access public --no-push --keep-change-files else - yarn release -y -n $(ossNpmToken) --access public --no-push --keep-change-files + yarn beachball publish -b "$releaseBranch" -t alpha -y -n $(ossNpmToken) --access public --no-push --keep-change-files fi displayName: Release to the npm registry - script: | @@ -82,11 +77,12 @@ extends: inputs: workingFile: ".npmrc" - script: | - if [ "${{ parameters.prerelease }}" = "true" ]; then - releaseBranch="origin/${BUILD_SOURCEBRANCH#refs/heads/}" - yarn beachball publish -b "$releaseBranch" -t prerelease -y --registry $(adoNpmFeedBaseUrl) + releaseBranch="origin/${BUILD_SOURCEBRANCH#refs/heads/}" + + if [ "${BUILD_SOURCEBRANCH}" = "refs/heads/main" ]; then + yarn beachball publish -b "$releaseBranch" -y --registry $(adoNpmFeedBaseUrl) else - yarn release -y --registry $(adoNpmFeedBaseUrl) + yarn beachball publish -b "$releaseBranch" -t alpha -y --registry $(adoNpmFeedBaseUrl) fi displayName: Release to the ado npm feed - task: 1ES.PublishPipelineArtifact@1 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 5a887d9b5..c80b7c363 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -52,9 +52,10 @@ yarn test yarn lint ``` -## Releasing alpha versions +## Releasing versions 1. Open the `graphitation-release` pipeline in Azure DevOps and run it from the branch you want to release from. -2. Turn on **Publish as prerelease from current branch**. -3. The pipeline will publish using `prerelease` npm dist-tag and use your selected branch as the beachball target branch automatically. -4. Every time you want to release a new prerelease version use `yarn change` and select `prerelease`. To avoid patching dependent packages set `dependentChangeType` to `none` manually in `.changes` files. +2. The pipeline always targets your selected branch as the beachball branch. +3. If the branch is `main`, packages are published with the default npm dist-tag (`latest`). +4. If the branch is not `main`, packages are published with the `alpha` npm dist-tag automatically. +5. Every time you want to release a new alpha version use `yarn change` and select `prerelease`. To avoid patching dependent packages set `dependentChangeType` to `none` manually in `.changes` files. diff --git a/examples/apollo-watch-fragments/src/__generated__/AppQuery.graphql.ts b/examples/apollo-watch-fragments/src/__generated__/AppQuery.graphql.ts index 44b3eada0..f9090d0a7 100644 --- a/examples/apollo-watch-fragments/src/__generated__/AppQuery.graphql.ts +++ b/examples/apollo-watch-fragments/src/__generated__/AppQuery.graphql.ts @@ -1,3 +1,4 @@ +// @apollo-react-relay-duct-tape /* tslint:disable */ /* eslint-disable */ // @ts-nocheck diff --git a/examples/apollo-watch-fragments/src/__generated__/TodoListFooter_todosFragment.graphql.ts b/examples/apollo-watch-fragments/src/__generated__/TodoListFooter_todosFragment.graphql.ts index b7a06c0aa..8a528b53c 100644 --- a/examples/apollo-watch-fragments/src/__generated__/TodoListFooter_todosFragment.graphql.ts +++ b/examples/apollo-watch-fragments/src/__generated__/TodoListFooter_todosFragment.graphql.ts @@ -1,3 +1,4 @@ +// @apollo-react-relay-duct-tape /* tslint:disable */ /* eslint-disable */ // @ts-nocheck diff --git a/examples/apollo-watch-fragments/src/__generated__/TodoListFooter_todosWatchNodeQuery.graphql.ts b/examples/apollo-watch-fragments/src/__generated__/TodoListFooter_todosWatchNodeQuery.graphql.ts index 4f86e8415..bdbd38c55 100644 --- a/examples/apollo-watch-fragments/src/__generated__/TodoListFooter_todosWatchNodeQuery.graphql.ts +++ b/examples/apollo-watch-fragments/src/__generated__/TodoListFooter_todosWatchNodeQuery.graphql.ts @@ -1,3 +1,4 @@ +// @apollo-react-relay-duct-tape /* tslint:disable */ /* eslint-disable */ // @ts-nocheck diff --git a/examples/apollo-watch-fragments/src/__generated__/TodoListPaginationQuery.graphql.ts b/examples/apollo-watch-fragments/src/__generated__/TodoListPaginationQuery.graphql.ts index 1cbd452a9..282fbad66 100644 --- a/examples/apollo-watch-fragments/src/__generated__/TodoListPaginationQuery.graphql.ts +++ b/examples/apollo-watch-fragments/src/__generated__/TodoListPaginationQuery.graphql.ts @@ -1,3 +1,4 @@ +// @apollo-react-relay-duct-tape /* tslint:disable */ /* eslint-disable */ // @ts-nocheck diff --git a/examples/apollo-watch-fragments/src/__generated__/TodoList_nodeFragment.graphql.ts b/examples/apollo-watch-fragments/src/__generated__/TodoList_nodeFragment.graphql.ts index 2eb0bf56a..8dd614e1e 100644 --- a/examples/apollo-watch-fragments/src/__generated__/TodoList_nodeFragment.graphql.ts +++ b/examples/apollo-watch-fragments/src/__generated__/TodoList_nodeFragment.graphql.ts @@ -1,3 +1,4 @@ +// @apollo-react-relay-duct-tape /* tslint:disable */ /* eslint-disable */ // @ts-nocheck diff --git a/examples/apollo-watch-fragments/src/__generated__/TodoRefetchQuery.graphql.ts b/examples/apollo-watch-fragments/src/__generated__/TodoRefetchQuery.graphql.ts index 17e39aa13..b037c022b 100644 --- a/examples/apollo-watch-fragments/src/__generated__/TodoRefetchQuery.graphql.ts +++ b/examples/apollo-watch-fragments/src/__generated__/TodoRefetchQuery.graphql.ts @@ -1,3 +1,4 @@ +// @apollo-react-relay-duct-tape /* tslint:disable */ /* eslint-disable */ // @ts-nocheck diff --git a/examples/apollo-watch-fragments/src/__generated__/Todo_todoFragment.graphql.ts b/examples/apollo-watch-fragments/src/__generated__/Todo_todoFragment.graphql.ts index 39d789bc3..cff52be4b 100644 --- a/examples/apollo-watch-fragments/src/__generated__/Todo_todoFragment.graphql.ts +++ b/examples/apollo-watch-fragments/src/__generated__/Todo_todoFragment.graphql.ts @@ -1,3 +1,4 @@ +// @apollo-react-relay-duct-tape /* tslint:disable */ /* eslint-disable */ // @ts-nocheck diff --git a/examples/apollo-watch-fragments/src/__generated__/useAddTodoMutation.graphql.ts b/examples/apollo-watch-fragments/src/__generated__/useAddTodoMutation.graphql.ts index 7cbba5266..7a9948d39 100644 --- a/examples/apollo-watch-fragments/src/__generated__/useAddTodoMutation.graphql.ts +++ b/examples/apollo-watch-fragments/src/__generated__/useAddTodoMutation.graphql.ts @@ -1,3 +1,4 @@ +// @apollo-react-relay-duct-tape /* tslint:disable */ /* eslint-disable */ // @ts-nocheck diff --git a/examples/apollo-watch-fragments/src/__generated__/useChangeTodoStatusMutation.graphql.ts b/examples/apollo-watch-fragments/src/__generated__/useChangeTodoStatusMutation.graphql.ts index 895c870d9..9080c1eb0 100644 --- a/examples/apollo-watch-fragments/src/__generated__/useChangeTodoStatusMutation.graphql.ts +++ b/examples/apollo-watch-fragments/src/__generated__/useChangeTodoStatusMutation.graphql.ts @@ -1,3 +1,4 @@ +// @apollo-react-relay-duct-tape /* tslint:disable */ /* eslint-disable */ // @ts-nocheck diff --git a/packages/apollo-forest-run/compat/package-lock.json b/packages/apollo-forest-run/compat/package-lock.json index e52f058fe..b2b5b08ea 100644 --- a/packages/apollo-forest-run/compat/package-lock.json +++ b/packages/apollo-forest-run/compat/package-lock.json @@ -8434,9 +8434,9 @@ "dev": true }, "minimatch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", - "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.3.tgz", + "integrity": "sha512-M2GCs7Vk83NxkUyQV1bkABc4yxgz9kILhHImZiBPAZ9ybuvCb0/H7lEl5XvIg3g+9d4eNotkZA5IWwYl0tibaA==", "dev": true, "requires": { "brace-expansion": "^1.1.7" diff --git a/yarn.lock b/yarn.lock index a54d72e84..859741b9e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1964,6 +1964,11 @@ "@n1ru4l/push-pull-async-iterable-iterator" "^3.1.0" meros "^1.1.4" +"@graphitation/apollo-forest-run@*": + version "0.21.0" + resolved "https://registry.yarnpkg.com/@graphitation/apollo-forest-run/-/apollo-forest-run-0.21.0.tgz#2f0b7ab14e6edac7efb5af5fe773ad949da12bd3" + integrity sha512-Q+lvMHMbRbNDJWRYTbo192XEty0l3rCNLNvg53ZnAY4iBB8JkUYNU4MFvg1h97RlAhge4yN8trYD0e39mWl/cQ== + "@graphitation/supermassive-ast@*": version "2.0.0" resolved "https://registry.yarnpkg.com/@graphitation/supermassive-ast/-/supermassive-ast-2.0.0.tgz#d49155c6b7213811d99b8609d496d6c460a4d1e2" From 7bee573c2a5bb8507285b61ced75900b35403a51 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 12 Mar 2026 13:56:18 +0000 Subject: [PATCH 09/14] chore: remove unrelated generated and lockfile changes Co-authored-by: pavelglac <42679661+pavelglac@users.noreply.github.com> --- .../src/__generated__/AppQuery.graphql.ts | 1 - .../__generated__/TodoListFooter_todosFragment.graphql.ts | 1 - .../TodoListFooter_todosWatchNodeQuery.graphql.ts | 1 - .../src/__generated__/TodoListPaginationQuery.graphql.ts | 1 - .../src/__generated__/TodoList_nodeFragment.graphql.ts | 1 - .../src/__generated__/TodoRefetchQuery.graphql.ts | 1 - .../src/__generated__/Todo_todoFragment.graphql.ts | 1 - .../src/__generated__/useAddTodoMutation.graphql.ts | 1 - .../__generated__/useChangeTodoStatusMutation.graphql.ts | 1 - packages/apollo-forest-run/compat/package-lock.json | 6 +++--- yarn.lock | 5 ----- 11 files changed, 3 insertions(+), 17 deletions(-) diff --git a/examples/apollo-watch-fragments/src/__generated__/AppQuery.graphql.ts b/examples/apollo-watch-fragments/src/__generated__/AppQuery.graphql.ts index f9090d0a7..44b3eada0 100644 --- a/examples/apollo-watch-fragments/src/__generated__/AppQuery.graphql.ts +++ b/examples/apollo-watch-fragments/src/__generated__/AppQuery.graphql.ts @@ -1,4 +1,3 @@ -// @apollo-react-relay-duct-tape /* tslint:disable */ /* eslint-disable */ // @ts-nocheck diff --git a/examples/apollo-watch-fragments/src/__generated__/TodoListFooter_todosFragment.graphql.ts b/examples/apollo-watch-fragments/src/__generated__/TodoListFooter_todosFragment.graphql.ts index 8a528b53c..b7a06c0aa 100644 --- a/examples/apollo-watch-fragments/src/__generated__/TodoListFooter_todosFragment.graphql.ts +++ b/examples/apollo-watch-fragments/src/__generated__/TodoListFooter_todosFragment.graphql.ts @@ -1,4 +1,3 @@ -// @apollo-react-relay-duct-tape /* tslint:disable */ /* eslint-disable */ // @ts-nocheck diff --git a/examples/apollo-watch-fragments/src/__generated__/TodoListFooter_todosWatchNodeQuery.graphql.ts b/examples/apollo-watch-fragments/src/__generated__/TodoListFooter_todosWatchNodeQuery.graphql.ts index bdbd38c55..4f86e8415 100644 --- a/examples/apollo-watch-fragments/src/__generated__/TodoListFooter_todosWatchNodeQuery.graphql.ts +++ b/examples/apollo-watch-fragments/src/__generated__/TodoListFooter_todosWatchNodeQuery.graphql.ts @@ -1,4 +1,3 @@ -// @apollo-react-relay-duct-tape /* tslint:disable */ /* eslint-disable */ // @ts-nocheck diff --git a/examples/apollo-watch-fragments/src/__generated__/TodoListPaginationQuery.graphql.ts b/examples/apollo-watch-fragments/src/__generated__/TodoListPaginationQuery.graphql.ts index 282fbad66..1cbd452a9 100644 --- a/examples/apollo-watch-fragments/src/__generated__/TodoListPaginationQuery.graphql.ts +++ b/examples/apollo-watch-fragments/src/__generated__/TodoListPaginationQuery.graphql.ts @@ -1,4 +1,3 @@ -// @apollo-react-relay-duct-tape /* tslint:disable */ /* eslint-disable */ // @ts-nocheck diff --git a/examples/apollo-watch-fragments/src/__generated__/TodoList_nodeFragment.graphql.ts b/examples/apollo-watch-fragments/src/__generated__/TodoList_nodeFragment.graphql.ts index 8dd614e1e..2eb0bf56a 100644 --- a/examples/apollo-watch-fragments/src/__generated__/TodoList_nodeFragment.graphql.ts +++ b/examples/apollo-watch-fragments/src/__generated__/TodoList_nodeFragment.graphql.ts @@ -1,4 +1,3 @@ -// @apollo-react-relay-duct-tape /* tslint:disable */ /* eslint-disable */ // @ts-nocheck diff --git a/examples/apollo-watch-fragments/src/__generated__/TodoRefetchQuery.graphql.ts b/examples/apollo-watch-fragments/src/__generated__/TodoRefetchQuery.graphql.ts index b037c022b..17e39aa13 100644 --- a/examples/apollo-watch-fragments/src/__generated__/TodoRefetchQuery.graphql.ts +++ b/examples/apollo-watch-fragments/src/__generated__/TodoRefetchQuery.graphql.ts @@ -1,4 +1,3 @@ -// @apollo-react-relay-duct-tape /* tslint:disable */ /* eslint-disable */ // @ts-nocheck diff --git a/examples/apollo-watch-fragments/src/__generated__/Todo_todoFragment.graphql.ts b/examples/apollo-watch-fragments/src/__generated__/Todo_todoFragment.graphql.ts index cff52be4b..39d789bc3 100644 --- a/examples/apollo-watch-fragments/src/__generated__/Todo_todoFragment.graphql.ts +++ b/examples/apollo-watch-fragments/src/__generated__/Todo_todoFragment.graphql.ts @@ -1,4 +1,3 @@ -// @apollo-react-relay-duct-tape /* tslint:disable */ /* eslint-disable */ // @ts-nocheck diff --git a/examples/apollo-watch-fragments/src/__generated__/useAddTodoMutation.graphql.ts b/examples/apollo-watch-fragments/src/__generated__/useAddTodoMutation.graphql.ts index 7a9948d39..7cbba5266 100644 --- a/examples/apollo-watch-fragments/src/__generated__/useAddTodoMutation.graphql.ts +++ b/examples/apollo-watch-fragments/src/__generated__/useAddTodoMutation.graphql.ts @@ -1,4 +1,3 @@ -// @apollo-react-relay-duct-tape /* tslint:disable */ /* eslint-disable */ // @ts-nocheck diff --git a/examples/apollo-watch-fragments/src/__generated__/useChangeTodoStatusMutation.graphql.ts b/examples/apollo-watch-fragments/src/__generated__/useChangeTodoStatusMutation.graphql.ts index 9080c1eb0..895c870d9 100644 --- a/examples/apollo-watch-fragments/src/__generated__/useChangeTodoStatusMutation.graphql.ts +++ b/examples/apollo-watch-fragments/src/__generated__/useChangeTodoStatusMutation.graphql.ts @@ -1,4 +1,3 @@ -// @apollo-react-relay-duct-tape /* tslint:disable */ /* eslint-disable */ // @ts-nocheck diff --git a/packages/apollo-forest-run/compat/package-lock.json b/packages/apollo-forest-run/compat/package-lock.json index b2b5b08ea..e52f058fe 100644 --- a/packages/apollo-forest-run/compat/package-lock.json +++ b/packages/apollo-forest-run/compat/package-lock.json @@ -8434,9 +8434,9 @@ "dev": true }, "minimatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.3.tgz", - "integrity": "sha512-M2GCs7Vk83NxkUyQV1bkABc4yxgz9kILhHImZiBPAZ9ybuvCb0/H7lEl5XvIg3g+9d4eNotkZA5IWwYl0tibaA==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", "dev": true, "requires": { "brace-expansion": "^1.1.7" diff --git a/yarn.lock b/yarn.lock index 859741b9e..a54d72e84 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1964,11 +1964,6 @@ "@n1ru4l/push-pull-async-iterable-iterator" "^3.1.0" meros "^1.1.4" -"@graphitation/apollo-forest-run@*": - version "0.21.0" - resolved "https://registry.yarnpkg.com/@graphitation/apollo-forest-run/-/apollo-forest-run-0.21.0.tgz#2f0b7ab14e6edac7efb5af5fe773ad949da12bd3" - integrity sha512-Q+lvMHMbRbNDJWRYTbo192XEty0l3rCNLNvg53ZnAY4iBB8JkUYNU4MFvg1h97RlAhge4yN8trYD0e39mWl/cQ== - "@graphitation/supermassive-ast@*": version "2.0.0" resolved "https://registry.yarnpkg.com/@graphitation/supermassive-ast/-/supermassive-ast-2.0.0.tgz#d49155c6b7213811d99b8609d496d6c460a4d1e2" From b2b8dbaa99f50a1a3fe4473822077489fb3573e6 Mon Sep 17 00:00:00 2001 From: Pavel Glac Date: Fri, 13 Mar 2026 10:01:27 +0000 Subject: [PATCH 10/14] fixies --- CONTRIBUTING.md | 8 +++----- package.json | 6 +++--- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c80b7c363..bcad94a2a 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -52,10 +52,8 @@ yarn test yarn lint ``` -## Releasing versions +## Releasing versions including prerelease versions 1. Open the `graphitation-release` pipeline in Azure DevOps and run it from the branch you want to release from. -2. The pipeline always targets your selected branch as the beachball branch. -3. If the branch is `main`, packages are published with the default npm dist-tag (`latest`). -4. If the branch is not `main`, packages are published with the `alpha` npm dist-tag automatically. -5. Every time you want to release a new alpha version use `yarn change` and select `prerelease`. To avoid patching dependent packages set `dependentChangeType` to `none` manually in `.changes` files. +1. If the branch is `main`, packages are published with the default npm dist-tag (`latest`). +1. If the branch is not `main`, packages are published with the `alpha` npm dist-tag automatically. diff --git a/package.json b/package.json index af6032400..7eba0d22b 100644 --- a/package.json +++ b/package.json @@ -17,9 +17,9 @@ "lint": "lage lint --continue", "lage": "lage", "ci": "yarn lage build types test lint && yarn checkchange", - "beachball": "beachball -b origin/main", - "change": "yarn beachball change", - "checkchange": "yarn beachball check", + "beachball": "beachball", + "change": "yarn beachball -b origin/main change", + "checkchange": "yarn beachball -b origin/main check", "release": "yarn beachball publish -t latest", "postinstall": "patch-package" }, From ea3ac1d20e69aa670f9c735048c58da4dfa23382 Mon Sep 17 00:00:00 2001 From: Pavel Glac Date: Fri, 13 Mar 2026 10:07:06 +0000 Subject: [PATCH 11/14] adding prefix automatically --- .azure-devops/graphitation-release.yml | 8 +++++--- CONTRIBUTING.md | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/.azure-devops/graphitation-release.yml b/.azure-devops/graphitation-release.yml index 6738dc367..f59807219 100644 --- a/.azure-devops/graphitation-release.yml +++ b/.azure-devops/graphitation-release.yml @@ -1,7 +1,6 @@ pr: none trigger: - main - - alloy/relay-apollo-duct-tape variables: - group: InfoSec-SecurityResults @@ -48,6 +47,9 @@ extends: - checkout: self persistCredentials: true # fix for beachball: https://github.com/microsoft/beachball/issues/674 fetchDepth: 2 + - script: | + releaseBranch="origin/${BUILD_SOURCEBRANCH#refs/heads/}" + echo "Release branch: $releaseBranch" - script: yarn displayName: yarn - script: | @@ -64,7 +66,7 @@ extends: if [ "${BUILD_SOURCEBRANCH}" = "refs/heads/main" ]; then yarn beachball publish -b "$releaseBranch" -y -n $(ossNpmToken) --access public --no-push --keep-change-files else - yarn beachball publish -b "$releaseBranch" -t alpha -y -n $(ossNpmToken) --access public --no-push --keep-change-files + yarn beachball publish -b "$releaseBranch" -t alpha --prerelease-prefix alpha -y -n $(ossNpmToken) --access public --no-push --keep-change-files fi displayName: Release to the npm registry - script: | @@ -82,7 +84,7 @@ extends: if [ "${BUILD_SOURCEBRANCH}" = "refs/heads/main" ]; then yarn beachball publish -b "$releaseBranch" -y --registry $(adoNpmFeedBaseUrl) else - yarn beachball publish -b "$releaseBranch" -t alpha -y --registry $(adoNpmFeedBaseUrl) + yarn beachball publish -b "$releaseBranch" -t alpha --prerelease-prefix alpha -y --registry $(adoNpmFeedBaseUrl) fi displayName: Release to the ado npm feed - task: 1ES.PublishPipelineArtifact@1 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index bcad94a2a..a0a6d7677 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -56,4 +56,4 @@ yarn lint 1. Open the `graphitation-release` pipeline in Azure DevOps and run it from the branch you want to release from. 1. If the branch is `main`, packages are published with the default npm dist-tag (`latest`). -1. If the branch is not `main`, packages are published with the `alpha` npm dist-tag automatically. +1. If the branch is not `main`, packages are published with the `alpha` npm dist-tag automatically and the version is suffixed with `-alpha.x` (where x is the number of prerelease versions published for that package). From 4618745dbaf839de2eace7ec1ffa42a426ad72c3 Mon Sep 17 00:00:00 2001 From: Pavel Glac Date: Fri, 13 Mar 2026 10:17:58 +0000 Subject: [PATCH 12/14] test release --- packages/rempl-apollo-devtools/README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/rempl-apollo-devtools/README.md b/packages/rempl-apollo-devtools/README.md index 372749b31..83b07d7aa 100644 --- a/packages/rempl-apollo-devtools/README.md +++ b/packages/rempl-apollo-devtools/README.md @@ -97,3 +97,5 @@ trademarks or logos is subject to and must follow [Microsoft's Trademark & Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general). Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies. + + From 7d532053bd3a1a628c8ebf6490a12e9c60875148 Mon Sep 17 00:00:00 2001 From: Pavel Glac Date: Fri, 13 Mar 2026 10:18:05 +0000 Subject: [PATCH 13/14] Change files --- ...ollo-devtools-c90e5757-2a83-417c-83e7-8f1c81259c87.json | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 change/@graphitation-rempl-apollo-devtools-c90e5757-2a83-417c-83e7-8f1c81259c87.json diff --git a/change/@graphitation-rempl-apollo-devtools-c90e5757-2a83-417c-83e7-8f1c81259c87.json b/change/@graphitation-rempl-apollo-devtools-c90e5757-2a83-417c-83e7-8f1c81259c87.json new file mode 100644 index 000000000..86c27477b --- /dev/null +++ b/change/@graphitation-rempl-apollo-devtools-c90e5757-2a83-417c-83e7-8f1c81259c87.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "test release", + "packageName": "@graphitation/rempl-apollo-devtools", + "email": "pavelglac@gmail.com", + "dependentChangeType": "patch" +} From 871a63920a934f09436ea6b9886f37680ba33b2a Mon Sep 17 00:00:00 2001 From: Graphitation Service Account Date: Fri, 13 Mar 2026 10:34:02 +0000 Subject: [PATCH 14/14] applying package updates --- ...ools-c90e5757-2a83-417c-83e7-8f1c81259c87.json | 7 ------- packages/rempl-apollo-devtools/CHANGELOG.json | 15 +++++++++++++++ packages/rempl-apollo-devtools/CHANGELOG.md | 10 +++++++++- packages/rempl-apollo-devtools/package.json | 2 +- 4 files changed, 25 insertions(+), 9 deletions(-) delete mode 100644 change/@graphitation-rempl-apollo-devtools-c90e5757-2a83-417c-83e7-8f1c81259c87.json diff --git a/change/@graphitation-rempl-apollo-devtools-c90e5757-2a83-417c-83e7-8f1c81259c87.json b/change/@graphitation-rempl-apollo-devtools-c90e5757-2a83-417c-83e7-8f1c81259c87.json deleted file mode 100644 index 86c27477b..000000000 --- a/change/@graphitation-rempl-apollo-devtools-c90e5757-2a83-417c-83e7-8f1c81259c87.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "type": "patch", - "comment": "test release", - "packageName": "@graphitation/rempl-apollo-devtools", - "email": "pavelglac@gmail.com", - "dependentChangeType": "patch" -} diff --git a/packages/rempl-apollo-devtools/CHANGELOG.json b/packages/rempl-apollo-devtools/CHANGELOG.json index 7a973bac7..713e7cf99 100644 --- a/packages/rempl-apollo-devtools/CHANGELOG.json +++ b/packages/rempl-apollo-devtools/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@graphitation/rempl-apollo-devtools", "entries": [ + { + "date": "Fri, 13 Mar 2026 10:34:02 GMT", + "version": "2.1.7-alpha.0", + "tag": "@graphitation/rempl-apollo-devtools_v2.1.7-alpha.0", + "comments": { + "patch": [ + { + "author": "pavelglac@gmail.com", + "package": "@graphitation/rempl-apollo-devtools", + "commit": "7d532053bd3a1a628c8ebf6490a12e9c60875148", + "comment": "test release" + } + ] + } + }, { "date": "Thu, 12 Mar 2026 13:08:20 GMT", "version": "2.1.6", diff --git a/packages/rempl-apollo-devtools/CHANGELOG.md b/packages/rempl-apollo-devtools/CHANGELOG.md index c9b0855c0..dee0763c7 100644 --- a/packages/rempl-apollo-devtools/CHANGELOG.md +++ b/packages/rempl-apollo-devtools/CHANGELOG.md @@ -1,9 +1,17 @@ # Change Log - @graphitation/rempl-apollo-devtools - + +## 2.1.7-alpha.0 + +Fri, 13 Mar 2026 10:34:02 GMT + +### Patches + +- test release (pavelglac@gmail.com) + ## 2.1.6 Fri, 06 Mar 2026 20:27:06 GMT diff --git a/packages/rempl-apollo-devtools/package.json b/packages/rempl-apollo-devtools/package.json index 52250b556..b9e259a0a 100644 --- a/packages/rempl-apollo-devtools/package.json +++ b/packages/rempl-apollo-devtools/package.json @@ -1,7 +1,7 @@ { "name": "@graphitation/rempl-apollo-devtools", "license": "MIT", - "version": "2.1.6", + "version": "2.1.7-alpha.0", "main": "./dist/apollo-devtools.js", "repository": { "type": "git",