Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
5f104de
Merge remote-tracking branch 'origin/main' into sync/main-into-develo…
apollo-bot2 Sep 4, 2025
7ff6acd
Merge remote-tracking branch 'origin/main' into sync/main-into-develo…
apollo-bot2 Sep 4, 2025
c44e77b
Merge pull request #333 from apollographql/sync/main-into-develop-pr-331
alocay Sep 4, 2025
8c4e705
Merge pull request #334 from apollographql/sync/main-into-develop-pr-332
alocay Sep 4, 2025
e257a8e
fix(ci): pin to specific stable rust version (#287)
nicholascioli Sep 5, 2025
f5cbd6a
feat: Implement Test Coverage Measurement and Reporting
DaleSeo Sep 8, 2025
c91a7a3
chore: add changeset
DaleSeo Sep 8, 2025
da14d04
feat: remove unnecessary codecov setting
DaleSeo Sep 8, 2025
f00da39
Merge pull request #335 from apollographql/GT-370
DaleSeo Sep 8, 2025
8a138af
feat: add codecov badge
DaleSeo Sep 8, 2025
8870ebc
feat: add codecov config file
DaleSeo Sep 9, 2025
e771d36
feat: add code coverage docs to CONTRIBUTING.md
DaleSeo Sep 9, 2025
8ab941d
Merge remote-tracking branch 'origin/main' into sync/main-into-develo…
apollo-bot2 Sep 9, 2025
8431bf6
test: add tests for uplink schema event
DaleSeo Sep 9, 2025
47433b1
ci: prevent draft PRs from verifying changeset
DaleSeo Sep 9, 2025
1c4dbdc
chore: add changeset
DaleSeo Sep 9, 2025
8283676
ci: trigger verify changeset workflow when PR becomes ready for review
DaleSeo Sep 9, 2025
fa306e3
Merge remote-tracking branch 'origin/main' into sync/main-into-develo…
apollo-bot2 Sep 9, 2025
18c1bf0
Merge pull request #337 from apollographql/GT-370-config
DaleSeo Sep 9, 2025
0f9fe87
ci: update github checkout actions
DaleSeo Sep 9, 2025
5e90732
feat: Configuration for disabling authorization token passthrough (#336)
swcollard Sep 9, 2025
3031ca2
Merge pull request #342 from apollographql/up-checkout-actions
DaleSeo Sep 9, 2025
41941ce
Merge pull request #340 from apollographql/sync/main-into-develop-pr-339
esilverm Sep 10, 2025
58328c7
Merge pull request #341 from apollographql/sync/main-into-develop-pr-317
esilverm Sep 10, 2025
bed8133
Redirect /docs/apollo-mcp-server/guides to fix 404 (#349)
apollo-bot2 Sep 11, 2025
6b95db9
chore: update RMCP version to latest (#328)
nicholascioli Sep 11, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .changesets/feat_auth_token_passthrough_disable.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
### feat: Configuration for disabling authorization token passthrough - @swcollard PR #336

A new optional new MCP Server configuration parameter, `transport.auth.disable_auth_token_passthrough`, which is `false` by default, that when true, will no longer pass through validated Auth tokens to the GraphQL API.
3 changes: 3 additions & 0 deletions .changesets/maint_codecov.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
### Configure Codecov with coverage targets - @DaleSeo PR #337

This PR adds `codecov.yml` to set up Codecov with specific coverage targets and quality standards. It helps define clear expectations for code quality. It also includes some documentation about code coverage in `CONTRIBUTING.md` and adds the Codecov badge to `README.md`.
3 changes: 3 additions & 0 deletions .changesets/maint_coverage.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
### Implement Test Coverage Measurement and Reporting - @DaleSeo PR #335

This PR adds the bare minimum for code coverage reporting using [cargo-llvm-cov](https://crates.io/crates/cargo-llvm-cov) and integrates with [Codecov](https://www.codecov.io/). It adds a new `coverage` job to the CI workflow that generates and uploads coverage reporting in parallel with existing tests. The setup mirrors that of Router, except it uses `nextest` instead of the built-in test runner and CircleCI instead of GitHub Actions.
3 changes: 3 additions & 0 deletions .changesets/maint_nc_rmcp_update.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
### chore: update RMCP dependency ([328](https://github.com/apollographql/apollo-mcp-server/issues/328))

Update the RMCP dependency to the latest version, pulling in newer specification changes.
3 changes: 3 additions & 0 deletions .changesets/maint_nc_rust_toolchain_pin.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
### ci: Pin stable rust version ([Issue #287](https://github.com/apollographql/apollo-mcp-server/issues/287))

Pins the stable version of Rust to the current latest version to ensure backwards compatibility with future versions.
27 changes: 27 additions & 0 deletions .github/renovate.json5
Original file line number Diff line number Diff line change
@@ -1,22 +1,49 @@
{
// Allow for intellisense in editors
$schema: "https://docs.renovatebot.com/renovate-schema.json",

// List of rules to apply
extends: [
// Recommended best practices from renovate itself
// See: https://docs.renovatebot.com/upgrade-best-practices/#whats-in-the-configbest-practices-preset
"config:best-practices",

// Apply our own internal best practices
// See: https://github.com/apollographql/apollo-mcp-server/commits/main/.github/renovate.json5
"github>apollographql/renovate-config-apollo-open-source:default.json5",

// Update to the latest rust stable version as it releases.
// See: https://github.com/Turbo87/renovate-config/blob/master/rust/updateToolchain.json
"github>Turbo87/renovate-config//rust/updateToolchain",
],

// Globally disable all automatic update PRs from renovate
packageRules: [
{
enabled: false,
matchPackageNames: ["*"],
},
],

// Automating Nix upgrades is currently in beta and opt-in only.
// https://docs.renovatebot.com/modules/manager/nix/
nix: {
enabled: true,
},

// Globally enable vulnerability alerts
//
// Note: This needs extra configuration at the repository level, which is described in the link
// below.
//
// See: https://docs.renovatebot.com/configuration-options/#vulnerabilityalerts
vulnerabilityAlerts: {
enabled: true,
},

// Disable automatically updating lock files to latest versions once a week.
//
// See: https://docs.renovatebot.com/configuration-options/#lockfilemaintenance
lockFileMaintenance: {
enabled: false,
},
Expand Down
27 changes: 23 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:
actions: write
contents: read
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
ref: ${{ github.event.pull_request.head.sha }}
- uses: nixbuild/nix-quick-install-action@v30
Expand All @@ -55,7 +55,7 @@ jobs:
actions: write
contents: read
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
ref: ${{ github.event.pull_request.head.sha }}
- uses: nixbuild/nix-quick-install-action@v30
Expand All @@ -81,7 +81,7 @@ jobs:
actions: write
contents: read
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
ref: ${{ github.event.pull_request.head.sha }}
- uses: nixbuild/nix-quick-install-action@v30
Expand All @@ -107,7 +107,7 @@ jobs:
actions: write
contents: read
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
ref: ${{ github.event.pull_request.head.sha }}
- uses: nixbuild/nix-quick-install-action@v30
Expand All @@ -124,3 +124,22 @@ jobs:
gc-max-store-size: 5G
- name: Run Tests
run: 'nix develop --command bash -c "cargo test"'

coverage:
name: Run Coverage
runs-on: ubuntu-24.04
permissions:
contents: read
steps:
- uses: actions/checkout@v5
with:
ref: ${{ github.event.pull_request.head.sha }}
- uses: taiki-e/install-action@cargo-llvm-cov
- name: Generate code coverage
run: cargo llvm-cov --all-features --workspace --codecov --output-path codecov.json
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }} # not required for public repos
files: codecov.json
fail_ci_if_error: true
2 changes: 1 addition & 1 deletion .github/workflows/prep-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ jobs:
GH_TOKEN: ${{ secrets.GH_PAT }}

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
fetch-depth: 0

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release-bins.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ jobs:
attestations: write
id-token: write
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
ref: ${{ github.ref }}
- uses: nixbuild/nix-quick-install-action@v30
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release-container.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ jobs:
attestations: write
id-token: write
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
ref: ${{ github.ref }}

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/sync-develop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ jobs:
GH_TOKEN: ${{ secrets.GH_PAT }}

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
fetch-depth: 0
token: ${{ secrets.GH_PAT }}
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/verify-changeset.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
name: Verify Changeset
on:
pull_request:
types: [opened, reopened, synchronize, ready_for_review]
branches-ignore:
- main
- release/**
Expand All @@ -19,7 +20,7 @@ on:

jobs:
verify-changeset:
if: ${{ !contains(github.event.pull_request.labels.*.name, 'skip-changeset') && !startsWith(github.head_ref, 'sync/') && !startsWith(github.head_ref, 'conflict/') }}
if: ${{ !contains(github.event.pull_request.labels.*.name, 'skip-changeset') && !startsWith(github.head_ref, 'sync/') && !startsWith(github.head_ref, 'conflict/') && !github.event.pull_request.draft }}
name: Verify
runs-on: ubuntu-24.04
permissions:
Expand Down
19 changes: 18 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,4 +57,21 @@ It’s important that every piece of code in Apollo packages is reviewed by at l
2. Simplicity. Is this the simplest way to achieve the intended goal? If there are too many files, redundant functions, or complex lines of code, suggest a simpler way to do the same thing. In particular, avoid implementing an overly general solution when a simple, small, and pragmatic fix will do.
3. Testing. Please make sure that the tests ensure that the code won’t break when other stuff change around it. The error messages in the test should help identify what is broken exactly and how. The tests should test every edge case if possible. Please make sure you get as much coverage as possible.
4. No unnecessary or unrelated changes. PRs shouldn’t come with random formatting changes, especially in unrelated parts of the code. If there is some refactoring that needs to be done, it should be in a separate PR from a bug fix or feature, if possible.
5. Please run `cargo test`, `cargo clippy`, and `cargo fmt` prior to creating a PR.
5. Please run `cargo test`, `cargo clippy`, and `cargo fmt` prior to creating a PR.

### Code Coverage

Apollo MCP Server uses comprehensive code coverage reporting to ensure code quality and test effectiveness.
The project uses [cargo-llvm-cov](https://crates.io/crates/cargo-llvm-cov) for generating code coverage reports and [Codecov](https://www.codecov.io/) for coverage analysis and reporting. Coverage is automatically generated and reported on every pull request through GitHub Actions.

#### Coverage Targets

The project maintains the following coverage targets, configured in `codecov.yml`:

- **Project Coverage**: Automatically maintained - should increase overall coverage on each PR
- **Patch Coverage**: 80% - requires 80% coverage on all new/modified code

These targets help ensure that:

- The overall codebase coverage doesn't decrease over time
- New code is well-tested before being merged
Loading