diff --git a/.github/workflows/project_ci.yml b/.github/workflows/project_ci.yml index 0ae18a3f1a..e1219b5b26 100644 --- a/.github/workflows/project_ci.yml +++ b/.github/workflows/project_ci.yml @@ -41,46 +41,46 @@ jobs: # Use the shared-wildfly-build workflow to have a consistent WildFly build. Note the branch names MUST match what # is used in WildFly. -# WildFly-build: -# uses: wildfly/wildfly/.github/workflows/shared-wildfly-build.yml@main -# with: -# wildfly-branch: ${{ github.base_ref }} -# wildfly-repo: "wildfly/wildfly" -# -# Test-build-with-deps-matrix: -# name: BUILD WITH DEPS - JDK${{ matrix.jdk }} - ${{ matrix.os }} -# runs-on: ${{ matrix.os }} -# needs: WildFly-build -# if: -# strategy: -# fail-fast: false -# matrix: -# jdk: [11, 17] -# os: [ubuntu-20.04, windows-latest] -# steps: -# - uses: actions/checkout@v4 -# with: -# path: quickstarts -# - uses: actions/download-artifact@v4 -# with: -# name: wildfly-maven-repository -# path: . -# - name: Extract Maven Repo -# shell: bash -# run: tar -xzf wildfly-maven-repository.tar.gz -C ~ -# - name: Set up JDK ${{ matrix.jdk }} -# uses: actions/setup-java@v4 -# with: -# java-version: ${{ matrix.jdk }} -# distribution: 'temurin' -# cache: 'maven' -# - name: Build Quickstarts Release with Server and BOMs Versions -# run: | -# cd quickstarts -# mvn -U -B -fae clean install -Drelease -Dversion.server.bom=${{ needs.wildfly-build.outputs.wildfly-version }} -Dversion.microprofile.bom=${{ needs.wildfly-build.outputs.wildfly-version }} -Dversion.server.bootable-jar=${{ needs.wildfly-build.outputs.wildfly-version }} -Dversion.server=${{ needs.wildfly-build.outputs.wildfly-version }} -# shell: bash -# - uses: actions/upload-artifact@v4 -# if: failure() -# with: -# name: surefire-reports-JDK${{ matrix.jdk }}-${{ matrix.os }} -# path: 'quickstarts/**/surefire-reports/*.txt' + WildFly-build: + uses: wildfly/wildfly/.github/workflows/shared-wildfly-build.yml@main + with: + wildfly-branch: ${{ github.base_ref }} + wildfly-repo: "wildfly/wildfly" + + Test-build-with-deps-matrix: + name: BUILD WITH DEPS - JDK${{ matrix.jdk }} - ${{ matrix.os }} + runs-on: ${{ matrix.os }} + needs: WildFly-build + if: + strategy: + fail-fast: false + matrix: + jdk: [11, 17] + os: [ubuntu-20.04, windows-latest] + steps: + - uses: actions/checkout@v4 + with: + path: quickstarts + - uses: actions/download-artifact@v4 + with: + name: wildfly-maven-repository + path: . + - name: Extract Maven Repo + shell: bash + run: tar -xzf wildfly-maven-repository.tar.gz -C ~ + - name: Set up JDK ${{ matrix.jdk }} + uses: actions/setup-java@v4 + with: + java-version: ${{ matrix.jdk }} + distribution: 'temurin' + cache: 'maven' + - name: Build Quickstarts Release with Server and BOMs Versions + run: | + cd quickstarts + mvn -U -B -fae clean install -Drelease -Dversion.server.bom=${{ needs.wildfly-build.outputs.wildfly-version }} -Dversion.microprofile.bom=${{ needs.wildfly-build.outputs.wildfly-version }} -Dversion.server=${{ needs.wildfly-build.outputs.wildfly-version }} + shell: bash + - uses: actions/upload-artifact@v4 + if: failure() + with: + name: surefire-reports-JDK${{ matrix.jdk }}-${{ matrix.os }} + path: 'quickstarts/**/surefire-reports/*.txt' diff --git a/.github/workflows/quickstart_ci.yml b/.github/workflows/quickstart_ci.yml index 1b91eb6032..b568e20352 100644 --- a/.github/workflows/quickstart_ci.yml +++ b/.github/workflows/quickstart_ci.yml @@ -53,6 +53,9 @@ concurrency: group: '${{ github.workflow }} @ ${{ github.ref || github.run_id }}' cancel-in-progress: true +env: + WILDFLY_SNAPSHOT_EXTRA_PACKAGE_ARGUMENTS: '-Dwildfly-glow-galleon-feature-packs-url=https://raw.githubusercontent.com/wildfly/wildfly-galleon-feature-packs/main/' + jobs: Matrix-Setup: runs-on: ubuntu-latest @@ -128,7 +131,7 @@ jobs: echo "Building bootable jar..." mvn -fae clean package -Pbootable-jar echo "Starting bootable jar..." - mvn -f ${{ inputs.DEPLOYMENT_DIR }}/pom.xml wildfly:start-jar -Dbootable-jar-name=${{ inputs.QUICKSTART_PATH }}-bootable.jar -Dstartup-timeout=120 ${{ inputs.EXTRA_RUN_ARGS }} + mvn -f ${{ inputs.DEPLOYMENT_DIR }}/pom.xml wildfly:start-jar -Dstartup-timeout=120 ${{ inputs.EXTRA_RUN_ARGS }} echo "Testing bootable jar..." mvn -fae verify -Dserver.host=${{ inputs.SERVER_PROVISIONING_SERVER_HOST }} -Pintegration-testing echo "Shutting down bootable jar..." @@ -159,108 +162,108 @@ jobs: # Use the shared-wildfly-build workflow to have a consistent WildFly build. Note the branch names MUST match what # is used in WildFly. -# WildFly-build: -# uses: wildfly/wildfly/.github/workflows/shared-wildfly-build.yml@main -# with: -# wildfly-branch: ${{ github.base_ref }} -# wildfly-repo: "wildfly/wildfly" -# -# Test-build-with-deps-matrix: -# name: BUILD WITH DEPS - JDK${{ matrix.jdk }} - ${{ matrix.os }} -# runs-on: ${{ matrix.os }} -# needs: [Matrix-Setup, WildFly-build] -# strategy: -# fail-fast: false -# matrix: -# jdk: ${{ fromJSON(needs.Matrix-Setup.outputs.jdk) }} -# os: ${{ fromJSON(needs.Matrix-Setup.outputs.os) }} -# steps: -# - uses: actions/checkout@v4 -# with: -# path: quickstarts -# - uses: actions/download-artifact@v4 -# with: -# name: wildfly-maven-repository -# path: . -# - name: Extract Maven Repo -# shell: bash -# run: tar -xzf wildfly-maven-repository.tar.gz -C ~ -# - name: Set up JDK ${{ matrix.jdk }} -# uses: actions/setup-java@v4 -# with: -# java-version: ${{ matrix.jdk }} -# distribution: 'temurin' -# cache: 'maven' -# - name: Run before script -# env: -# FILE: "./quickstarts/.github/workflows/quickstart_${{ inputs.QUICKSTART_PATH }}_ci_before.sh" -# run: | -# if test -f $FILE; -# then -# chmod +x $FILE -# bash $FILE -# fi -# shell: bash -# - name: Build Quickstart for Release with built Server version -# run: | -# cd quickstarts -# cd ${{ inputs.QUICKSTART_PATH }} -# mvn -fae clean package -Drelease -Dversion.server=${{ needs.wildfly-build.outputs.wildfly-version }} -# shell: bash -# - name: Build, run & test ${{ inputs.QUICKSTART_PATH }} Quickstart with provisioned-server profile, and built Server version -# if: ${{ inputs.TEST_PROVISIONED_SERVER }} -# run: | -# cd quickstarts -# cd ${{ inputs.QUICKSTART_PATH }} -# echo "Building provisioned server..." -# mvn -fae clean package -Pprovisioned-server -Dversion.server=${{ needs.wildfly-build.outputs.wildfly-version }} -# if [ -f ${{ inputs.DEPLOYMENT_DIR }}/target/server/bin/add-user.sh ]; then -# echo "Add quickstartUser..." -# ${{ inputs.DEPLOYMENT_DIR }}/target/server/bin/add-user.sh -a -u 'quickstartUser' -p 'quickstartPwd1!' -g 'guest,user,JBossAdmin,Users' -# echo "Add quickstartAdmin..." -# ${{ inputs.DEPLOYMENT_DIR }}/target/server/bin/add-user.sh -a -u 'quickstartAdmin' -p 'adminPwd1!' -g 'guest,user,admin' -# fi -# echo "Starting provisioned server..." -# mvn -f ${{ inputs.DEPLOYMENT_DIR }}/pom.xml wildfly:start -DjbossHome=${{ inputs.DEPLOYMENT_DIR }}/target/server -Dstartup-timeout=120 ${{ inputs.EXTRA_RUN_ARGS }} -# echo "Testing provisioned server..." -# mvn -fae verify -Dserver.host=${{ inputs.SERVER_PROVISIONING_SERVER_HOST }} -Pintegration-testing -# echo "Shutting down provisioned server..." -# mvn -f ${{ inputs.DEPLOYMENT_DIR }}/pom.xml wildfly:shutdown -# shell: bash -# - name: Build, run & test ${{ inputs.QUICKSTART_PATH }} Quickstart with bootable-jar profile, and built Server version -# if: ${{ inputs.TEST_BOOTABLE_JAR }} -# run: | -# cd quickstarts -# cd ${{ inputs.QUICKSTART_PATH }} -# echo "Building bootable jar..." -# mvn -fae clean package -Pbootable-jar -Dversion.server=${{ needs.wildfly-build.outputs.wildfly-version }} -# echo "Starting bootable jar..." -# mvn -f ${{ inputs.DEPLOYMENT_DIR }}/pom.xml wildfly:start-jar -Dbootable-jar-name=${{ inputs.QUICKSTART_PATH }}-bootable.jar -Dstartup-timeout=120 ${{ inputs.EXTRA_RUN_ARGS }} -# echo "Testing bootable jar..." -# mvn -fae verify -Dserver.host=${{ inputs.SERVER_PROVISIONING_SERVER_HOST }} -Pintegration-testing -# echo "Shutting down bootable jar..." -# mvn -f ${{ inputs.DEPLOYMENT_DIR }}/pom.xml wildfly:shutdown -# shell: bash -# - name: Build ${{ inputs.QUICKSTART_PATH }} Quickstart with openshift profile, and built Server version -# if: ${{ inputs.TEST_OPENSHIFT }} -# run: | -# cd quickstarts -# cd ${{ inputs.QUICKSTART_PATH }} -# mvn -fae clean package -Popenshift -Dversion.server=${{ needs.wildfly-build.outputs.wildfly-version }} -# shell: bash -# - name: Run after script -# env: -# FILE: "./quickstarts/.github/workflows/quickstart_${{ inputs.QUICKSTART_PATH }}_ci_after.sh" -# run: | -# if test -f $FILE; -# then -# chmod +x $FILE -# bash $FILE -# fi -# shell: bash -# - uses: actions/upload-artifact@v4 -# if: failure() -# with: -# name: surefire-reports-JDK${{ matrix.jdk }}-${{ matrix.os }} -# path: 'quickstarts/**/surefire-reports/*.txt' + WildFly-build: + uses: wildfly/wildfly/.github/workflows/shared-wildfly-build.yml@main + with: + wildfly-branch: ${{ github.base_ref }} + wildfly-repo: "wildfly/wildfly" + + Test-build-with-deps-matrix: + name: BUILD WITH DEPS - JDK${{ matrix.jdk }} - ${{ matrix.os }} + runs-on: ${{ matrix.os }} + needs: [Matrix-Setup, WildFly-build] + strategy: + fail-fast: false + matrix: + jdk: ${{ fromJSON(needs.Matrix-Setup.outputs.jdk) }} + os: ${{ fromJSON(needs.Matrix-Setup.outputs.os) }} + steps: + - uses: actions/checkout@v4 + with: + path: quickstarts + - uses: actions/download-artifact@v4 + with: + name: wildfly-maven-repository + path: . + - name: Extract Maven Repo + shell: bash + run: tar -xzf wildfly-maven-repository.tar.gz -C ~ + - name: Set up JDK ${{ matrix.jdk }} + uses: actions/setup-java@v4 + with: + java-version: ${{ matrix.jdk }} + distribution: 'temurin' + cache: 'maven' + - name: Run before script + env: + FILE: "./quickstarts/.github/workflows/quickstart_${{ inputs.QUICKSTART_PATH }}_ci_before.sh" + run: | + if test -f $FILE; + then + chmod +x $FILE + bash $FILE + fi + shell: bash + - name: Build Quickstart for Release with built Server version + run: | + cd quickstarts + cd ${{ inputs.QUICKSTART_PATH }} + mvn -fae clean package -Drelease -Dversion.server=${{ needs.wildfly-build.outputs.wildfly-version }} ${{ env.WILDFLY_SNAPSHOT_EXTRA_PACKAGE_ARGUMENTS }} + shell: bash + - name: Build, run & test ${{ inputs.QUICKSTART_PATH }} Quickstart with provisioned-server profile, and built Server version + if: ${{ inputs.TEST_PROVISIONED_SERVER }} + run: | + cd quickstarts + cd ${{ inputs.QUICKSTART_PATH }} + echo "Building provisioned server..." + mvn -fae clean package -Pprovisioned-server -Dversion.server=${{ needs.wildfly-build.outputs.wildfly-version }} ${{ env.WILDFLY_SNAPSHOT_EXTRA_PACKAGE_ARGUMENTS }} + if [ -f ${{ inputs.DEPLOYMENT_DIR }}/target/server/bin/add-user.sh ]; then + echo "Add quickstartUser..." + ${{ inputs.DEPLOYMENT_DIR }}/target/server/bin/add-user.sh -a -u 'quickstartUser' -p 'quickstartPwd1!' -g 'guest,user,JBossAdmin,Users' + echo "Add quickstartAdmin..." + ${{ inputs.DEPLOYMENT_DIR }}/target/server/bin/add-user.sh -a -u 'quickstartAdmin' -p 'adminPwd1!' -g 'guest,user,admin' + fi + echo "Starting provisioned server..." + mvn -f ${{ inputs.DEPLOYMENT_DIR }}/pom.xml wildfly:start -DjbossHome=${{ inputs.DEPLOYMENT_DIR }}/target/server -Dstartup-timeout=120 ${{ inputs.EXTRA_RUN_ARGS }} + echo "Testing provisioned server..." + mvn -fae verify -Dserver.host=${{ inputs.SERVER_PROVISIONING_SERVER_HOST }} -Pintegration-testing + echo "Shutting down provisioned server..." + mvn -f ${{ inputs.DEPLOYMENT_DIR }}/pom.xml wildfly:shutdown + shell: bash + - name: Build, run & test ${{ inputs.QUICKSTART_PATH }} Quickstart with bootable-jar profile, and built Server version + if: ${{ inputs.TEST_BOOTABLE_JAR }} + run: | + cd quickstarts + cd ${{ inputs.QUICKSTART_PATH }} + echo "Building bootable jar..." + mvn -fae clean package -Pbootable-jar -Dversion.server=${{ needs.wildfly-build.outputs.wildfly-version }} ${{ env.WILDFLY_SNAPSHOT_EXTRA_PACKAGE_ARGUMENTS }} + echo "Starting bootable jar..." + mvn -f ${{ inputs.DEPLOYMENT_DIR }}/pom.xml wildfly:start-jar -Dstartup-timeout=120 ${{ inputs.EXTRA_RUN_ARGS }} + echo "Testing bootable jar..." + mvn -fae verify -Dserver.host=${{ inputs.SERVER_PROVISIONING_SERVER_HOST }} -Pintegration-testing + echo "Shutting down bootable jar..." + mvn -f ${{ inputs.DEPLOYMENT_DIR }}/pom.xml wildfly:shutdown + shell: bash + - name: Build ${{ inputs.QUICKSTART_PATH }} Quickstart with openshift profile, and built Server version + if: ${{ inputs.TEST_OPENSHIFT }} + run: | + cd quickstarts + cd ${{ inputs.QUICKSTART_PATH }} + mvn -fae clean package -Popenshift -Dversion.server=${{ needs.wildfly-build.outputs.wildfly-version }} + shell: bash + - name: Run after script + env: + FILE: "./quickstarts/.github/workflows/quickstart_${{ inputs.QUICKSTART_PATH }}_ci_after.sh" + run: | + if test -f $FILE; + then + chmod +x $FILE + bash $FILE + fi + shell: bash + - uses: actions/upload-artifact@v4 + if: failure() + with: + name: surefire-reports-JDK${{ matrix.jdk }}-${{ matrix.os }} + path: 'quickstarts/**/surefire-reports/*.txt'