openai/openai-java

Public

mirrored from https://github.com/openai/openai-javaAvailable

CodeCommitsIssuesPull requestsActionsInsightsSecurity
v4.20.0

Branches

Tags

  • No tags available.
0Branches0Tags
Go to file
Add file
Code

Clone

HTTPS

Download ZIP

.github/workflows/ci.yml

130lines · modepreview

name: CI
on:
  push:
    branches-ignore:
      - 'generated'
      - 'codegen/**'
      - 'integrated/**'
      - 'stl-preview-head/**'
      - 'stl-preview-base/**'
  pull_request:
    branches-ignore:
      - 'stl-preview-head/**'
      - 'stl-preview-base/**'

jobs:
  lint:
    timeout-minutes: 15
    name: lint
    runs-on: ${{ github.repository == 'stainless-sdks/openai-java' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
    if: github.event_name == 'push' || github.event.pull_request.head.repo.fork

    steps:
      - uses: actions/checkout@v6

      - name: Set up Java
        uses: actions/setup-java@v5
        with:
          distribution: temurin
          java-version: |
            8
            21
          cache: gradle

      - name: Set up Gradle
        uses: gradle/actions/setup-gradle@v4

      - name: Run lints
        run: ./scripts/lint

  build:
    timeout-minutes: 15
    name: build
    permissions:
      contents: read
      id-token: write
    runs-on: ${{ github.repository == 'stainless-sdks/openai-java' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
    if: github.event_name == 'push' || github.event.pull_request.head.repo.fork

    steps:
      - uses: actions/checkout@v6

      - name: Set up Java
        uses: actions/setup-java@v5
        with:
          distribution: temurin
          java-version: |
            8
            21
          cache: gradle

      - name: Set up Gradle
        uses: gradle/actions/setup-gradle@v4

      - name: Build SDK
        # disable gradle daemon in CI because it is flakey
        env:
          GRADLE_OPTS: "-Dkotlin.compiler.execution.strategy=in-process"
        run: ./scripts/build

      - name: Get GitHub OIDC Token
        if: github.repository == 'stainless-sdks/openai-java'
        id: github-oidc
        uses: actions/github-script@v8
        with:
          script: core.setOutput('github_token', await core.getIDToken());

      - name: Build and upload Maven artifacts
        if: github.repository == 'stainless-sdks/openai-java'
        env:
          URL: https://pkg.stainless.com/s
          AUTH: ${{ steps.github-oidc.outputs.github_token }}
          SHA: ${{ github.sha }}
          PROJECT: openai-java
        run: ./scripts/upload-artifacts
  test:
    timeout-minutes: 15
    name: test
    runs-on: ${{ github.repository == 'stainless-sdks/openai-java' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
    if: github.event_name == 'push' || github.event.pull_request.head.repo.fork
    steps:
      - uses: actions/checkout@v6

      - name: Set up Java
        uses: actions/setup-java@v5
        with:
          distribution: temurin
          java-version: |
            8
            21
          cache: gradle

      - name: Set up Gradle
        uses: gradle/gradle-build-action@v2

      - name: Run tests
        run: ./scripts/test
  examples:
    timeout-minutes: 10
    name: examples
    runs-on: ${{ github.repository == 'stainless-sdks/openai-java' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
    if: github.repository == 'openai/openai-java' && (github.event_name == 'push' || github.event.pull_request.head.repo.fork)

    steps:
      - uses: actions/checkout@v6

      - name: Set up Java
        uses: actions/setup-java@v5
        with:
          distribution: temurin
          java-version: |
            8
            21
          cache: gradle
      - name: Set up Gradle
        uses: gradle/gradle-build-action@v2

      - env: 
          OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
        run: |
            ./gradlew :openai-java-example:run