Skip to content

Commit d8b1721

Browse files
feat(image): add OpenAPI CLI tooling
Add redocly, spectral, portman, newman, and oasdiff to the runner image for OpenAPI lint, bundle, contract testing, and diff workflows. Co-authored-by: Cursor <cursoragent@cursor.com>
1 parent 5536136 commit d8b1721

3 files changed

Lines changed: 39 additions & 0 deletions

File tree

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
### Features
2+
3+
* **image:** add OpenAPI CLI tooling (redocly, spectral, portman, newman, oasdiff)
4+
15
## [1.6.0](https://github.com/DeerHide/python-github-runner/compare/v1.5.1...v1.6.0) (2026-06-17)
26

37
### Features

Containerfile

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,36 @@ RUN curl -sSL -o /tmp/bun.zip \
134134
&& ln -sf /usr/local/bin/bun /usr/local/bin/bunx \
135135
&& rm -rf /tmp/bun.zip /tmp/bun-linux-x64-baseline
136136

137+
# Install Redocly CLI (OpenAPI linter and bundler)
138+
# OpenAPI tool versions kept aligned with customer_backend/scripts/openapi-tools.env
139+
ARG REDOCLY_CLI_VERSION=2.39.0
140+
# hadolint ignore=DL3013
141+
RUN npm install -g "@redocly/cli@${REDOCLY_CLI_VERSION}"
142+
143+
# Install Spectral CLI (OpenAPI/AsyncAPI linter)
144+
ARG SPECTRAL_CLI_VERSION=6.16.1
145+
# hadolint ignore=DL3013
146+
RUN npm install -g "@stoplight/spectral-cli@${SPECTRAL_CLI_VERSION}"
147+
148+
# Install Portman (OpenAPI to Postman contract tests)
149+
ARG PORTMAN_VERSION=1.35.0
150+
# hadolint ignore=DL3013
151+
RUN npm install -g "@apideck/portman@${PORTMAN_VERSION}"
152+
153+
# Install Newman (Postman collection runner)
154+
ARG NEWMAN_VERSION=6.2.2
155+
# hadolint ignore=DL3013
156+
RUN npm install -g "newman@${NEWMAN_VERSION}"
157+
158+
# Install oasdiff (OpenAPI diff and breaking-change detection)
159+
ARG OASDIFF_VERSION=1.23.0
160+
RUN curl -sSL -o /tmp/oasdiff.tgz \
161+
"https://github.com/Tufin/oasdiff/releases/download/v${OASDIFF_VERSION}/oasdiff_${OASDIFF_VERSION}_linux_amd64.tar.gz" \
162+
&& tar -xzf /tmp/oasdiff.tgz -C /tmp oasdiff \
163+
&& mv /tmp/oasdiff /usr/local/bin/oasdiff \
164+
&& chmod +x /usr/local/bin/oasdiff \
165+
&& rm -f /tmp/oasdiff.tgz
166+
137167
# Install pre-commit
138168
# hadolint ignore=DL3013
139169
RUN pip3 install --no-cache-dir pre-commit

manifest.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,11 @@ build:
1616
- YQ_VERSION=4.53.2
1717
- NODE_VERSION=24.16.0
1818
- BUN_VERSION=1.3.14
19+
- REDOCLY_CLI_VERSION=2.39.0
20+
- SPECTRAL_CLI_VERSION=6.16.1
21+
- PORTMAN_VERSION=1.35.0
22+
- NEWMAN_VERSION=6.2.2
23+
- OASDIFF_VERSION=1.23.0
1924
labels:
2025
- org.opencontainers.image.source=https://github.com/deerhide/python-github-runner
2126
- org.opencontainers.image.description="Python GitHub Runner"

0 commit comments

Comments
 (0)