Skip to content

ci(spec): fix oasdiff smoke test to use --version flag - #53

Open
yakimoto wants to merge 1 commit into
mainfrom
fix/oasdiff-version-flag
Open

ci(spec): fix oasdiff smoke test to use --version flag#53
yakimoto wants to merge 1 commit into
mainfrom
fix/oasdiff-version-flag

Conversation

@yakimoto

@yakimoto yakimoto commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

The breaking-change gate merged in #49 fails on every PR before it can diff anything: its install step's smoke test invokes oasdiff version, but the pinned v1.28.0 binary has no version subcommand and exits 100 (verified against the exact release tarball; the flag form prints oasdiff version 1.28.0 and exits 0).

tar -xzf /tmp/oasdiff-install/oasdiff_1.28.0_linux_amd64.tar.gz -C /usr/local/bin
# v1.28.0 has no `version` subcommand (exits 100); the flag form is correct.
oasdiff --version

Also verified oasdiff breaking --fail-on ERR still exits 0 comparing this branch's spec against main, so the gate goes green once the smoke test passes.


Note

Low Risk
One-line CI smoke-test fix with no impact on gate logic, auth, or the OpenAPI contract itself.

Overview
Fixes the breaking-change gate install smoke test, which was failing on every PR before any diff ran.

Pinned oasdiff v1.28.0 has no version subcommand (exits 100), so the check now uses oasdiff --version instead.

Reviewed by Cursor Bugbot for commit fa6673e. Configure here.

Review in cubic

Note

Fix oasdiff smoke test to use --version flag instead of version subcommand

The oasdiff version subcommand does not exist in v1.28.0 and exits with code 100, causing the install verification step to fail. Updates foundation-gate.yml to use oasdiff --version instead.

Macroscope summarized fa6673e.

Co-authored-by: Codesmith <codesmith-bot@users.noreply.github.com>
@cursor

cursor Bot commented Aug 11, 2026

Copy link
Copy Markdown

Bugbot couldn't run - usage limit reached

Bugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit.

A user or team admin can review and increase usage limits in the Cursor dashboard.

(requestId: serverGenReqId_df627d77-22b9-456b-80fe-252647df3c6d)

@coderabbitai

coderabbitai Bot commented Aug 11, 2026

Copy link
Copy Markdown

Warning

Review limit reached

You’ve reached a temporary PR review limit under our Fair Usage Limits Policy.

Your recent review volume is higher than typical usage, so adaptive limits are currently applied.

Next review available in: 48 minutes

Your organization has reached its usage spending cap. Adjust your spending cap in the billing tab.

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 387f93a6-5e55-4a6f-809d-064a32072f4a

📥 Commits

Reviewing files that changed from the base of the PR and between f5230ef and fa6673e.

📒 Files selected for processing (1)
  • .github/workflows/foundation-gate.yml

Comment @coderabbitai help to get the list of available commands.

@devin-ai-integration devin-ai-integration 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.

Devin Review found 1 potential issue.

Open in Devin Review

Comment on lines +117 to +118
# v1.28.0 has no `version` subcommand (exits 100); the flag form is correct.
oasdiff --version

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🔍 Smoke-test flag form should be confirmed against the pinned oasdiff release

The only change swaps the smoke test from oasdiff version to oasdiff --version for the pinned v1.28.0 binary, with a comment asserting the subcommand form exits 100. Since the step runs under bash -e, a wrong flag form would fail the whole breaking-change job before the actual diff step; worth confirming the flag is supported by the exact pinned release (the comment is the only evidence in-repo). Note this step is purely a smoke test — dropping it entirely would also be an option if the CLI surface is unstable across versions.

Open in Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.

@qodo-code-review

Copy link
Copy Markdown

PR Summary by Qodo

Fix oasdiff CI smoke test to use --version flag

🐞 Bug fix ⚙️ Configuration changes 🕐 Less than 5 minutes

Grey Divider

AI Description

• Fix GitHub Actions gate failing due to unsupported oasdiff version subcommand in v1.28.0.
• Update smoke test to run oasdiff --version and document the behavior.
Diagram

graph TD
  A(["PR workflow run"]) --> B["Download oasdiff 1.28.0"] --> C["Verify checksum"] --> D["Install binary"] --> E["Smoke test: --version"] --> F{"Breaking diff clean?"} --> G["Gate passes"]

  F --> H["Gate fails"]

  subgraph Legend
    direction LR
    _wf(["Workflow"]) ~~~ _step["Step"] ~~~ _dec{"Decision"}
  end
Loading
High-Level Assessment

The following are alternative approaches to this PR:

1. Bump oasdiff to a version with `version` subcommand
  • ➕ Keeps the original smoke-test command form
  • ➕ May include newer fixes/features in oasdiff
  • ➖ Introduces a tool upgrade into a CI fix (higher change risk)
  • ➖ May require re-validating breaking-diff behavior/output
2. Remove the smoke test step entirely
  • ➕ Fewer steps; avoids command compatibility issues
  • ➖ Loses an early, clear signal that the binary is runnable
  • ➖ Makes later failures harder to diagnose (diff step fails instead)
3. Add a compatibility check (try subcommand, fallback to flag)
  • ➕ Supports both older and newer oasdiff binaries
  • ➖ More scripting/branching in the workflow for little benefit given a pinned version

Recommendation: Keep the PR’s approach: switch the smoke test to oasdiff --version and document why. It fixes the gate with minimal risk while preserving the value of a quick install validation; upgrading the pinned tool can be a separate, intentional change.

Files changed (1) +2 / -1

Other (1) +2 / -1
foundation-gate.ymlFix oasdiff install smoke test to use '--version' +2/-1

Fix oasdiff install smoke test to use '--version'

• Replaces 'oasdiff version' with 'oasdiff --version' in the install verification step. Adds an inline comment explaining that v1.28.0 lacks the 'version' subcommand and exits non-zero.

.github/workflows/foundation-gate.yml

@cursor cursor 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.

Risk: low. Left a non-blocking comment — Cursor Bugbot and Cursor Security Agent both skipped (Bugbot hit a usage limit), so the required automated review signals did not complete successfully and this cannot be auto-approved. Human review is needed; no reviewers were assigned because the only assignable user is the PR author.

Open in Web View Automation 

Sent by Cursor Approval Agent: Pull Request Router and Approver

@macroscopeapp

macroscopeapp Bot commented Aug 11, 2026

Copy link
Copy Markdown

Approvability

Verdict: Approved fa6673e

Minor CI workflow fix changing a smoke test CLI flag from oasdiff version to oasdiff --version. Author owns this file per CODEOWNERS. No runtime or production impact - purely affects CI pipeline behavior.

You can customize Macroscope's approvability policy. Learn more.

@qodo-code-review

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (0)

Grey Divider

Great, no issues found!

Qodo reviewed your code and found no material issues that require review

Grey Divider

Tip of the day
💡 Did you know, you can group findings by type and pick your Finding display, from Minimal to Full

More tips ↗ | Customize Qodo ↗ | Qodo docs ↗

Grey Divider

Qodo Logo

@qodo-code-review

Copy link
Copy Markdown

Qodo Fixer

No findings are available for this PR yet. Findings appear here once Qodo has reviewed the PR.

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