From bd112c4fab8c6b6a8181d4629009b6cb408727a1 Mon Sep 17 00:00:00 2001 From: Aleksey Shipilev Date: Wed, 26 Feb 2025 15:00:47 +0000 Subject: [PATCH] 8350443: GHA: Split static-libs-bundles into a separate job Reviewed-by: ihse, yzheng --- .github/actions/upload-bundles/action.yml | 5 ++++- .github/workflows/build-linux.yml | 20 ++++++++------------ .github/workflows/main.yml | 19 +++++++++++++++++++ 3 files changed, 31 insertions(+), 13 deletions(-) diff --git a/.github/actions/upload-bundles/action.yml b/.github/actions/upload-bundles/action.yml index 4e974ae58ba..30f4ac03c1e 100644 --- a/.github/actions/upload-bundles/action.yml +++ b/.github/actions/upload-bundles/action.yml @@ -32,6 +32,9 @@ inputs: debug-suffix: description: 'File name suffix denoting debug level, possibly empty' required: false + bundle-suffix: + description: 'Bundle name suffix, possibly empty' + required: false runs: using: composite @@ -75,7 +78,7 @@ runs: - name: 'Upload bundles artifact' uses: actions/upload-artifact@v4 with: - name: bundles-${{ inputs.platform }}${{ inputs.debug-suffix }} + name: bundles-${{ inputs.platform }}${{ inputs.debug-suffix }}${{ inputs.bundle-suffix }} path: bundles retention-days: 1 if: steps.bundles.outputs.bundles-found == 'true' diff --git a/.github/workflows/build-linux.yml b/.github/workflows/build-linux.yml index b1d4278f8b4..101668b2bd5 100644 --- a/.github/workflows/build-linux.yml +++ b/.github/workflows/build-linux.yml @@ -61,6 +61,9 @@ on: make-arguments: required: false type: string + bundle-suffix: + required: false + type: string jobs: build-linux: @@ -71,10 +74,6 @@ jobs: fail-fast: false matrix: debug-level: ${{ fromJSON(inputs.debug-levels) }} - include: - - debug-level: debug - flags: --with-debug-level=fastdebug - suffix: -debug steps: - name: 'Checkout the JDK source' @@ -118,7 +117,7 @@ jobs: run: > bash configure --with-conf-name=${{ inputs.platform }} - ${{ matrix.flags }} + ${{ matrix.debug-level == 'debug' && '--with-debug-level=fastdebug' || '' }} --with-version-opt=${GITHUB_ACTOR}-${GITHUB_SHA} --with-boot-jdk=${{ steps.bootjdk.outputs.path }} --with-jtreg=${{ steps.jtreg.outputs.path }} @@ -133,17 +132,14 @@ jobs: - name: 'Build' id: build uses: ./.github/actions/do-build - env: - # Only build static-libs-bundles for release builds. - # For debug builds, building static-libs often exceeds disk space. - STATIC_LIBS: ${{ matrix.debug-level == 'release' && 'static-libs-bundles' }} with: - make-target: '${{ inputs.make-target }} ${STATIC_LIBS} ${{ inputs.make-arguments }}' + make-target: '${{ inputs.make-target }} ${{ inputs.make-arguments }}' platform: ${{ inputs.platform }} - debug-suffix: '${{ matrix.suffix }}' + debug-suffix: "${{ matrix.debug-level == 'debug' && '-debug' || '' }}" - name: 'Upload bundles' uses: ./.github/actions/upload-bundles with: platform: ${{ inputs.platform }} - debug-suffix: '${{ matrix.suffix }}' + debug-suffix: "${{ matrix.debug-level == 'debug' && '-debug' || '' }}" + bundle-suffix: ${{ inputs.bundle-suffix }} diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 3ea07501477..2339bb390b9 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -225,6 +225,25 @@ jobs: make-arguments: ${{ github.event.inputs.make-arguments }} if: needs.prepare.outputs.linux-x64-variants == 'true' + build-linux-x64-static-libs: + name: linux-x64-static-libs + needs: prepare + uses: ./.github/workflows/build-linux.yml + with: + platform: linux-x64 + make-target: 'static-libs-bundles' + # Only build static-libs-bundles for release builds. + # For debug builds, building static-libs often exceeds disk space. + debug-levels: '[ "release" ]' + gcc-major-version: '10' + configure-arguments: ${{ github.event.inputs.configure-arguments }} + make-arguments: ${{ github.event.inputs.make-arguments }} + # Upload static libs bundles separately to avoid interference with normal linux-x64 bundle. + # This bundle is not used by testing jobs, but downstreams use it to check that + # dependent projects, e.g. libgraal, builds fine. + bundle-suffix: "-static-libs" + if: needs.prepare.outputs.linux-x64-variants == 'true' + build-linux-cross-compile: name: linux-cross-compile needs: prepare