Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
58 commits
Select commit Hold shift + click to select a range
af6a374
Add configurable HTTP client, token management, and custom test CI
leonid-zats Oct 9, 2025
adc6648
Add multi-architecture build workflow
leonid-zats Oct 9, 2025
20c91f1
Fix build workflow to only run on main branch
leonid-zats Oct 9, 2025
a85a32a
Fix failing test: update error message assertion
leonid-zats Oct 9, 2025
043c0d1
Remove problematic cross-compilation architectures
leonid-zats Oct 9, 2025
613b657
Fix clippy warnings and improve error handling
leonid-zats Oct 9, 2025
b1a32ce
Fix code formatting
leonid-zats Oct 9, 2025
a721ab7
Disconnect from upstream Apollo repository
leonid-zats Oct 9, 2025
ce94c75
Add comprehensive tests for token refresh functionality
leonid-zats Oct 9, 2025
4e393dc
Limit build targets to macOS and Ubuntu only
leonid-zats Oct 9, 2025
b61c2c6
Simplify workflows: keep only CI and simple Ubuntu release
leonid-zats Oct 9, 2025
427d701
Add Nix cache clearing to force rebuild with new configuration
leonid-zats Oct 9, 2025
35d04d8
Fix code formatting issues
leonid-zats Oct 9, 2025
7c5edde
Fix cross-compilation issue by removing --all-targets from cargoArtif…
leonid-zats Oct 9, 2025
a426642
Update apollo-mcp.nix
leonid-zats Oct 9, 2025
5597224
Fix duplicate --locked flag in cargo check command
leonid-zats Oct 9, 2025
0da4f8a
Remove coverage job from CI workflow
leonid-zats Oct 9, 2025
d3e8cf0
Remove --all-targets from clippy check to prevent cross-compilation
leonid-zats Oct 9, 2025
90d5ec8
Aggressively override cargoExtraArgs to prevent --all-targets
leonid-zats Oct 9, 2025
de23659
Use default system toolchain to fix stack smashing errors
leonid-zats Oct 9, 2025
c506d0f
Completely override cargo commands to eliminate --all-targets
leonid-zats Oct 9, 2025
2a3d420
Use cargoBuild instead of buildDepsOnly to avoid --all-targets
leonid-zats Oct 9, 2025
ae0cc82
Revert to buildDepsOnly and add environment variables to force native…
leonid-zats Oct 9, 2025
a2d1e27
Install cross-compilation toolchain in GitHub Actions
leonid-zats Oct 9, 2025
51eff72
Override buildDepsOnly to eliminate --all-targets
leonid-zats Oct 9, 2025
62cccc9
Use cargoCheck instead of buildDepsOnly to avoid --all-targets
leonid-zats Oct 9, 2025
da307f0
Remove cargoArtifacts to avoid --all-targets issues
leonid-zats Oct 9, 2025
31bf5b6
Fix cargoArtifacts requirement for cargoClippy
leonid-zats Oct 9, 2025
5bc7150
Use buildDepsOnly with target override to avoid cross-compilation
leonid-zats Oct 9, 2025
098d1e1
Fix duplicate --release argument in cargoCheckExtraArgs
leonid-zats Oct 9, 2025
fa4dd0e
Override cross-compilation linker configuration
leonid-zats Oct 9, 2025
6b5f13a
Replace Nix CI with simple Cargo-based workflow
leonid-zats Oct 12, 2025
5fffec3
Fix clippy error: move test impl inside mod tests
leonid-zats Oct 12, 2025
715bab9
Add macOS support to CI and release workflows
leonid-zats Oct 12, 2025
6a627e2
Remove macOS from CI workflow to reduce costs
leonid-zats Oct 12, 2025
4e731ca
Merge pull request #2 from docontrol-io/test-branch-2
leonid-zats Oct 12, 2025
ebcdbdb
Hardcode default Apollo graph ref in code
leonid-zats Oct 12, 2025
3e9fae3
Switch from native-tls to rustls for better certificate handling
leonid-zats Oct 12, 2025
e281f72
Merge branch 'test-branch-2'
leonid-zats Oct 12, 2025
164b501
Fix formatting in graphos.rs
leonid-zats Oct 12, 2025
eea1599
refresh token
leonid-zats Oct 12, 2025
47a2db6
fixes
leonid-zats Oct 12, 2025
0eff5ae
Update ci.yml
leonid-zats Oct 12, 2025
511686e
Merge pull request #3 from docontrol-io/toml
leonid-zats Oct 12, 2025
f246df2
dc-mcp
leonid-zats Oct 12, 2025
6cdc9ef
scheduled refresh
leonid-zats Oct 12, 2025
16c4374
inject
leonid-zats Oct 12, 2025
f4e3da3
Merge pull request #4 from docontrol-io/refresh-every-50
leonid-zats Oct 12, 2025
ba395da
Refresh fixes
leonid-zats Oct 12, 2025
885fc41
autorefresh fixes
leonid-zats Oct 12, 2025
c4c3d27
fixes
leonid-zats Oct 12, 2025
08cdec6
Update token_manager.rs
leonid-zats Oct 12, 2025
86a1651
Merge pull request #5 from docontrol-io/refresh-every-50
leonid-zats Oct 12, 2025
c351537
fix for refresh
leonid-zats Oct 15, 2025
aa78808
Merge branch 'main' into refresh-every-50
leonid-zats Oct 15, 2025
9e90abb
fixes
leonid-zats Oct 15, 2025
d3bf3ca
di for token manager
leonid-zats Oct 15, 2025
5077714
fix format
leonid-zats Oct 15, 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
7 changes: 7 additions & 0 deletions .cargo/config.toml
Original file line number Diff line number Diff line change
@@ -1,2 +1,9 @@
[alias]
xtask = "run --locked --package xtask --manifest-path xtask/Cargo.toml --"

# Build configuration for release
[profile.release]
lto = true
codegen-units = 1
panic = "abort"
strip = true
52 changes: 0 additions & 52 deletions .github/workflows/canary-release.yml

This file was deleted.

175 changes: 55 additions & 120 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
name: Nix CI
name: CI

on:
push:
# don't run on tags, run on commits
# https://github.com/orgs/community/discussions/25615
tags-ignore:
- "**"
branches:
Expand All @@ -11,135 +10,71 @@ on:
pull_request:
workflow_dispatch:

env:
# We want the cache to be as full as possible, so we instruct nix to keep derivations
# and other related outputs around in its cache
nix_conf: |
keep-env-derivations = true
keep-outputs = true

jobs:
# Cache the nix store so that subsequent runs are almost instantaneous
# See https://github.com/marketplace/actions/restore-and-save-nix-store#inputs
cache:
name: Cache nix store
runs-on: ubuntu-24.04
permissions:
actions: write
contents: read
test:
name: Test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v4

- name: Install Rust
uses: dtolnay/rust-toolchain@stable

- name: Cache cargo registry
uses: actions/cache@v4
with:
ref: ${{ github.event.pull_request.head.sha }}
- uses: nixbuild/nix-quick-install-action@v30
path: ~/.cargo/registry
key: ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }}

- name: Cache cargo index
uses: actions/cache@v4
with:
nix_conf: ${{ env.nix_conf }}
- name: Restore and save Nix store
uses: nix-community/cache-nix-action@v6
path: ~/.cargo/git
key: ${{ runner.os }}-cargo-index-${{ hashFiles('**/Cargo.lock') }}

- name: Cache cargo build
uses: actions/cache@v4
with:
primary-key: build-${{ runner.os }}-${{ hashFiles('Cargo.lock', '**/Cargo.toml', 'flake.nix', 'flake.lock', 'rust-toolchain.toml') }}
restore-prefixes-first-match: build-${{ runner.os }}-
purge: true
purge-prefixes: build-${{ runner.os }}-
purge-created: 0
purge-primary-key: never
gc-max-store-size: 5G
- name: Save flake attributes from garbage collection
run: nix profile install .#saveFromGC
path: target
key: ${{ runner.os }}-cargo-build-target-${{ hashFiles('**/Cargo.lock') }}

- name: Run tests
run: cargo test --workspace

check:
name: Run checks
runs-on: ubuntu-24.04
needs: cache
permissions:
actions: write
contents: read
name: Check and Lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
with:
ref: ${{ github.event.pull_request.head.sha }}
- uses: nixbuild/nix-quick-install-action@v30
with:
nix_conf: ${{ env.nix_conf }}
- name: Restore and save Nix store
uses: nix-community/cache-nix-action@v6
with:
primary-key: build-${{ runner.os }}-${{ hashFiles('Cargo.lock', '**/Cargo.toml', 'flake.nix', 'flake.lock', 'rust-toolchain.toml') }}
purge: true
purge-prefixes: build-${{ runner.os }}-
purge-created: 0
purge-primary-key: never
gc-max-store-size: 5G
- name: Run checks
run: nix flake check
- uses: actions/checkout@v4

build:
name: Build
runs-on: ubuntu-24.04
needs: cache
permissions:
actions: write
contents: read
steps:
- uses: actions/checkout@v5
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
with:
ref: ${{ github.event.pull_request.head.sha }}
- uses: nixbuild/nix-quick-install-action@v30
with:
nix_conf: ${{ env.nix_conf }}
- name: Restore and save Nix store
uses: nix-community/cache-nix-action@v6
with:
primary-key: build-${{ runner.os }}-${{ hashFiles('Cargo.lock', '**/Cargo.toml', 'flake.nix', 'flake.lock', 'rust-toolchain.toml') }}
purge: true
purge-prefixes: build-${{ runner.os }}-
purge-created: 0
purge-primary-key: never
gc-max-store-size: 5G
- name: Build
run: nix build .#
components: rustfmt, clippy

test:
name: Run Tests
runs-on: ubuntu-24.04
needs: cache
permissions:
actions: write
contents: read
steps:
- uses: actions/checkout@v5
with:
ref: ${{ github.event.pull_request.head.sha }}
- uses: nixbuild/nix-quick-install-action@v30
with:
nix_conf: ${{ env.nix_conf }}
- name: Restore and save Nix store
uses: nix-community/cache-nix-action@v6
- name: Cache cargo registry
uses: actions/cache@v4
with:
primary-key: build-${{ runner.os }}-${{ hashFiles('Cargo.lock', '**/Cargo.toml', 'flake.nix', 'flake.lock', 'rust-toolchain.toml') }}
purge: true
purge-prefixes: build-${{ runner.os }}-
purge-created: 0
purge-primary-key: never
gc-max-store-size: 5G
- name: Run Tests
run: 'nix develop --command bash -c "cargo test"'
path: ~/.cargo/registry
key: ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }}

coverage:
name: Run Coverage
runs-on: ubuntu-24.04
permissions:
contents: read
steps:
- uses: actions/checkout@v5
- name: Cache cargo index
uses: actions/cache@v4
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
path: ~/.cargo/git
key: ${{ runner.os }}-cargo-index-${{ hashFiles('**/Cargo.lock') }}

- name: Cache cargo build
uses: actions/cache@v4
with:
token: ${{ secrets.CODECOV_TOKEN }} # not required for public repos
files: codecov.json
fail_ci_if_error: true
path: target
key: ${{ runner.os }}-cargo-build-target-${{ hashFiles('**/Cargo.lock') }}

- name: Check formatting
run: cargo fmt --all -- --check

- name: Run clippy
run: cargo clippy --all-targets --all-features -- -D warnings

- name: Build binary
run: cargo build --release --package dc-mcp-server
Loading