Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
95 changes: 65 additions & 30 deletions .github/workflows/openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,39 +3,74 @@ name: Check OpenAPI specs
on:
push:

#env:
# APIFY_STAGING_TOKEN: ${{ secrets.APIFY_STAGING_TOKEN }}

jobs:
build:
name: Build the specification file
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v5

- name: Use Node.js 22
uses: actions/setup-node@v6
with:
node-version: 24
cache: 'npm'
cache-dependency-path: 'package-lock.json'

- name: Enable corepack
run: |
corepack enable

- name: Install Dependencies
run: npm ci --force
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

- run: |
npm ci
npm run redoc:test

# TODO
# - uses: actions/setup-python@v5
# with:
# python-version: '3.10'
# - run: python -m pip install schemathesis==3.35.0
- uses: actions/checkout@v5

- name: Use Node.js 24
uses: actions/setup-node@v6
with:
node-version: 24
cache: "npm"
cache-dependency-path: "package-lock.json"

- name: Enable corepack
run: |
corepack enable

- name: Install Dependencies
run: npm ci --force
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

- run: |
npm run redoc:test

validate-go-codegen:
name: Validate Go client generation
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v5

- name: Use Node.js 24
uses: actions/setup-node@v6
with:
node-version: 24
cache: "npm"
cache-dependency-path: "package-lock.json"

- name: Enable corepack
run: |
corepack enable

- name: Install Dependencies
run: npm ci --force

- name: Build OpenAPI spec
run: npm run redoc:build:clean:yaml

- name: Setup Go
uses: actions/setup-go@v5
with:
go-version: "1.25"
# Disable caching since go.sum is gitignored and regenerated on each run.
cache: false

- name: Install oapi-codegen as tool
working-directory: codegen/oapi-codegen-go
run: go get -tool github.com/oapi-codegen/oapi-codegen/v2/cmd/oapi-codegen@latest

- name: Generate Go client
working-directory: codegen/oapi-codegen-go
run: go tool oapi-codegen -config oapi-codegen.yaml ../../static/api/openapi.yaml

- name: Build generated client
working-directory: codegen/oapi-codegen-go
run: |
go mod tidy
go build ./...
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -24,5 +24,7 @@ sources/api/*
apify-api.yaml
static/api
apify-docs-theme/package-lock.json
codegen/*/generated/
codegen/*/go.sum
.github/styles/Microsoft
.github/styles/write-good
33 changes: 33 additions & 0 deletions codegen/oapi-codegen-go/go.mod
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
module apify-codegen-test

go 1.25

tool github.com/oapi-codegen/oapi-codegen/v2/cmd/oapi-codegen

require github.com/oapi-codegen/runtime v1.1.2

require (
github.com/apapsch/go-jsonmerge/v2 v2.0.0 // indirect
github.com/dprotaso/go-yit v0.0.0-20220510233725-9ba8df137936 // indirect
github.com/getkin/kin-openapi v0.133.0 // indirect
github.com/go-openapi/jsonpointer v0.21.0 // indirect
github.com/go-openapi/swag v0.23.0 // indirect
github.com/google/uuid v1.5.0 // indirect
github.com/josharian/intern v1.0.0 // indirect
github.com/mailru/easyjson v0.7.7 // indirect
github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826 // indirect
github.com/oapi-codegen/oapi-codegen/v2 v2.5.1 // indirect
github.com/oasdiff/yaml v0.0.0-20250309154309-f31be36b4037 // indirect
github.com/oasdiff/yaml3 v0.0.0-20250309153720-d2182401db90 // indirect
github.com/perimeterx/marshmallow v1.1.5 // indirect
github.com/speakeasy-api/jsonpath v0.6.0 // indirect
github.com/speakeasy-api/openapi-overlay v0.10.2 // indirect
github.com/vmware-labs/yaml-jsonpath v0.3.2 // indirect
github.com/woodsbury/decimal128 v1.3.0 // indirect
golang.org/x/mod v0.21.0 // indirect
golang.org/x/sync v0.9.0 // indirect
golang.org/x/text v0.20.0 // indirect
golang.org/x/tools v0.25.1 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)
8 changes: 8 additions & 0 deletions codegen/oapi-codegen-go/oapi-codegen.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package: apify
output: generated/client.gen.go
generate:
models: true
client: true
embedded-spec: false
output-options:
skip-prune: true