Skip to content

Commit

Permalink
Introducing quickstart specific CI
Browse files Browse the repository at this point in the history
  • Loading branch information
emmartins committed Sep 7, 2023
1 parent a3b0be1 commit a7ca0de
Show file tree
Hide file tree
Showing 4 changed files with 205 additions and 33 deletions.
34 changes: 1 addition & 33 deletions .github/workflows/ci.yml → .github/workflows/project_ci.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
# This workflow will build a Java project with Maven
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven
name: WildFly Quickstarts CI

on:
Expand All @@ -26,21 +24,6 @@ jobs:
with:
version: ${{ matrix.jdk }}
impl: hotspot
- name: Build Quickstarts provisioned-server profile
run: |
cd quickstarts
mvn -U -B -fae clean package -Pprovisioned-server
shell: bash
- name: Build Quickstarts bootable-jar profile
run: |
cd quickstarts
mvn -U -B -fae clean package -Pbootable-jar
shell: bash
- name: Build Quickstarts openshift profile
run: |
cd quickstarts
mvn -U -B -fae clean package -Popenshift
shell: bash
- name: Build Quickstarts Release
run: |
cd quickstarts
Expand Down Expand Up @@ -102,21 +85,6 @@ jobs:
cd boms
echo "VERSION_BOMS=$(mvn -N org.apache.maven.plugins:maven-help-plugin:3.2.0:evaluate -Dexpression=project.version -q -DforceStdout)" >> $GITHUB_ENV
shell: bash
- name: Build Quickstarts provisioned-server profile with Server and BOMs Versions
run: |
cd quickstarts
mvn -U -B -fae clean package -Pprovisioned-server -Dversion.server.bom=${{ env.VERSION_BOMS }} -Dversion.bom.ee=${{ env.VERSION_BOMS }} -Dversion.microprofile.bom=${{ env.VERSION_BOMS }} -Dversion.bom.microprofile=${{ env.VERSION_BOMS }} -Dversion.server.bootable-jar=${{ env.VERSION_SERVER }} -Dversion.server=${{ env.VERSION_SERVER }}
shell: bash
- name: Build Quickstarts bootable-jar profile with Server and BOMs Versions
run: |
cd quickstarts
mvn -U -B -fae clean package -Pbootable-jar -Dversion.server.bom=${{ env.VERSION_BOMS }} -Dversion.bom.ee=${{ env.VERSION_BOMS }} -Dversion.microprofile.bom=${{ env.VERSION_BOMS }} -Dversion.bom.microprofile=${{ env.VERSION_BOMS }} -Dversion.server.bootable-jar=${{ env.VERSION_SERVER }} -Dversion.server=${{ env.VERSION_SERVER }}
shell: bash
- name: Build Quickstarts openshift profile with Server and BOMs Versions
run: |
cd quickstarts
mvn -U -B -fae clean package -Popenshift -Dversion.server.bom=${{ env.VERSION_BOMS }} -Dversion.bom.ee=${{ env.VERSION_BOMS }} -Dversion.microprofile.bom=${{ env.VERSION_BOMS }} -Dversion.bom.microprofile=${{ env.VERSION_BOMS }} -Dversion.server.bootable-jar=${{ env.VERSION_SERVER }} -Dversion.server=${{ env.VERSION_SERVER }}
shell: bash
- name: Build Quickstarts Release with Server and BOMs Versions
run: |
cd quickstarts
Expand All @@ -126,4 +94,4 @@ jobs:
if: failure()
with:
name: surefire-reports-JDK${{ matrix.jdk }}-${{ matrix.os }}
path: 'quickstarts/**/surefire-reports/*.txt'
path: 'quickstarts/**/surefire-reports/*.txt'
176 changes: 176 additions & 0 deletions .github/workflows/quickstart_ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,176 @@
name: WildFly Quickstart CI

on:
workflow_call:
inputs:
QUICKSTART_PATH:
description: 'the path to the quickstart to test'
required: true
type: string
MICROPROFILE:
description: 'if the quickstart is a microprofile one'
required: true
type: boolean

jobs:
Test-build-default-matrix:
name: BUILD DEFAULT - JDK${{ matrix.jdk }} - ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
jdk: [11, 17]
os: [ubuntu-20.04, windows-latest]
steps:
- uses: n1hility/cancel-previous-runs@v2
with:
token: ${{ secrets.GITHUB_TOKEN }}
- uses: actions/checkout@v2
with:
path: quickstarts
- name: Set up JDK ${{ matrix.java }}
uses: AdoptOpenJDK/install-jdk@v1
with:
version: ${{ matrix.jdk }}
impl: hotspot
- name: Build ${{ inputs.QUICKSTART_PATH }} Quickstart for Release
run: |
cd quickstarts
cd ${{ inputs.QUICKSTART_PATH }}
mvn -U -B -fae clean install -Drelease
shell: bash
- name: Build, run & test ${{ inputs.QUICKSTART_PATH }} Quickstart with provisioned-server profile
if: ${{ !inputs.MICROPROFILE }}
run: |
cd quickstarts
cd ${{ inputs.QUICKSTART_PATH }}
echo "Building provisioned server..."
mvn -U -B -fae clean package -Pprovisioned-server
echo "Starting provisioned server..."
mvn -U -B -fae wildfly:start -DjbossHome=target/server
echo "Testing provisioned server..."
mvn -U -B -fae verify -Dserver.host=http://localhost:8080 -Pintegration-testing
echo "Shutting down provisioned server..."
mvn -U -B -fae wildfly:shutdown
shell: bash
- name: Build, run & test ${{ inputs.QUICKSTART_PATH }} Quickstart with bootable-jar profile
if: ${{ inputs.MICROPROFILE }}
run: |
cd quickstarts
cd ${{ inputs.QUICKSTART_PATH }}
echo "Building bootable jar..."
mvn -U -B -fae clean package -Pbootable-jar
echo "Starting bootable jar..."
mvn -U -B -fae wildfly-jar:start -Djar-file-name=target/${{ inputs.QUICKSTART_PATH }}-bootable.jar
echo "Testing bootable jar..."
mvn -U -B -fae verify -Dserver.host=http://localhost:8080 -Pintegration-testing
echo "Shutting down bootable jar..."
mvn -U -B -fae wildfly-jar:shutdown
shell: bash
- name: Build ${{ inputs.QUICKSTART_PATH }} Quickstart with openshift profile
run: |
cd quickstarts
cd ${{ inputs.QUICKSTART_PATH }}
mvn -U -B -fae clean package -Popenshift
shell: bash
- uses: actions/upload-artifact@v3
if: failure()
with:
name: surefire-reports-JDK${{ matrix.jdk }}-${{ matrix.os }}
path: 'quickstarts/$QUICKSTART_PATH/**/surefire-reports/*.txt'

Test-build-with-deps-matrix:
name: BUILD WITH DEPS - JDK${{ matrix.jdk }} - ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
jdk: [11, 17]
os: [ubuntu-20.04, windows-latest]
steps:
- uses: n1hility/cancel-previous-runs@v2
with:
token: ${{ secrets.GITHUB_TOKEN }}
- uses: actions/checkout@v2
with:
repository: wildfly/wildfly
ref: ${{ github.base_ref }}
path: wildfly
- uses: actions/checkout@v2
with:
repository: wildfly/boms
ref: ${{ github.base_ref }}
path: boms
- uses: actions/checkout@v2
with:
path: quickstarts
- name: Set up JDK ${{ matrix.java }}
uses: AdoptOpenJDK/install-jdk@v1
with:
version: ${{ matrix.jdk }}
impl: hotspot
- name: Build Server
run: |
cd wildfly
mvn -U -B -fae -DskipTests clean install
shell: bash
- name: Get Server Version
run: |
cd wildfly
echo "VERSION_SERVER=$(mvn -N org.apache.maven.plugins:maven-help-plugin:3.2.0:evaluate -Dexpression=project.version -q -DforceStdout)" >> $GITHUB_ENV
shell: bash
- name: Build BOMs with Server Version
run: |
cd boms
mvn -U -B -fae clean install -Dversion.server=${{ env.VERSION_SERVER }}
shell: bash
- name: Get BOMs Version
run: |
cd boms
echo "VERSION_BOMS=$(mvn -N org.apache.maven.plugins:maven-help-plugin:3.2.0:evaluate -Dexpression=project.version -q -DforceStdout)" >> $GITHUB_ENV
shell: bash
- name: Build Quickstart for Release with Server and BOMs Versions
run: |
cd quickstarts
cd ${{ inputs.QUICKSTART_PATH }}
mvn -U -B -fae clean package -Drelease -Dversion.bom.ee=${{ env.VERSION_BOMS }} -Dversion.bom.microprofile=${{ env.VERSION_BOMS }} -Dversion.server=${{ env.VERSION_SERVER }}
shell: bash
- name: Build, run & test ${{ inputs.QUICKSTART_PATH }} Quickstart with provisioned-server profile, Server and BOMs Versions
if: ${{ !inputs.MICROPROFILE }}
run: |
cd quickstarts
cd ${{ inputs.QUICKSTART_PATH }}
echo "Building provisioned server..."
mvn -U -B -fae clean package -Pprovisioned-server -Dversion.bom.ee=${{ env.VERSION_BOMS }} -Dversion.bom.microprofile=${{ env.VERSION_BOMS }} -Dversion.server=${{ env.VERSION_SERVER }}
echo "Starting provisioned server..."
mvn -U -B -fae wildfly:start -DjbossHome=target/server
echo "Testing provisioned server..."
mvn -U -B -fae verify -Dserver.host=http://localhost:8080 -Pintegration-testing
echo "Shutting down provisioned server..."
mvn -U -B -fae wildfly:shutdown
shell: bash
- name: Build, run & test ${{ inputs.QUICKSTART_PATH }} Quickstart with bootable-jar profile, Server and BOMs Versions
if: ${{ inputs.MICROPROFILE }}
run: |
cd quickstarts
cd ${{ inputs.QUICKSTART_PATH }}
echo "Building bootable jar..."
mvn -U -B -fae clean package -Pbootable-jar -Dversion.bom.ee=${{ env.VERSION_BOMS }} -Dversion.bom.microprofile=${{ env.VERSION_BOMS }} -Dversion.server=${{ env.VERSION_SERVER }}
echo "Starting bootable jar..."
mvn -U -B -fae wildfly-jar:start -Djar-file-name=target/${{ inputs.QUICKSTART_PATH }}-bootable.jar
echo "Testing bootable jar..."
mvn -U -B -fae verify -Dserver.host=http://localhost:8080 -Pintegration-testing
echo "Shutting down bootable jar..."
mvn -U -B -fae wildfly-jar:shutdown
shell: bash
- name: Build ${{ inputs.QUICKSTART_PATH }} Quickstart with openshift profile, Server and BOMs Versions
run: |
cd quickstarts
cd ${{ inputs.QUICKSTART_PATH }}
mvn -U -B -fae clean package -Popenshift -Dversion.bom.ee=${{ env.VERSION_BOMS }} -Dversion.bom.microprofile=${{ env.VERSION_BOMS }} -Dversion.server=${{ env.VERSION_SERVER }}
shell: bash
- uses: actions/upload-artifact@v3
if: failure()
with:
name: surefire-reports-JDK${{ matrix.jdk }}-${{ matrix.os }}
path: 'quickstarts/**/surefire-reports/*.txt'
14 changes: 14 additions & 0 deletions .github/workflows/quickstart_helloworld_ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
name: WildFly helloworld Quickstart CI

on:
pull_request:
types: [opened, synchronize, reopened, ready_for_review]
paths:
- 'helloworld/**'

jobs:
call-quickstart_ci:
uses: ./.github/workflows/quickstart_ci.yml
with:
QUICKSTART_PATH: helloworld
MICROPROFILE: false
14 changes: 14 additions & 0 deletions .github/workflows/quickstart_microprofile-config_ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
name: WildFly microprofile-config Quickstart CI

on:
pull_request:
types: [opened, synchronize, reopened, ready_for_review]
paths:
- 'microprofile-config/**'

jobs:
call-quickstart_ci:
uses: ./.github/workflows/quickstart_ci.yml
with:
QUICKSTART_PATH: microprofile-config
MICROPROFILE: true

0 comments on commit a7ca0de

Please sign in to comment.