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

fix(deps): update apollo-rs crates (patch) #4525

Closed
wants to merge 1 commit into from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Jan 19, 2024

Mend Renovate

This PR contains the following updates:

Package Type Update Change
apollo-federation dependencies patch 0.0.5 -> 0.0.6
apollo-parser dependencies patch 0.7.4 -> 0.7.6
apollo-parser build-dependencies patch 0.7.4 -> 0.7.6

Release Notes

apollographql/federation-next (apollo-federation)

v0.0.6

Compare Source

What's Changed

  • Update apollo-compiler to v1.0.0-beta.13
  • Implement API schema generation: Supergraph::new(sdl).to_api_schema()
  • Continued work on the query planning core.

Full Changelog: apollographql/federation-next@v0.0.5...v0.0.6

apollographql/apollo-rs (apollo-parser)

v0.7.6

Compare Source

Fixes

  • optimize the most common lexer matches into lookup tables - allancalix, pull/814
    Parsing large schema documents can be up to 18% faster, typical documents a few percent.
  • fix infinite loops and crashes found through fuzzing - goto-bus-stop, pull/828
    When using a token limit, it was possible to craft a document that would cause an infinite
    loop, eventually leading to an out of memory crash. This is addressed along with several panics.

Maintenance

v0.7.5

Compare Source

0.7.5 - 2023-12-18
Fixes
  • fix parsing \\""" in block string - goto-bus-stop, pull/774
    Previously this was parsed as \ followed by the end of the string,
    now it's correctly parsed as \ followed by an escaped """.
  • emit syntax errors for variables in constant values - SimonSapin, pull/777
    default values and type system directive arguments are considered constants
    and may not use $foo variable values.
  • emit syntax errors for type condition without a type name rishabh3112, pull/781

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate. View repository job log here.

Copy link
Contributor

@renovate[bot], please consider creating a changeset entry in /.changesets/. These instructions describe the process and tooling.

@router-perf
Copy link

router-perf bot commented Jan 19, 2024

CI performance tests

  • events_big_cap_high_rate - Stress test for events with a lot of users, deduplication enabled and high rate event with a big queue capacity
  • events_without_dedup - Stress test for events with a lot of users and deduplication DISABLED
  • events - Stress test for events with a lot of users and deduplication ENABLED
  • large-request - Stress test with a 1 MB request payload
  • step - Basic stress test that steps up the number of users over time
  • xlarge-request - Stress test with 10 MB request payload
  • reload - Reload test over a long period of time at a constant rate of users
  • no-graphos - Basic stress test, no GraphOS.
  • events_callback - Stress test for events with a lot of users and deduplication ENABLED in callback mode
  • xxlarge-request - Stress test with 100 MB request payload
  • step-jemalloc-tuning - Clone of the basic stress test for jemalloc tuning
  • events_without_dedup_callback - Stress test for events with a lot of users and deduplication DISABLED using callback mode
  • const - Basic stress test that runs with a constant number of users
  • events_big_cap_high_rate_callback - Stress test for events with a lot of users, deduplication enabled and high rate event with a big queue capacity using callback mode

@goto-bus-stop
Copy link
Member

Will be done in #4510

@renovate renovate bot force-pushed the renovate/patch-rust-apollo-rs-updates branch from 3b1f3ef to 185de1b Compare February 13, 2024 13:14
@renovate renovate bot changed the title fix(deps): update rust crate apollo-parser to 0.7.5 fix(deps): update rust crate apollo-parser to 0.7.6 Feb 14, 2024
@renovate renovate bot force-pushed the renovate/patch-rust-apollo-rs-updates branch from 185de1b to f8c9edb Compare February 14, 2024 12:51
@renovate renovate bot force-pushed the renovate/patch-rust-apollo-rs-updates branch from f8c9edb to b86c7e2 Compare February 14, 2024 16:33
@renovate renovate bot changed the title fix(deps): update rust crate apollo-parser to 0.7.6 fix(deps): update apollo-rs crates (patch) Feb 14, 2024
Copy link
Contributor Author

renovate bot commented Feb 14, 2024

⚠ Artifact update problem

Renovate failed to update artifacts related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: Cargo.lock
Command failed: cargo update --config net.git-fetch-with-cli=true --manifest-path apollo-router/Cargo.toml --workspace
    Updating crates.io index
error: failed to select a version for `apollo-compiler`.
    ... required by package `apollo-federation v0.0.6`
    ... which satisfies dependency `apollo-federation = "^0.0.6"` of package `apollo-router v1.39.1 (/tmp/renovate/repos/github/apollographql/router/apollo-router)`
    ... which satisfies path dependency `apollo-router` (locked to 1.39.1) of package `add-timestamp-header v0.1.0 (/tmp/renovate/repos/github/apollographql/router/examples/add-timestamp-header/rhai)`
versions that meet the requirements `=1.0.0-beta.13` are: 1.0.0-beta.13

all possible versions conflict with previously selected packages.

  previously selected package `apollo-compiler v1.0.0-beta.10`
    ... which satisfies dependency `apollo-compiler = "=1.0.0-beta.10"` of package `supergraph_sdl v0.1.0 (/tmp/renovate/repos/github/apollographql/router/examples/supergraph-sdl/rust)`

failed to select a version for `apollo-compiler` which could resolve this conflict

File name: Cargo.lock
Command failed: cargo update --config net.git-fetch-with-cli=true --manifest-path fuzz/Cargo.toml --workspace
    Updating crates.io index
error: failed to select a version for `apollo-compiler`.
    ... required by package `apollo-federation v0.0.6`
    ... which satisfies dependency `apollo-federation = "^0.0.6"` of package `apollo-router v1.39.1 (/tmp/renovate/repos/github/apollographql/router/apollo-router)`
    ... which satisfies path dependency `apollo-router` (locked to 1.39.1) of package `add-timestamp-header v0.1.0 (/tmp/renovate/repos/github/apollographql/router/examples/add-timestamp-header/rhai)`
versions that meet the requirements `=1.0.0-beta.13` are: 1.0.0-beta.13

all possible versions conflict with previously selected packages.

  previously selected package `apollo-compiler v1.0.0-beta.10`
    ... which satisfies dependency `apollo-compiler = "=1.0.0-beta.10"` of package `supergraph_sdl v0.1.0 (/tmp/renovate/repos/github/apollographql/router/examples/supergraph-sdl/rust)`

failed to select a version for `apollo-compiler` which could resolve this conflict

File name: Cargo.lock
Command failed: cargo update --config net.git-fetch-with-cli=true --manifest-path apollo-router-benchmarks/Cargo.toml --workspace
    Updating crates.io index
error: failed to select a version for `apollo-compiler`.
    ... required by package `apollo-federation v0.0.6`
    ... which satisfies dependency `apollo-federation = "^0.0.6"` of package `apollo-router v1.39.1 (/tmp/renovate/repos/github/apollographql/router/apollo-router)`
    ... which satisfies path dependency `apollo-router` (locked to 1.39.1) of package `add-timestamp-header v0.1.0 (/tmp/renovate/repos/github/apollographql/router/examples/add-timestamp-header/rhai)`
versions that meet the requirements `=1.0.0-beta.13` are: 1.0.0-beta.13

all possible versions conflict with previously selected packages.

  previously selected package `apollo-compiler v1.0.0-beta.10`
    ... which satisfies dependency `apollo-compiler = "=1.0.0-beta.10"` of package `supergraph_sdl v0.1.0 (/tmp/renovate/repos/github/apollographql/router/examples/supergraph-sdl/rust)`

failed to select a version for `apollo-compiler` which could resolve this conflict

goto-bus-stop added a commit that referenced this pull request Feb 15, 2024
…mental API schema (#4510)

Closes #4525
Closes #4413

apollo-rs now stores objects and interfaces separately in
`implementers_map`, I added a `.implementors()` method in the visitors
that rely on the implementers map so they don't need further code
changes. Spelling matching the respective convention in apollo-rs vs
apollo-router :)

apollo-rs also includes several fixes to operation validation (namely
field merging and enum values as input to custom scalars).

`to_api_schema` is now fully implemented. Two changes on the router
side:
- It can error, so that bubbles up through `ServiceBuildError` now.
- The `experimental_api_schema: both` option now handles the case where
Rust API schema fails while JS API schema succeeds, previously it caused
the router to exit, now it emits a metric and uses the JS result.

**Todo:**
- [x] apollo-federation API schema needs an option to add `@defer`
- [x] Merge API schema in apollo-federation
- [x] Release apollo-federation
- [x] Tweak the API schema error cases so we report a metric when both
JS and RS produced an error.

<!-- start metadata -->
---

**Checklist**

Complete the checklist (and note appropriate exceptions) before the PR
is marked ready-for-review.

- [ ] Changes are compatible[^1]
- [ ] Documentation[^2] completed
- [ ] Performance impact assessed and acceptable
- Tests added and passing[^3]
    - [ ] Unit Tests
    - [x] Integration Tests
    - [ ] Manual Tests

**Exceptions**

*Note any exceptions here*

**Notes**

[^1]: It may be appropriate to bring upcoming changes to the attention
of other (impacted) groups. Please endeavour to do this before seeking
PR approval. The mechanism for doing this will vary considerably, so use
your judgement as to how and when to do this.
[^2]: Configuration is an important part of many changes. Where
applicable please try to document configuration examples.
[^3]: Tick whichever testing boxes are applicable. If you are adding
Manual Tests, please document the manual testing (extensively) in the
Exceptions.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant