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

Allow disable version checking #1394

Closed
jwangnz opened this issue Nov 2, 2022 · 2 comments · Fixed by #1396 or #1406
Closed

Allow disable version checking #1394

jwangnz opened this issue Nov 2, 2022 · 2 comments · Fixed by #1396 or #1406
Assignees
Labels
feature 🎉 new commands, flags, functionality, and improved error messages good first issue
Milestone

Comments

@jwangnz
Copy link
Contributor

jwangnz commented Nov 2, 2022

Description

Allow disable the rover version checking.

Add details like:

  • What does it do?

When the version checking is disabled, rover will not try to check new versions.

  • What are the inputs/outputs?

The input could be an env similar to the env APOLLO_TELEMETRY_DISABLED which will disable the telemetry.

  • Prior art (are there any other tools/products that do this now?)

Our current workaround is to manually update the version.toml to let the rover skip the update checking.

printf "secs_since_epoch = `date "+%s"`\nnanos_since_epoch = 0\n" > /root/.config/rover/version.toml
  • What is your use case for this?

We run rover for composing supergraph in environments where github and rover.dev is not accessible.

Everytime when we run the rover supergraph compose, the command line will hang for about 30 seconds which is the timeout setting for the request to github.com.

We could disable the rover.dev access by set env APOLLO_TELEMETRY_DISABLED=1, by there seems no way to disable the version checking.

@jwangnz jwangnz added feature 🎉 new commands, flags, functionality, and improved error messages triage issues and PRs that need to be triaged labels Nov 2, 2022
@EverlastingBugstopper
Copy link
Contributor

Hey @Tsing - thanks for the report!

A few things here:

  1. I believe that 30 second delay may be due to the time it takes to resolve the SDL from all the sources in supergraph.yaml - do you still see that delay if you modify the version.toml manually?
  2. This seems like a straightforward implementation, we should add a top level, global --skip-update flag in cli.rs and if it is set, skip the update check no matter what

@EverlastingBugstopper EverlastingBugstopper added good first issue and removed triage issues and PRs that need to be triaged labels Nov 2, 2022
@jwangnz
Copy link
Contributor Author

jwangnz commented Nov 3, 2022

@EverlastingBugstopper regarding the timeout, there is no 30 seconds delay if we modify the version.toml manually.

Below is a screen shot when I run with --log trace, the line of wait timeout exceeded was shown in about 30 seconds after the line on top of it was shown.

Screenshot 2022-11-03 at 1 04 45 PM

jwangnz pushed a commit to jwangnz/rover that referenced this issue Nov 3, 2022
@EverlastingBugstopper EverlastingBugstopper added this to the vNext milestone Nov 3, 2022
jwangnz pushed a commit to jwangnz/rover that referenced this issue Nov 3, 2022
jwangnz pushed a commit to jwangnz/rover that referenced this issue Nov 3, 2022
jwangnz pushed a commit to jwangnz/rover that referenced this issue Nov 3, 2022
jwangnz pushed a commit to jwangnz/rover that referenced this issue Nov 3, 2022
EverlastingBugstopper added a commit that referenced this issue Nov 14, 2022
# [0.10.0] - 2022-11-10

> Important: 1 potentially breaking change below, indicated by **❗
BREAKING ❗**

## ❗ BREAKING ❗

- **Fix implementation of `--header` argument - @EverlastingBugstopper,
#1369 fixes #1365**

This change tightens up usage of the `--header` argument used for
`introspect` commands by disallowing previously valid (but undocumented)
usage like this: `--header "Header-1: value" "Header-2: value"`. After
this change, you _must_ conform to what we have in the documentation,
which indicates separate instances of the `--header` argument for each
header, like so: `--header "Header-1: value" --header "Header-2:
value"`.

## 🚀 Features

- **Provide prebuilt binaries for ARM devices - @EverlastingBugstopper,
#1356 fixes #582**

As of this release, [`rover.apollo.dev`](https://rover.apollo.dev)
delivers prebuilt binaries from our GitHub release for ARM devices. Most
notably this means that Docker on M1 devices should work out of the box.
You should be able to replace any custom builds in your tooling pipeline
with a call to the [official curl
installer](https://www.apollographql.com/docs/rover/getting-started/#linux--macos-installer).

- **Report downstream check task results - @sachindshinde, #1385**

When running `rover subgraph check` commands, if the proposed schema
would cause downstream failures (i.e. with contracts), those failures
are now reported in the check response.

- **Faster `rover supergraph compose` - @EverlastingBugstopper, #1392
fixes #992**

Rover now resolves all subgraph schemas in parallel when running `rover
supergraph compose` on a `supergraph.yaml` file. This should improve the
speed to compose large supergraphs significantly. This change also
drastically improves error handling by reporting _all_ issues with
resolving subgraph schemas (and informing you which schema(s) failed to
resolve) rather than exiting on the first failed schema resolution.

- **Add `--polling-interval` to `rover dev` - @patrick91, #1377 fixes
#1221**

You can now set `--polling-interval` when running `rover dev` to change
the frequency of introspection poll requests for subgraphs that don't
provide the schema from the file system with the `--schema` argument.

- **Adds `--skip-update-check` to skip the once-per-day update check -
@Tsing, #1396 fixes #1394**

Once per day, Rover checks if there is a new version available for
update and notifies the user if there is. There is now a flag you can
pass to disable this check: `--skip-update-check`.

- **Respect the `NO_COLOR` environment variable - @chnn, #1360**

`rover` will not use color in any output when executed with the
`NO_COLOR` environment variable set to `true`.

## 🛠 Maintenance

- **Updates from clap v3 to clap v4 - @EverlatingBugstopper, #1404 fixes
#1400**

This release updated the command line argument parsing library to major
version 4. There should be no noticeable compatibility issues with this
update, only lighter binaries. The look and feel of the main `rover
--help` output has changed to a neutral color palette along with this
change.

- **Updates Rust to 1.65.0 - @EverlastingBugstopper, #1399**

- **Updates node.js to v18 - @renovate, #1389**

- **Updates node dev-dependencies - @renovate, #1204 and zs#1398**

- **Remove dependency on the `saucer` crate - @EverlastingBugstopper,
#1402**

- **Updates `introspector-gadget` to 0.2.0 - @EverlastingBugstopper,
#1386**

- **Only cache dependencies in CI, not whole `/target` -
@EverlastingBugstopper, #1387**

- **Use `engine@main` instead of `engine@current` to fetch the API
schema - @EverlastingBugstopper, #1368**

- **Use `lychee` as a link checker instead of npm - @ptondereau, #1328
fixes #1306**

We now use a Rust-based link checker to check the links in the Rover
repository instead of a node-based link checker (that was much more
flaky).

- **Describe latest federation versions in
`./latest_plugin_versions.json` - @EverlastingBugstopper, #1363**

When you run `rover supergraph compose`, the latest version of
composition is automatically downloaded to your machine, these latest
version numbers are now stored in `./latest_plugin_versions.json` in the
Rover repo.

- **Rename `apollo-` headers to `apollographql-` headers - @jsegaran,
#1411**

- **Update npm to v9 - @renovate, #1412**

## 📚 Documentation

- **Update studio algolia key to graphos - @trevorblades, #1384**

- **Fix some broken links - @StephenBarlow, #1376**

- **Fix a typo in the migration guide instructing the use of `check`
instead of `publish` - @EverlastingBugstopper, #1364 fixes #1361**
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 good first issue
Projects
None yet
2 participants