10
10
platforms :
11
11
description : " Platform(s) to execute on"
12
12
required : true
13
- default : " Linux x64, Linux x86, Windows x64, Windows x86, macOS x64"
13
+ default : " Linux additional (hotspot only), Linux x64, Linux x86, Windows x64, Windows x86, macOS x64"
14
14
15
15
concurrency :
16
16
group : ${{ github.workflow }}-${{ github.ref }}
23
23
outputs :
24
24
should_run : ${{ steps.check_submit.outputs.should_run }}
25
25
bundle_id : ${{ steps.check_bundle_id.outputs.bundle_id }}
26
- platform_linux_additional : false
26
+ platform_linux_additional : ${{ steps.check_platforms.outputs.platform_linux_additional }}
27
27
platform_linux_x64 : ${{ steps.check_platforms.outputs.platform_linux_x64 }}
28
28
platform_linux_x86 : ${{ steps.check_platforms.outputs.platform_linux_x86 }}
29
29
platform_windows_x64 : ${{ steps.check_platforms.outputs.platform_windows_x64 }}
@@ -117,7 +117,7 @@ jobs:
117
117
name : Linux x64
118
118
runs-on : " ubuntu-20.04"
119
119
needs : prerequisites
120
- if : needs.prerequisites.outputs.should_run != 'false' && ( needs.prerequisites.outputs.platform_linux_x64 != 'false' || needs.prerequisites.outputs.platform_linux_additional == 'true')
120
+ if : needs.prerequisites.outputs.should_run != 'false' && needs.prerequisites.outputs.platform_linux_x64 != 'false'
121
121
122
122
strategy :
123
123
fail-fast : false
@@ -307,7 +307,6 @@ jobs:
307
307
runs-on : " ubuntu-20.04"
308
308
needs :
309
309
- prerequisites
310
- - linux_x64_build
311
310
if : needs.prerequisites.outputs.should_run != 'false' && needs.prerequisites.outputs.platform_linux_additional != 'false'
312
311
313
312
strategy :
@@ -316,8 +315,8 @@ jobs:
316
315
flavor :
317
316
- hs x64 build only
318
317
- hs x64 zero build only
319
- - hs x64 minimal build only
320
- - hs x64 optimized build only
318
+ - hs x86 minimal build only
319
+ - hs x86 client build only
321
320
- hs aarch64 build only
322
321
- hs arm build only
323
322
- hs s390x build only
@@ -327,21 +326,23 @@ jobs:
327
326
flags : --enable-debug --disable-precompiled-headers
328
327
- flavor : hs x64 zero build only
329
328
flags : --enable-debug --disable-precompiled-headers --with-jvm-variants=zero
330
- - flavor : hs x64 minimal build only
331
- flags : --enable-debug --disable-precompiled-headers --with-jvm-variants=minimal
332
- - flavor : hs x64 optimized build only
333
- flags : --with-debug-level=optimized --disable-precompiled-headers
329
+ - flavor : hs x86 minimal build only
330
+ flags : --enable-debug --disable-precompiled-headers --with-jvm-variants=minimal1 --with-target-bits=32
331
+ multilib : true
332
+ - flavor : hs x86 client build only
333
+ flags : --enable-debug --disable-precompiled-headers --with-jvm-variants=client --with-target-bits=32
334
+ multilib : true
334
335
- flavor : hs aarch64 build only
335
336
flags : --enable-debug --disable-precompiled-headers
336
337
debian-arch : arm64
337
338
gnu-arch : aarch64
338
339
- flavor : hs arm build only
339
- flags : --enable-debug --disable-precompiled-headers
340
+ flags : --enable-debug --disable-precompiled-headers --with-jvm-variants=zero
340
341
debian-arch : armhf
341
342
gnu-arch : arm
342
343
gnu-flavor : eabihf
343
344
- flavor : hs s390x build only
344
- flags : --enable-debug --disable-precompiled-headers
345
+ flags : --enable-debug --disable-precompiled-headers --with-jvm-variants=zero
345
346
debian-arch : s390x
346
347
gnu-arch : s390x
347
348
- flavor : hs ppc64le build only
@@ -359,31 +360,6 @@ jobs:
359
360
with :
360
361
path : jdk
361
362
362
- - name : Restore build JDK
363
- id : build_restore
364
- uses : actions/download-artifact@v3
365
- with :
366
- name : transient_jdk-linux-x64_${{ needs.prerequisites.outputs.bundle_id }}
367
- path : ~/jdk-linux-x64
368
- continue-on-error : true
369
-
370
- - name : Restore build JDK (retry)
371
- uses : actions/download-artifact@v3
372
- with :
373
- name : transient_jdk-linux-x64_${{ needs.prerequisites.outputs.bundle_id }}
374
- path : ~/jdk-linux-x64
375
- if : steps.build_restore.outcome == 'failure'
376
-
377
- - name : Unpack build JDK
378
- run : |
379
- mkdir -p "${HOME}/jdk-linux-x64/jdk-${{ env.JDK_VERSION }}-internal+0_linux-x64_bin"
380
- tar -xf "${HOME}/jdk-linux-x64/jdk-${{ env.JDK_VERSION }}-internal+0_linux-x64_bin.tar.gz" -C "${HOME}/jdk-linux-x64/jdk-${{ env.JDK_VERSION }}-internal+0_linux-x64_bin"
381
-
382
- - name : Find root of build JDK image dir
383
- run : |
384
- build_jdk_root=`find ${HOME}/jdk-linux-x64/jdk-${{ env.JDK_VERSION }}-internal+0_linux-x64_bin -name release -type f`
385
- echo "build_jdk_root=`dirname ${build_jdk_root}`" >> $GITHUB_ENV
386
-
387
363
- name : Update apt
388
364
run : sudo apt-get update
389
365
@@ -393,8 +369,17 @@ jobs:
393
369
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 100 --slave /usr/bin/g++ g++ /usr/bin/g++-9
394
370
if : matrix.debian-arch == ''
395
371
372
+ - name : Install multilib dependencies
373
+ run : |
374
+ sudo dpkg --add-architecture i386
375
+ sudo apt-get update
376
+ sudo apt-get install --only-upgrade apt
377
+ sudo apt-get install openjdk-8-jdk gcc-9-multilib g++-9-multilib libfreetype6-dev:i386 libxrandr-dev:i386 libxtst-dev:i386 libtiff-dev:i386 libcupsimage2-dev:i386 libcups2-dev:i386 libasound2-dev:i386
378
+ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 100 --slave /usr/bin/g++ g++ /usr/bin/g++-9
379
+ if : matrix.multilib != ''
380
+
396
381
- name : Install cross-compilation host dependencies
397
- run : sudo apt-get install gcc-9-${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-flavor}} g++-9-${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-flavor}}
382
+ run : sudo apt-get install openjdk-8-jdk gcc-9-${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-flavor}} g++-9-${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-flavor}}
398
383
if : matrix.debian-arch != ''
399
384
400
385
- name : Cache sysroot
@@ -414,7 +399,7 @@ jobs:
414
399
sudo qemu-debootstrap
415
400
--arch=${{ matrix.debian-arch }}
416
401
--verbose
417
- --include=fakeroot,symlinks,build-essential,libx11-dev,libxext-dev,libxrender-dev,libxrandr-dev,libxtst-dev,libxt-dev,libcups2-dev,libfontconfig1-dev,libasound2-dev,libfreetype6-dev,libpng-dev
402
+ --include=fakeroot,symlinks,build-essential,libx11-dev,libxext-dev,libxrender-dev,libxrandr-dev,libxtst-dev,libxt-dev,libcups2-dev,libfontconfig1-dev,libasound2-dev,libfreetype6-dev,libpng-dev,libffi-dev
418
403
--resolve-deps
419
404
buster
420
405
~/sysroot-${{ matrix.debian-arch }}
@@ -439,19 +424,30 @@ jobs:
439
424
echo "cross_flags=
440
425
--openjdk-target=${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-flavor}}
441
426
--with-sysroot=${HOME}/sysroot-${{ matrix.debian-arch }}/
427
+ --with-cups=${HOME}/sysroot-${{ matrix.debian-arch }}/usr
428
+ --with-freetype-lib=${HOME}/sysroot-${{ matrix.debian-arch }}/usr/lib/${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-flavor}}
429
+ --with-freetype-include=${HOME}/sysroot-${{ matrix.debian-arch }}/usr/include/freetype2
430
+ --with-alsa=${HOME}/sysroot-${{ matrix.debian-arch }}/usr
431
+ --with-fontconfig=${HOME}/sysroot-${{ matrix.debian-arch }}/usr
432
+ " >> $GITHUB_ENV
433
+ && echo "cross_conf_env=
434
+ CFLAGS=--sysroot=${HOME}/sysroot-${{ matrix.debian-arch }}
435
+ CXXFLAGS=--sysroot=${HOME}/sysroot-${{ matrix.debian-arch }}
436
+ LDFLAGS=--sysroot=${HOME}/sysroot-${{ matrix.debian-arch }}
442
437
" >> $GITHUB_ENV
443
438
if : matrix.debian-arch != ''
444
439
445
440
- name : Configure
446
441
run : >
442
+ ${{ env.cross_conf_env }}
447
443
bash configure
448
444
--with-conf-name=linux-${{ matrix.gnu-arch }}-hotspot
449
445
${{ matrix.flags }}
450
446
${{ env.cross_flags }}
451
447
--with-user-release-suffix=${GITHUB_ACTOR}-${GITHUB_SHA}
452
448
--with-build-number=b00
453
449
--with-boot-jdk=${BOOT_JDK}
454
- --with-build-jdk=${{ env.build_jdk_root }}
450
+ --disable-headful
455
451
--with-zlib=bundled
456
452
working-directory : jdk
457
453
@@ -1565,6 +1561,7 @@ jobs:
1565
1561
continue-on-error : true
1566
1562
needs :
1567
1563
- prerequisites
1564
+ - linux_additional_build
1568
1565
- linux_x64_test
1569
1566
- linux_x86_test
1570
1567
- windows_x64_test
0 commit comments