Release core-sdk #108
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: CI | |
| on: | |
| push: | |
| branches: [main, "runapi-ci/**"] | |
| tags: ["v*", "*/v*"] | |
| pull_request: | |
| branches: [main] | |
| permissions: | |
| contents: read | |
| defaults: | |
| run: | |
| shell: bash | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
| cancel-in-progress: ${{ github.event_name == 'pull_request' }} | |
| jobs: | |
| java: | |
| name: Java ${{ matrix.test-java-version }} | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 30 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - test-java-version: '8' | |
| java-versions: | | |
| 21 | |
| 8 | |
| java-home-envs: JAVA_HOME_21_X64,JAVA_HOME_8_X64 | |
| - test-java-version: '11' | |
| java-versions: | | |
| 21 | |
| 11 | |
| java-home-envs: JAVA_HOME_21_X64,JAVA_HOME_11_X64 | |
| - test-java-version: '17' | |
| java-versions: | | |
| 21 | |
| 17 | |
| java-home-envs: JAVA_HOME_21_X64,JAVA_HOME_17_X64 | |
| - test-java-version: '21' | |
| java-versions: '21' | |
| java-home-envs: JAVA_HOME_21_X64 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 | |
| with: | |
| persist-credentials: false | |
| - name: Set up Java | |
| uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4 | |
| with: | |
| distribution: temurin | |
| java-version: ${{ matrix.java-versions }} | |
| - name: Test and build local packages | |
| run: ./gradlew --no-daemon test publishToMavenLocal -PtestJavaVersion=${{ matrix.test-java-version }} -Porg.gradle.java.installations.fromEnv=${{ matrix.java-home-envs }} | |
| working-directory: java | |
| env: | |
| JAVA_HOME: ${{ env.JAVA_HOME_21_X64 }} | |
| javascript: | |
| name: JavaScript package | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 | |
| with: | |
| persist-credentials: false | |
| - name: Set up Node.js | |
| uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # zizmor: ignore[cache-poisoning] cache is opt-in and no cache input is configured; v4 | |
| with: | |
| node-version: 22 | |
| - name: Install dependencies | |
| run: npm install --ignore-scripts --no-audit --no-fund | |
| working-directory: js | |
| - name: Typecheck | |
| run: npm run typecheck | |
| working-directory: js | |
| - name: Build | |
| run: npm run build | |
| working-directory: js | |
| - name: Test | |
| run: npm test | |
| working-directory: js | |
| - name: Verify npm package boundary | |
| run: npm pack --dry-run --json --ignore-scripts | |
| working-directory: js | |
| python: | |
| name: Python wheel | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 | |
| with: | |
| persist-credentials: false | |
| - name: Set up Python | |
| uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5 | |
| with: | |
| python-version: '3.13' | |
| - name: Install build and test tools | |
| run: python -m pip install build pytest | |
| working-directory: python | |
| - name: Build wheel | |
| run: python -m build | |
| working-directory: python | |
| - name: Install wheel | |
| run: python -m pip install dist/*.whl | |
| working-directory: python | |
| - name: Test installed package | |
| run: python -m pytest | |
| working-directory: python | |
| ruby: | |
| name: Ruby gem (Ruby ${{ matrix.ruby-version }}) | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| ruby-version: ['3.1', '4.0'] | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 | |
| with: | |
| persist-credentials: false | |
| - name: Set up Ruby | |
| uses: ruby/setup-ruby@003a5c4d8d6321bd302e38f6f0ec593f77f06600 # v1 | |
| with: | |
| ruby-version: ${{ matrix.ruby-version }} | |
| - name: Install dependencies | |
| run: bundle install --jobs 4 --retry 3 | |
| working-directory: ruby | |
| - name: Test | |
| run: bundle exec rspec | |
| working-directory: ruby | |
| - name: Build gem | |
| run: 'gem build -- *.gemspec' | |
| working-directory: ruby | |
| go: | |
| name: Go module | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 | |
| with: | |
| persist-credentials: false | |
| - name: Set up Go | |
| uses: actions/setup-go@40f1582b2485089dde7abd97c1529aa768e1baff # v5 | |
| with: | |
| go-version: '1.26' | |
| cache: false | |
| - name: Test | |
| run: go test ./... | |
| working-directory: go |