Build #5480
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: Build | |
| env: | |
| JAVA_OPTS: "-Xms512m -Xmx6048m -Xss128m -XX:ReservedCodeCacheSize=512m -server" | |
| GRADLE_OPTS: "-Xms512m -Xmx6048m -Xss128m -XX:ReservedCodeCacheSize=512m -server" | |
| GRADLE_BUILD_OPTIONS: "--no-daemon -x check -x test -x javadoc --configure-on-demand --max-workers=8 --no-configuration-cache" | |
| TERM: xterm-256color | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| GH_PACKAGE_REGISTRY_USER: ${{ secrets.GH_PACKAGE_REGISTRY_USER }} | |
| GH_PACKAGE_REGISTRY_TOKEN: ${{ secrets.GH_PACKAGE_REGISTRY_TOKEN }} | |
| DEVELOCITY_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }} | |
| JDK_CURRENT: 25 | |
| JDK_LATEST: 25 | |
| JDK_DISTRIBUTION: "oracle" | |
| ########################################################################## | |
| concurrency: | |
| group: "workflow = ${{ github.workflow }}, ref = ${{ github.event.ref }}, pr = ${{ github.event.pull_request.id }}" | |
| cancel-in-progress: true | |
| on: | |
| workflow_dispatch: | |
| schedule: | |
| - cron: '0 23 * * *' | |
| # push: | |
| # branches: [ master ] | |
| pull_request: | |
| types: [ assigned ] | |
| # branches: [ master ] | |
| ########################################################################## | |
| jobs: | |
| initialize: | |
| if: ${{ (github.event_name == 'schedule' || github.event_name == 'workflow_dispatch') }} | |
| runs-on: ubuntu-latest | |
| name: "Initialize Build" | |
| outputs: | |
| jdks: ${{ steps.determine-jdk.outputs.jdks }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Determine JDKs | |
| id: determine-jdk | |
| run: | | |
| if [ "$JDK_CURRENT" == "$JDK_LATEST" ]; then | |
| echo "jdks=[\"$JDK_CURRENT\"]" >> "$GITHUB_OUTPUT" | |
| else | |
| echo "jdks=[\"$JDK_CURRENT\", \"$JDK_LATEST\"]" >> "$GITHUB_OUTPUT" | |
| fi | |
| - name: Set up JDK | |
| uses: actions/setup-java@v5 | |
| with: | |
| java-version: ${{ env.JDK_CURRENT }} | |
| distribution: ${{ env.JDK_DISTRIBUTION }} | |
| - name: Setup Gradle | |
| uses: gradle/actions/setup-gradle@v5 | |
| - name: Initialize | |
| run: ls ./ci && find ./ci -type f -name "*.sh" -exec chmod +x "{}" \; && ./ci/init-build.sh | |
| ########################################################################## | |
| build-pull-request: | |
| if: ${{ (github.event_name == 'pull_request' && github.event.assignee.login == 'apereocas-bot') }} | |
| runs-on: ubuntu-latest | |
| name: "Build Pull Request" | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Set up JDK | |
| uses: actions/setup-java@v5 | |
| with: | |
| java-version: ${{ env.JDK_CURRENT }} | |
| distribution: ${{ env.JDK_DISTRIBUTION }} | |
| - name: Setup Gradle | |
| uses: gradle/actions/setup-gradle@v5 | |
| - name: Initialize | |
| run: ls ./ci && find ./ci -type f -name "*.sh" -exec chmod +x "{}" \; && ./ci/init-build.sh | |
| - name: Build with JDK ${{ env.JDK_CURRENT }} | |
| run: ./gradlew build -PsourceCompatibility=${{ env.JDK_CURRENT }} -PtargetCompatibility=${{ env.JDK_CURRENT }} ${{ env.GRADLE_BUILD_OPTIONS }} | |
| ########################################################################## | |
| build: | |
| needs: [initialize] | |
| continue-on-error: false | |
| runs-on: ubuntu-latest | |
| name: "Build" | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| jdk: ${{ fromJson(needs.initialize.outputs.jdks) }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Set up JDK ${{ matrix.jdk }} | |
| uses: actions/setup-java@v5 | |
| with: | |
| java-version: ${{ matrix.jdk }} | |
| distribution: ${{ env.JDK_DISTRIBUTION }} | |
| - name: Setup Gradle | |
| uses: gradle/actions/setup-gradle@v5 | |
| - name: Initialize | |
| run: find ./ci -type f -name "*.sh" -exec chmod +x "{}" \; && ./ci/init-build.sh | |
| shell: bash | |
| - name: Build with JDK ${{ matrix.jdk }} | |
| run: ./gradlew build -PsourceCompatibility=${{ matrix.jdk }} -PtargetCompatibility=${{ matrix.jdk }} ${{ env.GRADLE_BUILD_OPTIONS }} | |
| - uses: actions/upload-artifact@v5 | |
| with: | |
| name: binary-artifacts-${{ matrix.jdk }} | |
| path: ./**/build/libs/*.* | |
| ########################################################################## | |
| build-graalvm: | |
| runs-on: ubuntu-latest | |
| needs: [initialize] | |
| continue-on-error: false | |
| name: "Build Native" | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - uses: graalvm/setup-graalvm@v1 | |
| with: | |
| distribution: 'graalvm' | |
| java-version: ${{ env.JDK_LATEST }} | |
| github-token: ${{ secrets.GITHUB_TOKEN }} | |
| cache: 'gradle' | |
| set-java-home: 'true' | |
| - name: GraalVM Versions | |
| run: | | |
| echo "GRAALVM_HOME: $GRAALVM_HOME" | |
| echo "JAVA_HOME: $JAVA_HOME" | |
| java --version | |
| native-image --version | |
| - name: Setup Gradle | |
| uses: gradle/actions/setup-gradle@v5 | |
| - name: Initialize | |
| run: find ./ci -type f -name "*.sh" -exec chmod +x "{}" \; && ./ci/init-build.sh | |
| - name: Build with Gradle | |
| timeout-minutes: 20 | |
| run: chmod +x ./ci/tests/native/build.sh && ./ci/tests/native/build.sh |