Add JSON Schema features test #167
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: Continuous Integration | |
| on: | |
| pull_request: | |
| push: | |
| branches: | |
| - main | |
| - "releases/*" | |
| permissions: | |
| contents: read | |
| jobs: | |
| build-lint-test: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ubuntu-latest, macos-latest, windows-latest] | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v6 | |
| with: | |
| submodules: recursive | |
| - name: Install pnpm | |
| uses: pnpm/action-setup@v4 | |
| with: | |
| version: "10" | |
| run_install: false | |
| - name: Install Node | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: "24" | |
| cache: "pnpm" | |
| cache-dependency-path: src/pnpm-lock.yaml | |
| - name: Build | |
| working-directory: src | |
| run: pnpm install --frozen-lockfile && pnpm run build | |
| # Regenerating so we can check diff later to ensure it is up to date | |
| - name: Regenerate schema | |
| working-directory: src | |
| run: pnpm run build:schema | |
| - name: Lint | |
| working-directory: src | |
| run: pnpm run lint | |
| - name: Setup test prereq (.NET) | |
| uses: actions/setup-dotnet@v5 | |
| with: | |
| dotnet-version: 9.x | |
| - name: Setup test prereq (Go) | |
| uses: actions/setup-go@v6 | |
| with: | |
| go-version-file: src/packages/nexus-rpc-gen-tests/languages/go/go.mod | |
| - name: Setup test prereq (Java) | |
| uses: actions/setup-java@v5 | |
| with: | |
| java-version: 17 | |
| distribution: temurin | |
| - name: Setup test prereq (Python) | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: "3.13" | |
| - name: Setup test prereq (uv) | |
| uses: astral-sh/setup-uv@v7 | |
| - name: Test | |
| working-directory: src | |
| run: pnpm run test | |
| - name: Diff to ensure everything was committed properly | |
| working-directory: src | |
| # We have to lint:fix first to update generated TS code | |
| run: pnpm run lint:fix && git diff --exit-code |