openai/openai-java

Public

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

CodeCommitsIssuesPull requestsActionsInsightsSecurity
71cf8abd87f4e7ea4ab658d813499f3e30aee632

Branches

Tags

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

Clone

HTTPS

Download ZIP

.github/workflows/create-releases.yml

81lines · modecode

1name: Create releases
2on:
3 schedule:
4 - cron: '0 5 * * *' # every day at 5am UTC
5 push:
6 branches:
7 - main
8
9jobs:
10 release:
11 name: release
12 if: github.ref == 'refs/heads/main' && github.repository == 'openai/openai-java'
13 runs-on: ubuntu-latest
14 environment: publish
15
16 steps:
17 - uses: actions/checkout@v4
18
19 - uses: stainless-api/trigger-release-please@v1
20 id: release
21 with:
22 repo: ${{ github.event.repository.full_name }}
23 stainless-api-key: ${{ secrets.STAINLESS_API_KEY }}
24
25 - name: Set up Java
26 if: ${{ steps.release.outputs.releases_created }}
27 uses: actions/setup-java@v4
28 with:
29 distribution: temurin
30 java-version: |
31 8
32 17
33 cache: gradle
34
35 - name: Set up Gradle
36 if: ${{ steps.release.outputs.releases_created }}
37 uses: gradle/gradle-build-action@v2
38
39 - name: Compile the openai-java-core project
40 run: |
41 ./gradlew :openai-java-core:compileJava :openai-java-core:compileTestJava -x test
42
43 - name: Run the Prism server
44 run: |
45 ./scripts/mock --daemon
46
47 - name: Setup GraalVM
48 uses: graalvm/setup-graalvm@v1
49 with:
50 java-version: 21
51 distribution: 'graalvm-community'
52 cache: gradle
53
54 - name: Run tests on the openai-java-core project with the GraalVM native-image agent
55 run: |
56 ./gradlew :openai-java-core:test -x compileJava -x compileTestJava -x compileKotlin -x compileTestKotlin -PgraalvmAgent
57
58 - name: Check generated GraalVM file
59 run: |
60 echo "Checking for GraalVM agent metadata files..."
61 DIRECTORY=openai-java-core/src/main/resources/META-INF/native-image
62 if [ -d "$DIRECTORY" ] && [ "$(ls -A $DIRECTORY)" ]; then
63 echo "Files found in $DIRECTORY:"
64 ls -l $DIRECTORY
65 else
66 echo "No files found in $DIRECTORY"
67 exit 1
68 fi
69
70 - name: Publish to Sonatype
71 if: ${{ steps.release.outputs.releases_created }}
72 run: |-
73 export -- GPG_SIGNING_KEY_ID
74 printenv -- GPG_SIGNING_KEY | gpg --batch --passphrase-fd 3 --import 3<<< "$GPG_SIGNING_PASSWORD"
75 GPG_SIGNING_KEY_ID="$(gpg --with-colons --list-keys | awk -F : -- '/^pub:/ { getline; print "0x" substr($10, length($10) - 7) }')"
76 ./gradlew publishAndReleaseToMavenCentral -Dorg.gradle.jvmargs="-Xmx8g" --stacktrace -PmavenCentralUsername="$SONATYPE_USERNAME" -PmavenCentralPassword="$SONATYPE_PASSWORD" --no-configuration-cache
77 env:
78 SONATYPE_USERNAME: ${{ secrets.OPENAI_SONATYPE_USERNAME || secrets.SONATYPE_USERNAME }}
79 SONATYPE_PASSWORD: ${{ secrets.OPENAI_SONATYPE_PASSWORD || secrets.SONATYPE_PASSWORD }}
80 GPG_SIGNING_KEY: ${{ secrets.OPENAI_SONATYPE_GPG_SIGNING_KEY || secrets.GPG_SIGNING_KEY }}
81 GPG_SIGNING_PASSWORD: ${{ secrets.OPENAI_SONATYPE_GPG_SIGNING_PASSWORD || secrets.GPG_SIGNING_PASSWORD }}
82