Update CLAUDE.md with PR style and commit guidelines #676
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Test SDKs | |
| permissions: | |
| contents: read | |
| on: | |
| push: | |
| pull_request: | |
| jobs: | |
| test-csharp-sdk: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| bun-version: [latest] | |
| dotnet-version: [8.0.x] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup Bun | |
| uses: oven-sh/setup-bun@v2 | |
| with: | |
| bun-version: ${{ matrix.bun-version }} | |
| - name: Setup .NET ${{ matrix.dotnet-version }} | |
| uses: actions/setup-dotnet@v4 | |
| with: | |
| dotnet-version: ${{ matrix.dotnet-version }} | |
| - name: Install dependencies | |
| run: bun install --frozen-lockfile | |
| - name: Test csharp-sdk | |
| run: | | |
| export AIDBOX_LICENSE_ID="${{ secrets.AIDBOX_LICENSE_ID }}" | |
| make test-csharp-sdk | |
| - name: Repository contains actual csharp-sdk version | |
| run: | | |
| diff_result=$(git diff --exit-code --name-only examples/csharp/generated || true) | |
| if [ -z "$diff_result" ]; then | |
| echo "✅ Generated SDK is identical to the one stored in repository." | |
| else | |
| echo "❌ Generated SDK differs from the one stored in repository." | |
| echo "Differences:" | |
| git diff examples/csharp/generated | |
| exit 1 | |
| fi | |
| test-typescript-sdk-r4: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| bun-version: [latest] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Setup Bun | |
| uses: oven-sh/setup-bun@v2 | |
| with: | |
| bun-version: ${{ matrix.bun-version }} | |
| - name: Install dependencies | |
| run: bun install --frozen-lockfile | |
| - name: Run tests | |
| run: make test-typescript-r4-example | |
| - name: Repository contains actual typescript-sdk version | |
| run: | | |
| diff_result=$(git diff --exit-code --name-only examples/typescript-r4 || true) | |
| if [ -z "$diff_result" ]; then | |
| echo "✅ Generated SDK is identical to the one stored in repository." | |
| else | |
| echo "❌ Generated SDK differs from the one stored in repository." | |
| echo "Differences:" | |
| git diff examples/typescript-r4 | |
| exit 1 | |
| fi | |
| test-typescript-us-core-example: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| bun-version: [latest] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup Bun | |
| uses: oven-sh/setup-bun@v2 | |
| with: | |
| bun-version: ${{ matrix.bun-version }} | |
| - name: Install dependencies | |
| run: bun install --frozen-lockfile | |
| - name: Run tests | |
| run: make test-typescript-us-core-example | |
| # TODO: enable git diff check after fixing non-deterministic generation output | |
| # - name: Repository contains actual typescript-us-core version | |
| # run: | | |
| # diff_result=$(git diff --exit-code --name-only examples/typescript-us-core || true) | |
| # | |
| # if [ -z "$diff_result" ]; then | |
| # echo "✅ Generated SDK is identical to the one stored in repository." | |
| # else | |
| # echo "❌ Generated SDK differs from the one stored in repository." | |
| # echo "Differences:" | |
| # git diff examples/typescript-us-core | |
| # exit 1 | |
| # fi | |
| test-typescript-ccda-example: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| bun-version: [latest] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Setup Bun | |
| uses: oven-sh/setup-bun@v2 | |
| with: | |
| bun-version: ${{ matrix.bun-version }} | |
| - name: Install dependencies | |
| run: bun install --frozen-lockfile | |
| - name: Run tests | |
| run: make test-typescript-ccda-example | |
| test-python-sdk-test: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| bun-version: [ latest ] | |
| python-version: [ "3.13" ] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup Bun | |
| uses: oven-sh/setup-bun@v2 | |
| with: | |
| bun-version: ${{ matrix.bun-version }} | |
| - uses: actions/setup-python@v6 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install dependencies | |
| run: bun install --frozen-lockfile | |
| - name: Test Python SDK | |
| run: | | |
| export AIDBOX_LICENSE_ID="${{ secrets.AIDBOX_LICENSE_ID }}" | |
| make test-python-sdk | |
| - name: Repository contains actual python-sdk version | |
| run: | | |
| diff_result=$(git diff --exit-code --name-only examples/python/fhir_types || true) | |
| if [ -z "$diff_result" ]; then | |
| echo "✅ Generated SDK is identical to the one stored in repository." | |
| else | |
| echo "❌ Generated SDK differs from the one stored in repository." | |
| echo "Differences:" | |
| git diff examples/python/fhir_types | |
| exit 1 | |
| fi | |
| test-python-fhirpy-sdk-test: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| bun-version: [ latest ] | |
| python-version: [ "3.13" ] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup Bun | |
| uses: oven-sh/setup-bun@v2 | |
| with: | |
| bun-version: ${{ matrix.bun-version }} | |
| - uses: actions/setup-python@v6 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install dependencies | |
| run: bun install --frozen-lockfile | |
| - name: Test Python fhirpy SDK | |
| run: | | |
| export AIDBOX_LICENSE_ID="${{ secrets.AIDBOX_LICENSE_ID }}" | |
| make test-python-fhirpy-sdk | |
| - name: Repository contains actual python-fhirpy-sdk version | |
| run: | | |
| diff_result=$(git diff --exit-code --name-only examples/python-fhirpy/fhir_types || true) | |
| if [ -z "$diff_result" ]; then | |
| echo "✅ Generated SDK is identical to the one stored in repository." | |
| else | |
| echo "❌ Generated SDK differs from the one stored in repository." | |
| echo "Differences:" | |
| git diff examples/python-fhirpy/fhir_types | |
| exit 1 | |
| fi | |
| test-mustache-java-r4-example: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| bun-version: [latest] | |
| java-version: [21, 25] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup Bun | |
| uses: oven-sh/setup-bun@v2 | |
| with: | |
| bun-version: ${{ matrix.bun-version }} | |
| - name: Setup Java | |
| uses: actions/setup-java@v4 | |
| with: | |
| java-version: ${{ matrix.java-version }} | |
| distribution: "temurin" | |
| - name: Install dependencies | |
| run: bun install --frozen-lockfile | |
| - name: Run tests | |
| run: make test-mustache-java-r4-example |