# # Copyright (c) 2024, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License version 2 only, as # published by the Free Software Foundation. Oracle designates this # particular file as subject to the "Classpath" exception as provided # by Oracle in the LICENSE file that accompanied this code. # # This code is distributed in the hope that it will be useful, but WITHOUT # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License # version 2 for more details (a copy is included in the LICENSE file that # accompanied this code). # # You should have received a copy of the GNU General Public License version # 2 along with this work; if not, write to the Free Software Foundation, # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. # # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA # or visit www.oracle.com if you need additional information or have any # questions. # name: 'Build (alpine-linux)' on: workflow_call: inputs: platform: required: true type: string extra-conf-options: required: false type: string make-target: required: false type: string default: 'product-bundles test-bundles' debug-levels: required: false type: string default: '[ "debug", "release" ]' apk-extra-packages: required: false type: string configure-arguments: required: false type: string make-arguments: required: false type: string jobs: build-linux: name: build runs-on: ubuntu-22.04 container: image: alpine:3.20 strategy: 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' uses: actions/checkout@v4 - name: 'Install toolchain and dependencies' run: | apk update apk add alpine-sdk alsa-lib-dev autoconf bash cups-dev cups-libs fontconfig-dev freetype-dev grep libx11-dev libxext-dev libxrandr-dev libxrender-dev libxt-dev libxtst-dev linux-headers wget zip ${{ inputs.apk-extra-packages }} - name: 'Get the BootJDK' id: bootjdk uses: ./.github/actions/get-bootjdk with: platform: alpine-linux-x64 - name: 'Configure' run: > bash configure --with-conf-name=${{ inputs.platform }} ${{ matrix.flags }} --with-version-opt=${GITHUB_ACTOR}-${GITHUB_SHA} --with-boot-jdk=${{ steps.bootjdk.outputs.path }} --with-zlib=system --with-jmod-compress=zip-1 ${{ inputs.extra-conf-options }} ${{ inputs.configure-arguments }} || ( echo "Dumping config.log:" && cat config.log && exit 1) - name: 'Build' id: build uses: ./.github/actions/do-build with: make-target: '${{ inputs.make-target }} ${{ inputs.make-arguments }}' platform: ${{ inputs.platform }} debug-suffix: '${{ matrix.suffix }}' - name: 'Upload bundles' uses: ./.github/actions/upload-bundles with: platform: ${{ inputs.platform }} debug-suffix: '${{ matrix.suffix }}'