diff --git a/.github/workflows/build-quarkus.yml b/.github/workflows/build-quarkus.yml new file mode 100644 index 0000000..6d36a3e --- /dev/null +++ b/.github/workflows/build-quarkus.yml @@ -0,0 +1,28 @@ +name: Build Quarkus Image +on: + pull_request: + push: + branches: + - main +env: + IMAGE_NAME: jlink-quarkus-test-image + TAGS: v1 ${{ github.sha }} +jobs: + build-image: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + with: + repository: ${{ inputs.checkout-repo }} + ref: ${{ inputs.checkout-ref }} + submodules: true + fetch-depth: 0 + - name: Setup and Build Quarkus + id: build_image_quarkus + uses: redhat-actions/s2i-build@v2 + with: + path_context: 'quarkus-quickstart/getting-started' + # This is ubi9/openjdk-17 built from jdk-dev branch (+jmods) + builder_image: 'quay.io/jdowland/ubi9-openjdk-17:jdk-dev' + image: ${{ env.IMAGE_NAME }} + tags: ${{ env.TAGS }} diff --git a/.github/workflows/push-quarkus-to-quay.yml b/.github/workflows/push-quarkus-to-quay.yml index eb93d4a..f174fd3 100644 --- a/.github/workflows/push-quarkus-to-quay.yml +++ b/.github/workflows/push-quarkus-to-quay.yml @@ -1,48 +1,17 @@ name: Build and Push Quarkus Image to Quay - on: push: branches: - main env: - S2I_URI: https://github.com/openshift/source-to-image/releases/download/v1.3.1/source-to-image-v1.3.1-a5a77147-linux-amd64.tar.gz - IMAGE_NAME: jlink-quarkus-test-image - TAGS: v1 ${{ github.sha }} - + LANG: en_US.UTF-8 + IMAGE: ubi9-openjdk-17 jobs: - build-image: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - with: - repository: ${{ inputs.checkout-repo }} - ref: ${{ inputs.checkout-ref }} - submodules: true - fetch-depth: 0 - - uses: actions/setup-java@v2 - with: - java-version: '11' - distribution: 'adopt' - - run: git submodule init - - run: git submodule update --remote - - name: install s2i binary - run: | - echo ===== Installing s2i from ${{ env.S2I_URL }} ===== - mkdir /tmp/s2i/ && cd /tmp/s2i/ - wget ${{ env.S2I_URI }} - tar xvf source-to-image*.gz - sudo mv s2i /usr/bin - which s2i - s2i version - - name: Setup and Build Quarkus - id: build_image_quarkus - uses: redhat-actions/s2i-build@v2 - with: - path_context: 'quarkus-quickstart/getting-started' - # TODO: Need Jmods image - builder_image: 'registry.access.redhat.com/openjdk/openjdk-11-rhel7' - image: ${{ env.IMAGE_NAME }} - tags: ${{ env.TAGS }} + call-build: + uses: ./.github/workflows/build-quarkus.yml + with: + image: ubi9-openjdk-17 + push-image: - name: Push To Quay Action uses: redhat-actions/push-to-registry@v2 with: diff --git a/quarkus-quickstart/getting-started/.s2i/bin/assemble b/quarkus-quickstart/getting-started/.s2i/bin/assemble index 5f0eae7..36983aa 100644 --- a/quarkus-quickstart/getting-started/.s2i/bin/assemble +++ b/quarkus-quickstart/getting-started/.s2i/bin/assemble @@ -21,7 +21,6 @@ maven_s2i_build shopt -s globstar jarfile="$project/deployments/quarkus-run.jar" libdir="$project/deployments/lib" -JAVA_HOME="/lib/jvm/java-11-openjdk" test -f "$jarfile" test -d "$libdir" @@ -30,7 +29,7 @@ test -d "$libdir" mkdir dependencies cp $libdir/**/*.jar dependencies # Calculate dependencies -$JAVA_HOME/bin/jdeps --module-path dependencies --ignore-missing-deps --multi-release 11 -R -s \ +$JAVA_HOME/bin/jdeps --module-path dependencies --ignore-missing-deps --multi-release 17 -R -s \ "$jarfile" \ "$libdir"/**/*.jar \ > deps.txt @@ -60,7 +59,7 @@ $JAVA_HOME/bin/jlink --output quarkus-jre \ rm *.txt echo "Repacking jre" -INSTALL_BASE="/lib/jvm/java-11-openjdk" +INSTALL_BASE="$JAVA_HOME" JDK_IMAGE="quarkus-jre" echo -n "Replacing shared libraries from JDK image '$JDK_IMAGE' with shared libraries from '$INSTALL_BASE'... "