Skip to content

Exercise the bktec OTLP relay in the RSpec example - #63

Merged
pda merged 4 commits into
mainfrom
rspec-otlp-relay
Aug 27, 2026
Merged

Exercise the bktec OTLP relay in the RSpec example#63
pda merged 4 commits into
mainfrom
rspec-otlp-relay

Conversation

@pda

@pda pda commented Aug 24, 2026

Copy link
Copy Markdown
Member

The RSpec example should exercise the same OTLP-only path customers can use with bktec, rather than sending execution spans directly from the test process to Buildkite.

Changes

  • pin the RSpec job to tests#v1.0.1 and bktec v3.1.0-rc.1, which contains the experimental relay
  • use the released Ruby collector 2.15.0, including its documented optional OpenTelemetry SDK and OTLP exporter dependencies
  • enable BUILDKITE_TESTS_OTLP_RELAY for the RSpec pipeline step
  • rely on bktec's standard OTEL_EXPORTER_OTLP_TRACES_* environment instead of configuring a relay-specific token in spec_helper.rb
  • keep legacy result upload disabled so the example demonstrates trace-only submission

Context

Testing

  • parsed .buildkite/pipeline.yml
  • bundle check
  • loaded Ruby collector 2.15.0 with OpenTelemetry SDK 1.13.0
  • ran spec/models/user_spec.rb against a local fake OTLP endpoint; two requests arrived with the standard Bearer header overriding a different collector token, plus the buildkite.otlp.endpoint resource attribute

Rollback

Remove BUILDKITE_TESTS_OTLP_RELAY, the client pin, and the released collector dependency changes.

@buildsworth-bk-app buildsworth-bk-app Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Because this switches the example onto a per-run relay credential, it sits above this repository's AI approval ceiling. I didn't find an implementation issue in the change.

Want to dig deeper?

Paste this into your agent to explore the findings from this review's Buildkite build:

Download the buildsworth logs from build 20304, then answer my questions about the findings.

Install the reading-buildsworth-logs skill to run this.

About buildsworth

Model: gpt-5.6-sol with xhigh thinking.

How to request a review: Comment @buildsworth-bk review on the PR, or request buildsworth-bk as a reviewer.

Risk labels (how buildsworth classifies risk) — buildsworth classifies risk itself from the diff. Unless repository policy already allows L2 approval, grant it by mentioning @buildsworth-bk (see approval ceiling and L2 approval grant):

  • L1 — Low risk (dep bumps, docs/copy, lockfiles, small presentational fixes). buildsworth may approve by default.
  • L2 — Standard risk (new UI, additive API fields, refactors). Approved only when repository policy or a verified grant allows it; otherwise comment-only.
  • L3 — High risk (auth, migrations, payments, secrets, perf-critical paths). Human review always required.

pda and others added 3 commits August 25, 2026 17:25
Pin the relay release candidate and current bktest main so the Ruby collector can consume bktec's standard OTLP exporter headers without a relay-specific token configuration.

Amp-Thread-ID: https://ampcode.com/threads/T-01a032af-a1ec-7260-9a55-326feca62b28
Co-authored-by: Amp <amp@ampcode.com>
@pda
pda force-pushed the rspec-otlp-relay branch from 0164867 to 53dc1cb Compare August 25, 2026 07:58

@buildsworth-bk-app buildsworth-bk-app Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This still routes the RSpec example through bktec's per-run local relay credential, so the runtime and authentication change remains above this repository's AI approval ceiling. I didn't find an implementation issue in the current revision.

Want to dig deeper?

Paste this into your agent to explore the findings from this review's Buildkite build:

Download the buildsworth logs from build 20844, then answer my questions about the findings.

Install the reading-buildsworth-logs skill to run this.

@pda
pda marked this pull request as draft August 25, 2026 08:01
@pda

pda commented Aug 25, 2026

Copy link
Copy Markdown
Member Author

@buildsworth-bk review approve L2

@pda

pda commented Aug 25, 2026

Copy link
Copy Markdown
Member Author

I'll leave this as draft for now, until we have proper bktec and test-collector-ruby releases to use.

@pda

pda commented Aug 27, 2026

Copy link
Copy Markdown
Member Author

Rebased against the latest origin/main (the branch was already current, so no history rewrite was needed) and pushed 70cab23.

This now uses the released buildkite-test_collector 2.15.0 with its documented optional OpenTelemetry dependencies, while retaining bktec v3.1.0-rc.1.

Verification:

  • bundle check
  • pipeline YAML parse
  • local fake OTLP endpoint received two trace requests with the relay Bearer header and buildkite.otlp.endpoint resource attribute

@socket-security

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Addedgem/​buildkite-test_collector@​2.15.099100100100100

View full report

@pda
pda marked this pull request as ready for review August 27, 2026 01:05
@pda
pda merged commit 4281961 into main Aug 27, 2026
2 of 3 checks passed
@pda
pda deleted the rspec-otlp-relay branch August 27, 2026 01:05
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.

1 participant