|
18 | 18 | outputs:
|
19 | 19 | should_run: ${{ steps.check_submit.outputs.should_run }}
|
20 | 20 | bundle_id: ${{ steps.check_bundle_id.outputs.bundle_id }}
|
| 21 | + platform_linux_x32: ${{ steps.check_platforms.outputs.platform_linux_x32 }} |
21 | 22 | platform_linux_x64: ${{ steps.check_platforms.outputs.platform_linux_x64 }}
|
22 | 23 | platform_windows_x64: ${{ steps.check_platforms.outputs.platform_windows_x64 }}
|
23 | 24 | platform_macos_x64: ${{ steps.check_platforms.outputs.platform_macos_x64 }}
|
|
32 | 33 | id: check_platforms
|
33 | 34 | run: |
|
34 | 35 | echo "::set-output name=platform_linux_x64::${{ contains(github.event.inputs.platforms, 'linux x64') || (github.event.inputs.platforms == '' && (secrets.JDK_SUBMIT_PLATFORMS == '' || contains(secrets.JDK_SUBMIT_PLATFORMS, 'linux x64'))) }}"
|
| 36 | + echo "::set-output name=platform_linux_x32::${{ contains(github.event.inputs.platforms, 'linux x32') || (github.event.inputs.platforms == '' && (secrets.JDK_SUBMIT_PLATFORMS == '' || contains(secrets.JDK_SUBMIT_PLATFORMS, 'linux x32'))) }}" |
35 | 37 | echo "::set-output name=platform_windows_x64::${{ contains(github.event.inputs.platforms, 'windows x64') || (github.event.inputs.platforms == '' && (secrets.JDK_SUBMIT_PLATFORMS == '' || contains(secrets.JDK_SUBMIT_PLATFORMS, 'windows x64'))) }}"
|
36 | 38 | echo "::set-output name=platform_macos_x64::${{ contains(github.event.inputs.platforms, 'macos x64') || (github.event.inputs.platforms == '' && (secrets.JDK_SUBMIT_PLATFORMS == '' || contains(secrets.JDK_SUBMIT_PLATFORMS, 'macos x64'))) }}"
|
37 | 39 | if: steps.check_submit.outputs.should_run != 'false'
|
@@ -356,6 +358,103 @@ jobs:
|
356 | 358 | path: build/*/test-results
|
357 | 359 | continue-on-error: true
|
358 | 360 |
|
| 361 | + linux_x32_build: |
| 362 | + name: Linux x32 |
| 363 | + runs-on: "ubuntu-latest" |
| 364 | + needs: prerequisites |
| 365 | + if: needs.prerequisites.outputs.should_run != 'false' && needs.prerequisites.outputs.platform_linux_x32 != 'false' |
| 366 | + |
| 367 | + strategy: |
| 368 | + fail-fast: false |
| 369 | + matrix: |
| 370 | + flavor: |
| 371 | + - build debug |
| 372 | + include: |
| 373 | + - flavor: build debug |
| 374 | + flags: --enable-debug |
| 375 | + artifact: -debug |
| 376 | + |
| 377 | + # Reduced 32-bit build uses the same boot JDK as 64-bit build |
| 378 | + env: |
| 379 | + JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).DEFAULT_VERSION_FEATURE }}" |
| 380 | + BOOT_JDK_VERSION: "${{ fromJson(needs.prerequisites.outputs.dependencies).BOOT_JDK_VERSION }}" |
| 381 | + BOOT_JDK_FILENAME: "${{ fromJson(needs.prerequisites.outputs.dependencies).LINUX_X64_BOOT_JDK_FILENAME }}" |
| 382 | + BOOT_JDK_URL: "${{ fromJson(needs.prerequisites.outputs.dependencies).LINUX_X64_BOOT_JDK_URL }}" |
| 383 | + BOOT_JDK_SHA256: "${{ fromJson(needs.prerequisites.outputs.dependencies).LINUX_X64_BOOT_JDK_SHA256 }}" |
| 384 | + |
| 385 | + steps: |
| 386 | + - name: Checkout the source |
| 387 | + uses: actions/checkout@v2 |
| 388 | + with: |
| 389 | + path: jdk |
| 390 | + |
| 391 | + - name: Restore boot JDK from cache |
| 392 | + id: bootjdk |
| 393 | + uses: actions/cache@v2 |
| 394 | + with: |
| 395 | + path: ~/bootjdk/${{ env.BOOT_JDK_VERSION }} |
| 396 | + key: bootjdk-${{ runner.os }}-${{ env.BOOT_JDK_VERSION }}-${{ env.BOOT_JDK_SHA256 }}-v1 |
| 397 | + |
| 398 | + - name: Download boot JDK |
| 399 | + run: | |
| 400 | + mkdir -p "${HOME}/bootjdk/${BOOT_JDK_VERSION}" |
| 401 | + wget -O "${HOME}/bootjdk/${BOOT_JDK_FILENAME}" "${BOOT_JDK_URL}" |
| 402 | + echo "${BOOT_JDK_SHA256} ${HOME}/bootjdk/${BOOT_JDK_FILENAME}" | sha256sum -c >/dev/null - |
| 403 | + tar -xf "${HOME}/bootjdk/${BOOT_JDK_FILENAME}" -C "${HOME}/bootjdk/${BOOT_JDK_VERSION}" |
| 404 | + mv "${HOME}/bootjdk/${BOOT_JDK_VERSION}/"*/* "${HOME}/bootjdk/${BOOT_JDK_VERSION}/" |
| 405 | + if: steps.bootjdk.outputs.cache-hit != 'true' |
| 406 | + |
| 407 | + - name: Restore jtreg artifact |
| 408 | + id: jtreg_restore |
| 409 | + uses: actions/download-artifact@v2 |
| 410 | + with: |
| 411 | + name: transient_jtreg_${{ needs.prerequisites.outputs.bundle_id }} |
| 412 | + path: ~/jtreg/ |
| 413 | + continue-on-error: true |
| 414 | + |
| 415 | + - name: Restore jtreg artifact (retry) |
| 416 | + uses: actions/download-artifact@v2 |
| 417 | + with: |
| 418 | + name: transient_jtreg_${{ needs.prerequisites.outputs.bundle_id }} |
| 419 | + path: ~/jtreg/ |
| 420 | + if: steps.jtreg_restore.outcome == 'failure' |
| 421 | + |
| 422 | + - name: Checkout gtest sources |
| 423 | + uses: actions/checkout@v2 |
| 424 | + with: |
| 425 | + repository: "google/googletest" |
| 426 | + ref: "release-${{ fromJson(needs.prerequisites.outputs.dependencies).GTEST_VERSION }}" |
| 427 | + path: gtest |
| 428 | + |
| 429 | + # Roll in the multilib environment and its dependencies. |
| 430 | + # Some multilib libraries do not have proper inter-dependencies, so we have to |
| 431 | + # install their dependencies manually. |
| 432 | + - name: Install dependencies |
| 433 | + run: | |
| 434 | + sudo dpkg --add-architecture i386 |
| 435 | + sudo apt-get update |
| 436 | + sudo apt-get install gcc-multilib g++-multilib libfreetype6-dev:i386 libxrandr-dev:i386 libxtst-dev:i386 libtiff-dev:i386 libcupsimage2-dev:i386 libcups2-dev:i386 libasound2-dev:i386 |
| 437 | +
|
| 438 | + - name: Configure |
| 439 | + run: > |
| 440 | + bash configure |
| 441 | + --with-conf-name=linux-x32 |
| 442 | + --with-target-bits=32 |
| 443 | + ${{ matrix.flags }} |
| 444 | + --with-version-opt=${GITHUB_ACTOR}-${GITHUB_SHA} |
| 445 | + --with-version-build=0 |
| 446 | + --with-boot-jdk=${HOME}/bootjdk/${BOOT_JDK_VERSION} |
| 447 | + --with-jtreg=${HOME}/jtreg |
| 448 | + --with-gtest=${GITHUB_WORKSPACE}/gtest |
| 449 | + --with-default-make-target="product-bundles test-bundles" |
| 450 | + --with-zlib=system |
| 451 | + --enable-jtreg-failure-handler |
| 452 | + working-directory: jdk |
| 453 | + |
| 454 | + - name: Build |
| 455 | + run: make CONF_NAME=linux-x32 ${{ matrix.build-target }} |
| 456 | + working-directory: jdk |
| 457 | + |
359 | 458 | windows_x64_build:
|
360 | 459 | name: Windows x64
|
361 | 460 | runs-on: "windows-latest"
|
|
0 commit comments