Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
f55169a
Update OpenAPI spec from workos/workos@92db0495807c86fbbc4d45bd266a6c…
workos-sdk-automation[bot] Apr 24, 2026
a763bff
Merge branch 'main' into update-spec-20260424-220352-24913891276
gjtorikian Apr 24, 2026
7fdd485
fix: Pass --sdk-path instead of --sdk-root to oagen compat-extract
gjtorikian Apr 24, 2026
f9179ba
fix: Use --lang instead of --language for oagen compat-extract
gjtorikian Apr 24, 2026
c6a83a4
chore: Merge main and resolve conflict in sdk-compat-extract
gjtorikian Apr 24, 2026
629de86
fix: Create output directory before running compat-extract
gjtorikian Apr 24, 2026
b1d415f
fix(ci): Allow compat-diff to report without failing the job
gjtorikian Apr 24, 2026
496f85e
chore: update dep for manifest patch fix
gjtorikian Apr 24, 2026
03f71af
fix: Collapse cross-language symbols in compat PR comment
gjtorikian Apr 24, 2026
1dd2c1f
chore: update dep for python init fix
gjtorikian Apr 24, 2026
b510f4b
chore: update dep for symbol unity fix
gjtorikian Apr 25, 2026
d0e533c
fix: Remove normalizeConceptualId stopgap from compat PR comment
gjtorikian Apr 25, 2026
36c6ee4
chore: update dep for schema fix
gjtorikian Apr 25, 2026
9a2e144
fix: Merge cross-language duplicate rows in compat PR comment
gjtorikian Apr 25, 2026
9905d69
fix: Greedy cross-language row merge + collapsible category sections
gjtorikian Apr 25, 2026
ae6dad8
fix: Redesign compat PR comment layout
gjtorikian Apr 25, 2026
1d827f5
fix: Show method signatures with parameter names in compat report
gjtorikian Apr 25, 2026
d949710
feat: Run SDK CI scripts after generation in validate-sdks workflow
gjtorikian Apr 25, 2026
1c67f89
fix: Read runtime versions from SDK repos instead of hardcoding
gjtorikian Apr 25, 2026
c11bc3b
chore: add sdk:languages script to list matrix languages
gjtorikian Apr 25, 2026
d24369a
feat: Add sdk:generate-all script and show code samples in compat report
gjtorikian Apr 25, 2026
d048de4
new workflows
gjtorikian Apr 25, 2026
de077ac
fix: Install uv for Python CI and group compat report by service
gjtorikian Apr 25, 2026
70421af
chore: update deps
gjtorikian Apr 26, 2026
e9ecfec
fix: Generate SDKs into checkout dir so formatters find project files
gjtorikian Apr 26, 2026
da9a21f
fix: Install ruff and php-cs-fixer before SDK generation
gjtorikian Apr 26, 2026
a14bed8
fix: Run SDK setup scripts before generation instead of hardcoding
gjtorikian Apr 26, 2026
7bd7a61
Revert "fix: Run SDK setup scripts before generation instead of hardc…
gjtorikian Apr 26, 2026
752732a
fix: cross-category merge for same-field changes in SDK compat report
gjtorikian Apr 26, 2026
e9053b7
chore: update deps
gjtorikian Apr 26, 2026
660dece
fix: collapse related SDK compat changes into single entries
gjtorikian Apr 26, 2026
b904a8e
chore: update deps
gjtorikian Apr 27, 2026
e592b19
fix: collapse same-method changes into a single table
gjtorikian Apr 27, 2026
721d20e
chore: update deps
gjtorikian Apr 27, 2026
d30ed83
chore: update deps
gjtorikian Apr 27, 2026
a068cb8
feat: show symbol kind and source file in compat PR comment
gjtorikian Apr 27, 2026
543f335
fix: include hidden files in diagnostic artifact upload
gjtorikian Apr 27, 2026
3cd0b0c
fix: move source file annotation to Language column
gjtorikian Apr 27, 2026
ea036d9
fix: use table for all additive changes, show filenames per-language
gjtorikian Apr 27, 2026
8882073
feat: restructure compat report with domain grouping and compact rend…
gjtorikian Apr 27, 2026
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
84 changes: 82 additions & 2 deletions .github/workflows/validate-sdks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,65 @@ jobs:
working-directory: openapi-spec
run: npm ci

- name: Detect SDK runtime version
id: sdk-version
working-directory: ${{ matrix.sdk_checkout_path }}
run: |
case "${{ matrix.language }}" in
ruby) echo "version=$(cat .ruby-version)" >> "$GITHUB_OUTPUT" ;;
python) echo "version=$(cat .python-version 2>/dev/null || grep -Po '(?<=requires-python.*>=)\d+\.\d+' pyproject.toml)" >> "$GITHUB_OUTPUT" ;;
go) echo "version=$(grep '^go ' go.mod | awk '{print $2}')" >> "$GITHUB_OUTPUT" ;;
dotnet) echo "version=$(grep -Po '(?<=<TargetFramework>net)\d+\.\d+' $(find . -name '*.csproj' -path '*/src/*' | head -1))" >> "$GITHUB_OUTPUT" ;;
php) echo "version=$(grep -Po '\"php\":\s*\"\^?\K[\d.]+' composer.json)" >> "$GITHUB_OUTPUT" ;;
esac

- name: Setup Ruby
if: matrix.language == 'ruby'
uses: ruby/setup-ruby@0cb964fd540e0a24c900370abf38a33466142735 # v1.305.0
with:
ruby-version: ${{ steps.sdk-version.outputs.version }}
bundler-cache: true
working-directory: ${{ matrix.sdk_checkout_path }}

- name: Setup Python
if: matrix.language == 'python'
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
with:
python-version: ${{ steps.sdk-version.outputs.version }}

- name: Setup uv
if: matrix.language == 'python'
uses: astral-sh/setup-uv@37802adc94f370d6bfd71619e3f0bf239e1f3b78 # v7.6.0
with:
enable-cache: true
cache-dependency-glob: '${{ matrix.sdk_checkout_path }}/**/uv.lock'

- name: Setup Go
if: matrix.language == 'go'
uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
with:
go-version: ${{ steps.sdk-version.outputs.version }}

- name: Setup .NET
if: matrix.language == 'dotnet'
uses: actions/setup-dotnet@c2fa09f4bde5ebb9d1777cf28262a3eb3db3ced7 # v5.2.0
with:
dotnet-version: ${{ steps.sdk-version.outputs.version }}

- name: Setup PHP
if: matrix.language == 'php'
uses: shivammathur/setup-php@accd6127cb78bee3e8082180cb391013d204ef9f # 2.37.0
with:
php-version: ${{ steps.sdk-version.outputs.version }}

- name: Install SDK formatter tools
working-directory: ${{ matrix.sdk_checkout_path }}
run: |
case "${{ matrix.language }}" in
python) uv tool install ruff ;;
php) composer install --prefer-dist --no-progress --no-interaction ;;
esac

- name: Extract baseline snapshot
working-directory: openapi-spec
run: |
Expand All @@ -76,18 +135,38 @@ jobs:

- name: Generate SDK
working-directory: openapi-spec
run: npm run sdk:generate -- --lang ${{ matrix.language }} --output ".oagen/${{ matrix.language }}/sdk"
run: npm run sdk:generate -- --lang ${{ matrix.language }} --output "$GITHUB_WORKSPACE/${{ matrix.sdk_checkout_path }}"

- name: Run SDK CI
working-directory: ${{ matrix.sdk_checkout_path }}
run: |
if [ -x script/ci ]; then
script/ci
elif [ -x scripts/ci ]; then
scripts/ci
else
echo "No script/ci or scripts/ci found, skipping"
fi

- name: Extract candidate snapshot
working-directory: openapi-spec
run: |
npm run sdk:compat-extract -- \
--lang ${{ matrix.language }} \
--sdk-root .oagen/${{ matrix.language }}/sdk \
--sdk-root "$GITHUB_WORKSPACE/${{ matrix.sdk_checkout_path }}" \
--output .oagen/${{ matrix.language }}/sdk

- name: Copy manifest for diagnostics
if: always()
working-directory: openapi-spec
run: |
mkdir -p .oagen/${{ matrix.language }}/sdk
cp "$GITHUB_WORKSPACE/${{ matrix.sdk_checkout_path }}/.oagen-manifest.json" \
.oagen/${{ matrix.language }}/sdk/ 2>/dev/null || true

- name: Compat diff
id: compat-diff
continue-on-error: true
working-directory: openapi-spec
run: npm run sdk:compat-diff -- --lang ${{ matrix.language }}

Expand All @@ -105,6 +184,7 @@ jobs:
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: oagen-diagnostics-${{ matrix.language }}
include-hidden-files: true
path: openapi-spec/.oagen/${{ matrix.language }}/
retention-days: 14

Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,4 @@ node_modules/
dist/
*.local.json
.oagen
compat-report.md
2 changes: 1 addition & 1 deletion .last-synced-sha
Original file line number Diff line number Diff line change
@@ -1 +1 @@
ab91ff74c791246890e2dcf9d297a758168ec447
92db0495807c86fbbc4d45bd266a6c1f5bcbb59c
Loading
Loading