From 63a3a26a9ffced936455f79b8ee27e204d1833ec Mon Sep 17 00:00:00 2001 From: Jerel Miller Date: Tue, 9 Jul 2024 14:02:51 -0600 Subject: [PATCH 1/6] Revert "fix: skip PR creation if no prerelease changesets exist (#11729)" (#11939) This reverts commit e19c3d07f0cff4d6f2e2c7020a08814bd47d6be1. --- .github/workflows/prerelease.yml | 25 +++++-------------------- 1 file changed, 5 insertions(+), 20 deletions(-) diff --git a/.github/workflows/prerelease.yml b/.github/workflows/prerelease.yml index 586a3477e61..a0b28b74a3c 100644 --- a/.github/workflows/prerelease.yml +++ b/.github/workflows/prerelease.yml @@ -73,25 +73,10 @@ jobs: git commit -m 'Enter prerelease mode' git push - - name: Get prerelease changesets - id: prerelease-changesets - uses: notiz-dev/github-action-json-property@release - with: - path: ".changeset/pre.json" - prop_path: "changesets" - - - name: Get changesets array length - id: number-of-changesets - run: | - arrayLength=$(echo '${{steps.prerelease-changesets.outputs.prop}}' | jq '. | length') - echo "length=$arrayLength" >> "$GITHUB_OUTPUT" - - name: Create prerelease PR - # Only attempt to create a PR if: - # 1. .changeset/pre.json exists - # 2. we are not actively publishing after merging a Version Packages PR - # 3. AND we have prerelease changesets to publish (otherwise it errors) - if: steps.check_files.outputs.files_exists == 'true' && !startsWith(github.event.head_commit.message, 'Version Packages') && steps.number-of-changesets.outputs.length > 0 + # If .changeset/pre.json exists and we are not currently cutting a + # release after merging a Version Packages PR + if: steps.check_files.outputs.files_exists == 'true' && !startsWith(github.event.head_commit.message, 'Version Packages') uses: changesets/action@v1 with: version: npm run changeset-version @@ -100,8 +85,8 @@ jobs: - name: Publish to npm + GitHub id: changesets - # Only publish if we're still in pre mode and the last commit was - # from an automatically created Version Packages PR + # Only run publish if we're still in pre mode and the last commit was + # via an automatically created Version Packages PR if: steps.check_files.outputs.files_exists == 'true' && startsWith(github.event.head_commit.message, 'Version Packages') uses: changesets/action@v1 with: From 165c4e4ffee2f2f36897100af2889b1e600c527b Mon Sep 17 00:00:00 2001 From: Jerel Miller Date: Tue, 9 Jul 2024 15:03:13 -0600 Subject: [PATCH 2/6] =?UTF-8?q?Revert=20"Revert=20"fix:=20skip=20PR=20crea?= =?UTF-8?q?tion=20if=20no=20prerelease=20changesets=20exist=20(#117?= =?UTF-8?q?=E2=80=A6"=20(#11941)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 63a3a26a9ffced936455f79b8ee27e204d1833ec. --- .github/workflows/prerelease.yml | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/.github/workflows/prerelease.yml b/.github/workflows/prerelease.yml index a0b28b74a3c..586a3477e61 100644 --- a/.github/workflows/prerelease.yml +++ b/.github/workflows/prerelease.yml @@ -73,10 +73,25 @@ jobs: git commit -m 'Enter prerelease mode' git push + - name: Get prerelease changesets + id: prerelease-changesets + uses: notiz-dev/github-action-json-property@release + with: + path: ".changeset/pre.json" + prop_path: "changesets" + + - name: Get changesets array length + id: number-of-changesets + run: | + arrayLength=$(echo '${{steps.prerelease-changesets.outputs.prop}}' | jq '. | length') + echo "length=$arrayLength" >> "$GITHUB_OUTPUT" + - name: Create prerelease PR - # If .changeset/pre.json exists and we are not currently cutting a - # release after merging a Version Packages PR - if: steps.check_files.outputs.files_exists == 'true' && !startsWith(github.event.head_commit.message, 'Version Packages') + # Only attempt to create a PR if: + # 1. .changeset/pre.json exists + # 2. we are not actively publishing after merging a Version Packages PR + # 3. AND we have prerelease changesets to publish (otherwise it errors) + if: steps.check_files.outputs.files_exists == 'true' && !startsWith(github.event.head_commit.message, 'Version Packages') && steps.number-of-changesets.outputs.length > 0 uses: changesets/action@v1 with: version: npm run changeset-version @@ -85,8 +100,8 @@ jobs: - name: Publish to npm + GitHub id: changesets - # Only run publish if we're still in pre mode and the last commit was - # via an automatically created Version Packages PR + # Only publish if we're still in pre mode and the last commit was + # from an automatically created Version Packages PR if: steps.check_files.outputs.files_exists == 'true' && startsWith(github.event.head_commit.message, 'Version Packages') uses: changesets/action@v1 with: From b8850aba72ab5fc3336c29da0c1ec2d1d413e23b Mon Sep 17 00:00:00 2001 From: Jerel Miller Date: Tue, 9 Jul 2024 15:21:08 -0600 Subject: [PATCH 3/6] =?UTF-8?q?Revert=20"Revert=20"Revert=20"fix:=20skip?= =?UTF-8?q?=20PR=20creation=20if=20no=20prerelease=20changesets=20exi?= =?UTF-8?q?=E2=80=A6"=20(#11942)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 165c4e4ffee2f2f36897100af2889b1e600c527b. --- .github/workflows/prerelease.yml | 25 +++++-------------------- 1 file changed, 5 insertions(+), 20 deletions(-) diff --git a/.github/workflows/prerelease.yml b/.github/workflows/prerelease.yml index 586a3477e61..a0b28b74a3c 100644 --- a/.github/workflows/prerelease.yml +++ b/.github/workflows/prerelease.yml @@ -73,25 +73,10 @@ jobs: git commit -m 'Enter prerelease mode' git push - - name: Get prerelease changesets - id: prerelease-changesets - uses: notiz-dev/github-action-json-property@release - with: - path: ".changeset/pre.json" - prop_path: "changesets" - - - name: Get changesets array length - id: number-of-changesets - run: | - arrayLength=$(echo '${{steps.prerelease-changesets.outputs.prop}}' | jq '. | length') - echo "length=$arrayLength" >> "$GITHUB_OUTPUT" - - name: Create prerelease PR - # Only attempt to create a PR if: - # 1. .changeset/pre.json exists - # 2. we are not actively publishing after merging a Version Packages PR - # 3. AND we have prerelease changesets to publish (otherwise it errors) - if: steps.check_files.outputs.files_exists == 'true' && !startsWith(github.event.head_commit.message, 'Version Packages') && steps.number-of-changesets.outputs.length > 0 + # If .changeset/pre.json exists and we are not currently cutting a + # release after merging a Version Packages PR + if: steps.check_files.outputs.files_exists == 'true' && !startsWith(github.event.head_commit.message, 'Version Packages') uses: changesets/action@v1 with: version: npm run changeset-version @@ -100,8 +85,8 @@ jobs: - name: Publish to npm + GitHub id: changesets - # Only publish if we're still in pre mode and the last commit was - # from an automatically created Version Packages PR + # Only run publish if we're still in pre mode and the last commit was + # via an automatically created Version Packages PR if: steps.check_files.outputs.files_exists == 'true' && startsWith(github.event.head_commit.message, 'Version Packages') uses: changesets/action@v1 with: From 8c39053b33249b291e2a283054557424b3fadabe Mon Sep 17 00:00:00 2001 From: Maria Elisabeth Schreiber Date: Tue, 9 Jul 2024 16:37:54 -0600 Subject: [PATCH 4/6] Revert "Revert "Update router terminology (#11885)" (#11892)" This reverts commit e41580b590ffdc5ac11f31966852ad6fcfebad07. --- docs/source/api/link/persisted-queries.mdx | 10 +++++----- docs/source/data/defer.mdx | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/source/api/link/persisted-queries.mdx b/docs/source/api/link/persisted-queries.mdx index e2b4a35da86..4d71bfbf25d 100644 --- a/docs/source/api/link/persisted-queries.mdx +++ b/docs/source/api/link/persisted-queries.mdx @@ -31,21 +31,21 @@ Using persisted queries for safelisting has the following requirements: - Apollo Client Web (v3.7.0+) - The [`@apollo/generate-persisted-query-manifest` package](https://www.npmjs.com/package/@apollo/generate-persisted-query-manifest) - The [`@apollo/persisted-query-lists` package](https://www.npmjs.com/package/@apollo/persisted-query-lists) -- [Apollo Router](/router) (v1.25.0+) +- [GraphOS Router](/router) (v1.25.0+) - [GraphOS Enterprise plan](/graphos/enterprise/) -You can use APQ with the following versions of Apollo Client Web, Apollo Server, and Apollo Router: +You can use APQ with the following versions of Apollo Client Web, Apollo Server, and Apollo Router Core: - Apollo Client Web (v3.2.0+) - [Apollo Server](/apollo-server/) (v1.0.0+) -- [Apollo Router](/router) (v0.1.0+) +- [Apollo Router Core](/router) (v0.1.0+) -> **Note:** You can use _either_ Apollo Server _or_ Apollo Router for APQs. They don't need to be used together. +> **Note:** You can use _either_ Apollo Server _or_ Apollo Router Core for APQs. They don't need to be used together. ## 1. Generate operation manifests > **This step is only required for persisted queries, not APQ.** -An operation manifest acts as a safelist the [Apollo Router](/router/) can check incoming requests against. +An operation manifest acts as a safelist the [GraphOS Router](/router/) can check incoming requests against. You can generate the manifest using the [`@apollo/generate-persisted-query-manifest`](https://www.npmjs.com/package/@apollo/generate-persisted-query-manifest) package: 1. Install the [`@apollo/generate-persisted-query-manifest`](https://www.npmjs.com/package/@apollo/generate-persisted-query-manifest) package as a dev dependency: diff --git a/docs/source/data/defer.mdx b/docs/source/data/defer.mdx index 908ada61c6b..6b43736590b 100644 --- a/docs/source/data/defer.mdx +++ b/docs/source/data/defer.mdx @@ -7,7 +7,7 @@ description: Receive query response data incrementally Beginning with version `3.7.0`, Apollo Client provides preview support for [the `@defer` directive](https://github.com/graphql/graphql-wg/blob/main/rfcs/DeferStream.md). This directive enables your queries to receive data for specific fields _incrementally_, instead of receiving all field data at the same time. This is helpful whenever some fields in a query take much longer to resolve than others. -> For a query to defer fields successfully, the queried endpoint must _also_ support the `@defer` directive. Entity-based `@defer` support is also at the General Availability stage in [Apollo Router](/router/executing-operations/defer-support/) and is compatible with all [federation-compatible subgraph libraries](/federation/building-supergraphs/supported-subgraphs/). +> For a query to defer fields successfully, the queried endpoint must _also_ support the `@defer` directive. Entity-based `@defer` support is also at the General Availability stage in [GraphOS Router](/router/executing-operations/defer-support/) and is compatible with all [federation-compatible subgraph libraries](/federation/building-supergraphs/supported-subgraphs/). ## Example From a84b28681e2485142f1d00b83b06c8cf34c45a2e Mon Sep 17 00:00:00 2001 From: Maria Elisabeth Schreiber Date: Wed, 10 Jul 2024 09:25:59 -0600 Subject: [PATCH 5/6] Update "Who is Apollo" --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 8340c856e8d..fd08fa43d79 100644 --- a/README.md +++ b/README.md @@ -39,11 +39,11 @@ Learn how to use Apollo Client with self-paced hands-on training on Odyssey, Apo ## Who is Apollo? -[Apollo](https://apollographql.com/) builds open-source software and a graph platform to unify GraphQL across your apps and services. We help you ship faster with: +[Apollo](https://apollographql.com/) builds open-source tools and commercial services to make application development easier, better, and accessible to more people. We help you ship faster with: -- [Apollo Studio](https://www.apollographql.com/studio/develop/) – A free, end-to-end platform for managing your GraphQL lifecycle. Track your GraphQL schemas in a hosted registry to create a source of truth for everything in your graph. Studio provides an IDE (Apollo Explorer) so you can explore data, collaborate on queries, observe usage, and safely make schema changes. -- [Apollo Federation](https://www.apollographql.com/apollo-federation) – The industry-standard open architecture for building a distributed graph. Use Apollo’s gateway to compose a unified graph from multiple subgraphs, determine a query plan, and route requests across your services. -- [Apollo Client](https://www.apollographql.com/apollo-client/) – The most popular GraphQL client for the web. Apollo also builds and maintains [Apollo iOS](https://github.com/apollographql/apollo-ios) and [Apollo Kotlin](https://github.com/apollographql/apollo-kotlin). +- [GraphOS](https://www.apollographql.com/graphos) - The platform for building, managing, and scaling a supergraph: a unified network of your organization's microservices and their data sources—all composed into a single distributed API. +- [Apollo Federation](https://www.apollographql.com/federation) – The industry-standard open architecture for building a distributed graph. Use Apollo’s gateway to compose a unified graph from multiple subgraphs, determine a query plan, and route requests across your services. +- [Apollo Client](https://github.com/apollographql/apollo-client) – The most popular GraphQL client for the web. Apollo also builds and maintains [Apollo iOS](https://github.com/apollographql/apollo-ios) and [Apollo Kotlin](https://github.com/apollographql/apollo-kotlin). - [Apollo Server](https://www.apollographql.com/docs/apollo-server/) – A production-ready JavaScript GraphQL server that connects to any microservice, API, or database. Compatible with all popular JavaScript frameworks and deployable in serverless environments. ## Learn how to build with Apollo From d4d1e3469b4059c6a14aab8d3a8a9ee58de610ad Mon Sep 17 00:00:00 2001 From: Maria Elisabeth Schreiber Date: Wed, 10 Jul 2024 14:21:16 -0600 Subject: [PATCH 6/6] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index fd08fa43d79..cda916f60c9 100644 --- a/README.md +++ b/README.md @@ -44,7 +44,7 @@ Learn how to use Apollo Client with self-paced hands-on training on Odyssey, Apo - [GraphOS](https://www.apollographql.com/graphos) - The platform for building, managing, and scaling a supergraph: a unified network of your organization's microservices and their data sources—all composed into a single distributed API. - [Apollo Federation](https://www.apollographql.com/federation) – The industry-standard open architecture for building a distributed graph. Use Apollo’s gateway to compose a unified graph from multiple subgraphs, determine a query plan, and route requests across your services. - [Apollo Client](https://github.com/apollographql/apollo-client) – The most popular GraphQL client for the web. Apollo also builds and maintains [Apollo iOS](https://github.com/apollographql/apollo-ios) and [Apollo Kotlin](https://github.com/apollographql/apollo-kotlin). -- [Apollo Server](https://www.apollographql.com/docs/apollo-server/) – A production-ready JavaScript GraphQL server that connects to any microservice, API, or database. Compatible with all popular JavaScript frameworks and deployable in serverless environments. +- [Apollo Server](https://github.com/apollographql/apollo-server) – A production-ready JavaScript GraphQL server that connects to any microservice, API, or database. Compatible with all popular JavaScript frameworks and deployable in serverless environments. ## Learn how to build with Apollo