Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: warn when version isn't pinned #1524

Merged
merged 10 commits into from
Feb 23, 2023
Merged

Conversation

EverlastingBugstopper
Copy link
Contributor

@EverlastingBugstopper EverlastingBugstopper commented Feb 21, 2023

This PR does two things:

  1. prints a new warning when running rover supergraph compose without specifying an exact version
  2. updates the rover supergraph compose docs to point to the router federation version support table, and recommends specifying an exact version instead of the default flow. it also removes the suggestion to submit a bug if there is a breaking change to federation and communicates the importance of updating the router before updating composition.

To be clear: I do not think that this is a solution to unexpected breaking changes being delivered between point releases. This is however a solution to the current situation where those breaking changes are delivered automatically on the behalf of composers, quite likely breaking their routers, which we do not automatically update for them.

The breaking changes between point releases is a larger discussion that we are having internally, but it will take quite some time to resolve. This is an interim solution to the immediate problems described in #1510 and is intended to give composers much more control over how updates are delivered and rolled out.

@EverlastingBugstopper EverlastingBugstopper added the feature 🎉 new commands, flags, functionality, and improved error messages label Feb 21, 2023
@EverlastingBugstopper EverlastingBugstopper added this to the vNext milestone Feb 21, 2023
docs/source/commands/supergraphs.mdx Outdated Show resolved Hide resolved
docs/source/commands/supergraphs.mdx Outdated Show resolved Hide resolved
docs/source/commands/supergraphs.mdx Outdated Show resolved Hide resolved
docs/source/commands/supergraphs.mdx Outdated Show resolved Hide resolved
docs/source/commands/supergraphs.mdx Outdated Show resolved Hide resolved
docs/source/commands/supergraphs.mdx Outdated Show resolved Hide resolved
@EverlastingBugstopper
Copy link
Contributor Author

Perfect. Thanks for the review @StephenBarlow

@zionts
Copy link

zionts commented Feb 21, 2023

@EverlastingBugstopper , is it possible to be any stricter since this is a new version of rover? For instance, I was thinking maybe we can have them add something to supergraph.yaml to specify

alwaysRunLatestComposition: true and then link them to docs that have a YAML comment about how it's dangerous

@EverlastingBugstopper
Copy link
Contributor Author

@zionts that'd technically be a breaking change so I'm hesitant to do that. If we wanted to be stricter, we could just hard error, but I think a warning here gives folks a chance to migrate without breaking the world.

@EverlastingBugstopper EverlastingBugstopper merged commit c4488f8 into main Feb 23, 2023
@EverlastingBugstopper EverlastingBugstopper deleted the avery/docs-pin-version branch February 23, 2023 18:29
@EverlastingBugstopper EverlastingBugstopper self-assigned this Feb 23, 2023
EverlastingBugstopper added a commit that referenced this pull request Feb 23, 2023
# [0.12.2] - 2023-02-23

## 🚀 Features

- **Warn when `federation_version` is not pinned -
@EverlastingBugstopper, #1524**

As of this release, we no longer recommend auto-updates for the `rover
supergraph compose` command because of the coordination path that is
required to roll out new versions of Federation. If you do not specify
an exact `federation_version`, a warning will be printed. In a future
version of Rover we will entirely deprecate auto-updating, so please
migrate now. This change includes some changes to our documentation as
well, check out [the
docs](https://www.apollographql.com/docs/rover/commands/supergraphs/#setting-a-composition-version)
for more information.

## 🐛 Fixes

- **Fixes composition error reporting in `rover subgraph check` -
@EverlastingBugstopper, #1525**

In Rover v0.12.0 and v0.12.1, running a `rover subgraph check` with an
invalid schema failed to report the composition errors, this behavior is
fixed in v0.12.2.

## 🛠 Maintenance

- **Updates internal node dependencies - @EverlastingBugstoppe**

  `node` v18.14.0 -> v18.14.1
  `npm` v9.4.2 -> v9.5.0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature 🎉 new commands, flags, functionality, and improved error messages
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants