Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TEMP - Port to glow #832

Closed
wants to merge 53 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
ada6f26
Core CI files
kabir Oct 24, 2023
b3aa440
Port helloworld and microprofile-reactive-messaging-kafka
kabir Oct 24, 2023
fe0f863
Port ee-security and batch-processing
kabir Oct 23, 2023
ca0be37
Port bmt to glow
kabir Oct 23, 2023
126ca4c
Port jsonp
kabir Oct 23, 2023
6890afc
Port kitchensink
kabir Oct 23, 2023
a543875
Port microprofile-config
kabir Oct 23, 2023
2e63a10
Port microprofile-jwt
kabir Oct 23, 2023
c0befe5
Port microprofile-openapi
kabir Oct 23, 2023
1351a71
Port numberguess
kabir Oct 23, 2023
e65409d
Port temperature-converter
kabir Oct 23, 2023
624a4e8
Port cmt to glow
kabir Oct 23, 2023
8d3ce18
Port helloworld-mdb
kabir Oct 23, 2023
d8584b1
Port thread-racing
kabir Oct 23, 2023
f99c834
Port remote-helloworld-mdb to glow
kabir Oct 24, 2023
2e9477f
Port microprofile-health
kabir Oct 25, 2023
572940e
Port websocket-hello
kabir Oct 25, 2023
3ede838
Port ejb-security-context-propagation
kabir Oct 27, 2023
9c2851f
TEMP Port spring-resteasy
kabir Oct 25, 2023
ab3c2b1
Port ejb-remote
kabir Nov 13, 2023
83c8c8b
Port http-custom-mechanism
kabir Nov 13, 2023
77b9311
Bootable JAR support
jfdenise Dec 15, 2023
be688ea
Use WildFly Maven Plugin 5.0.0.Beta1
jfdenise Dec 20, 2023
3d8209f
Glow and Bootable JAR for microprofile-lra
jfdenise Dec 20, 2023
d32a882
Glow for ejb-security-programmatic-auth
jfdenise Dec 20, 2023
e0f9d41
Glow for ejb-timer
jfdenise Dec 20, 2023
a4cd05b
Glow for helloworld-jms
jfdenise Dec 20, 2023
789d8fc
Glow for helloworld-ws
jfdenise Dec 20, 2023
e5dcab8
Glow for hibernate
jfdenise Dec 20, 2023
e76420f
Glow for jaxrs-client
jfdenise Dec 20, 2023
ab73386
Glow for jaxrs-jwt
jfdenise Dec 20, 2023
4038656
Glow for jaxws-ejb
jfdenise Dec 20, 2023
e21b484
Glow for jaws-retail
jfdenise Dec 20, 2023
2e9e876
Glow for logging
jfdenise Dec 20, 2023
f91afbf
Glow for mail
jfdenise Dec 20, 2023
6f02c45
Glow for servlet-async
jfdenise Dec 20, 2023
816ee3e
Glow for servlet-filterlistener
jfdenise Dec 20, 2023
a8b3eea
Glow for servlet-security
jfdenise Dec 20, 2023
5d98d02
Glow for websocket-endpoint
jfdenise Dec 20, 2023
1e64e01
Remove some useless properties
jfdenise Dec 20, 2023
b5962d8
Fix comment in ejb-security-programmatic-auth pom.xml
jfdenise Dec 21, 2023
55348ac
Port microprofile-health
kabir Oct 25, 2023
6cbd294
Bootable JAR support
jfdenise Dec 15, 2023
3a91df9
Check add-user.sh exists before calling it
kabir Dec 21, 2023
6a21ef9
Fix spring-resteasy
kabir Dec 22, 2023
d9f48d3
Missing addons
kabir Dec 22, 2023
e191bd5
Fix bootable jar plugin usage
kabir Dec 22, 2023
dc8ce2f
More CI tweaks for bootable jar
kabir Dec 22, 2023
4a29f21
Specify wildfly plugin version in logging pom
kabir Jan 2, 2024
500ca12
Handle PRs in temp glow
kabir Jan 4, 2024
b6ac1a1
Disable the BUILD WITH DEPS jobs, since Glow does not yet support
kabir Jan 4, 2024
e3078ee
Fix logging qs to work with openshift profile
jfdenise Jan 4, 2024
9f52e05
Fix add-user.sh check
kabir Jan 4, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
185 changes: 185 additions & 0 deletions .github/workflows/glow_ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,185 @@
name: WildFly Glow CI

on:
push:
branches:
- port-to-glow
pull_request:
types: [ opened, synchronize, reopened, ready_for_review ]
branches:
- port-to-glow


env:
WILDFLY_VERSION: 31.0.0.Beta1

# Only run the latest job
concurrency:
group: '${{ github.workflow }} @ ${{ github.ref || github.run_id }}'
cancel-in-progress: true

jobs:
wildfly-maven:
# Pre-populate the maven repo with the WildFly Maven artifacts
runs-on: ubuntu-latest
steps:
- uses: actions/cache@v3
with:
path: ~/.m2/repository
key: wildfly-glow-ci-wildfly-${{ env.WILDFLY_VERSION }}
- name: WildFly EE Feature Pack
run: mvn -B dependency:get -Dartifact=org.wildfly:wildfly-ee-feature-pack-galleon-shared:${WILDFLY_VERSION}:pom
- name: WildFly Galleon Pack
run: mvn -B dependency:get -Dartifact=org.wildfly:wildfly-feature-pack-galleon-shared:${WILDFLY_VERSION}:pom
- name: Archive the repository
run: |
cd ~
find ./.m2/repository -type d -name "*Final" -print0 | xargs -0 tar -czf ~/wildfly-maven-repository.tar.gz
- uses: actions/upload-artifact@v3
with:
name: wildfly-maven-repository
path: ~/wildfly-maven-repository.tar.gz
retention-days: 1

batch-processing:
needs: wildfly-maven
uses: ./.github/workflows/glow_ci_internal.yml
with:
QUICKSTART_PATH: batch-processing
PROFILES: 'provisioned-server, openshift'
bmt:
needs: wildfly-maven
uses: ./.github/workflows/glow_ci_internal.yml
with:
QUICKSTART_PATH: bmt
PROFILES: 'provisioned-server, openshift'
cmt:
needs: wildfly-maven
uses: ./.github/workflows/glow_ci_internal.yml
with:
QUICKSTART_PATH: cmt
PROFILES: 'provisioned-server, openshift'
ee-security:
needs: wildfly-maven
uses: ./.github/workflows/glow_ci_internal.yml
with:
QUICKSTART_PATH: ee-security
PROFILES: 'provisioned-server, openshift'
ejb-remote:
needs: wildfly-maven
uses: ./.github/workflows/glow_ci_internal.yml
with:
QUICKSTART_PATH: ejb-remote
PROFILES: 'provisioned-server, openshift'
ejb-security-context-propagation:
needs: wildfly-maven
uses: ./.github/workflows/glow_ci_internal.yml
with:
QUICKSTART_PATH: ejb-security-context-propagation
# Not set up for OpenShift
PROFILES: 'provisioned-server'
helloworld-mdb:
needs: wildfly-maven
uses: ./.github/workflows/glow_ci_internal.yml
with:
QUICKSTART_PATH: helloworld-mdb
PROFILES: 'provisioned-server, openshift'
helloworld:
needs: wildfly-maven
uses: ./.github/workflows/glow_ci_internal.yml
with:
QUICKSTART_PATH: helloworld
PROFILES: 'provisioned-server, openshift'
http-custom-mechanism:
needs: wildfly-maven
uses: ./.github/workflows/glow_ci_internal.yml
with:
QUICKSTART_PATH: http-custom-mechanism
PROFILES: 'provisioned-server'
DEPLOYMENT_DIR: webapp
jsonp:
needs: wildfly-maven
uses: ./.github/workflows/glow_ci_internal.yml
with:
QUICKSTART_PATH: jsonp
PROFILES: 'provisioned-server, openshift'
# This does not use any of the profiles at the moment
# jta-crach-rec:
# needs: wildfly-maven
# uses: ./.github/workflows/glow_ci_internal.yml
# with:
# QUICKSTART_PATH: jta-crach-rec
# PROFILES: 'provisioned-server, openshift'
kitchensink:
needs: wildfly-maven
uses: ./.github/workflows/glow_ci_internal.yml
with:
QUICKSTART_PATH: kitchensink
PROFILES: 'provisioned-server, openshift'
microprofile-config:
needs: wildfly-maven
uses: ./.github/workflows/glow_ci_internal.yml
with:
QUICKSTART_PATH: microprofile-config
PROFILES: 'bootable-jar, openshift'
microprofile-health:
needs: wildfly-maven
uses: ./.github/workflows/glow_ci_internal.yml
with:
QUICKSTART_PATH: microprofile-health
PROFILES: 'bootable-jar, openshift'
microprofile-jwt:
needs: wildfly-maven
uses: ./.github/workflows/glow_ci_internal.yml
with:
QUICKSTART_PATH: microprofile-jwt
PROFILES: 'bootable-jar, openshift'
microprofile-openapi:
needs: wildfly-maven
uses: ./.github/workflows/glow_ci_internal.yml
with:
QUICKSTART_PATH: microprofile-openapi
PROFILES: 'bootable-jar, openshift'
microprofile-reactive-messaging-kafka:
needs: wildfly-maven
uses: ./.github/workflows/glow_ci_internal.yml
with:
QUICKSTART_PATH: microprofile-reactive-messaging-kafka
PROFILES: 'bootable-jar, openshift'
numberguess:
needs: wildfly-maven
uses: ./.github/workflows/glow_ci_internal.yml
with:
QUICKSTART_PATH: numberguess
PROFILES: 'provisioned-server, openshift'
remote-helloworld-mdb:
needs: wildfly-maven
uses: ./.github/workflows/glow_ci_internal.yml
with:
QUICKSTART_PATH: remote-helloworld-mdb
PROFILES: 'provisioned-server, openshift'
# TODO spring-resteasy-is not properly incorporated with Galleon yet
spring-resteasy:
needs: wildfly-maven
uses: ./.github/workflows/glow_ci_internal.yml
with:
QUICKSTART_PATH: spring-resteasy
PROFILES: 'provisioned-server, openshift'
temperature-converter:
needs: wildfly-maven
uses: ./.github/workflows/glow_ci_internal.yml
with:
QUICKSTART_PATH: temperature-converter
PROFILES: 'provisioned-server, openshift'
thread-racing:
needs: wildfly-maven
uses: ./.github/workflows/glow_ci_internal.yml
with:
QUICKSTART_PATH: thread-racing
PROFILES: 'provisioned-server, openshift'
websocket-hello:
needs: wildfly-maven
uses: ./.github/workflows/glow_ci_internal.yml
with:
QUICKSTART_PATH: websocket-hello
PROFILES: 'provisioned-server, openshift'
43 changes: 43 additions & 0 deletions .github/workflows/glow_ci_internal.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: GLow CI Check Profiles
on:
workflow_call:
inputs:
QUICKSTART_PATH:
description: 'the path to the quickstart to test'
required: true
type: string
PROFILES:
description: 'Array of profiles to test. It is a simple string search looking for bootable-jar, openshift and provisioned-server'
required: true
type: string
DEPLOYMENT_DIR:
description: 'the path to the deployment dir, relative to QUICKSTART_PATH'
required: false
default: '.'
type: string
jobs:
openshift:
name: Openshift ${{inputs.QUICKSTART_PATH}}
if: ${{ contains(inputs.PROFILES, 'openshift') }}
uses: ./.github/workflows/glow_ci_internal_tests.yml
with:
QUICKSTART_PATH: ${{inputs.QUICKSTART_PATH}}
DEPLOYMENT_DIR: ${{inputs.DEPLOYMENT_DIR}}
PROFILE: 'openshift'
provisioned-server:
name: Provisioned Server ${{inputs.QUICKSTART_PATH}}
if: ${{ contains(inputs.PROFILES, 'provisioned-server') }}
uses: ./.github/workflows/glow_ci_internal_tests.yml
with:
QUICKSTART_PATH: ${{inputs.QUICKSTART_PATH}}
DEPLOYMENT_DIR: ${{inputs.DEPLOYMENT_DIR}}
PROFILE: 'provisioned-server'
# Skip bootable jar until the plugin implements GLow support for bootable jar
bootable-jar:
name: Openshift ${{inputs.QUICKSTART_PATH}}
if: ${{ contains(inputs.PROFILES, 'bootable-jar') }}
uses: ./.github/workflows/glow_ci_internal_tests.yml
with:
QUICKSTART_PATH: ${{inputs.QUICKSTART_PATH}}
DEPLOYMENT_DIR: ${{inputs.DEPLOYMENT_DIR}}
PROFILE: 'bootable-jar'
109 changes: 109 additions & 0 deletions .github/workflows/glow_ci_internal_tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
on:
workflow_call:
inputs:
QUICKSTART_PATH:
description: 'the path to the quickstart to test'
required: true
type: string
PROFILE:
description: 'Profile to provision the server'
required: true
type: string
DEPLOYMENT_DIR:
description: 'the path to the deployment dir, relative to QUICKSTART_PATH'
required: false
type: string

env:
BEFORE_FILE: "./.github/workflows/quickstart_${{ inputs.QUICKSTART_PATH }}_ci_before.sh"
AFTER_FILE: "./.github/workflows/quickstart_${{ inputs.QUICKSTART_PATH }}_ci_after.sh"

jobs:
test-port-to-glow:
name: Test Port to Glow ${{ inputs.QUICKSTART_PATH }} -P${{ inputs.PROFILE }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
steps:
- uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: 17
distribution: 'temurin'
cache: 'maven'
- uses: actions/download-artifact@v3
with:
name: wildfly-maven-repository
path: .
- name: Extract Maven Repo
shell: bash
run: tar -xzf wildfly-maven-repository.tar.gz -C ~
- name: Run before script
run: |
if test -f $BEFORE_FILE;
then
echo "Executing ${BEFORE_FILE}"
chmod +x $BEFORE_FILE
bash $BEFORE_FILE
else
echo "No ${BEFORE_FILE}. Skipping."
fi
- name: Run OpenShift Server Test
if: ${{ inputs.PROFILE == 'openshift' }}
run: |
cd ${{ inputs.QUICKSTART_PATH }}
mvn -B clean package -Popenshift
if [ -f ${{ inputs.DEPLOYMENT_DIR }}/target/server/bin/add-user.sh ]; then
${{ inputs.DEPLOYMENT_DIR }}/target/server/bin/add-user.sh -a -u 'quickstartUser' -p 'quickstartPwd1!' -g 'guest,user,JBossAdmin,Users'
${{ inputs.DEPLOYMENT_DIR }}/target/server/bin/add-user.sh -a -u 'quickstartAdmin' -p 'adminPwd1!' -g 'guest,user,admin'
fi
mvn -B -f ${{ inputs.DEPLOYMENT_DIR }}/pom.xml wildfly:start -DjbossHome=${{ inputs.DEPLOYMENT_DIR }}/target/server -Dstartup-timeout=120
mvn -B verify -Pintegration-testing -Dserver.host=http://localhost:8080
mvn -B -f ${{ inputs.DEPLOYMENT_DIR }}/pom.xml wildfly:shutdown
shell: bash
- name: Run Provisioned Server Test
if: ${{ inputs.PROFILE == 'provisioned-server' }}
run: |
cd ${{ inputs.QUICKSTART_PATH }}
mvn -B clean package -Pprovisioned-server
if [ -f ${{ inputs.DEPLOYMENT_DIR }}/target/server/bin/add-user.sh ]; then
${{ inputs.DEPLOYMENT_DIR }}/target/server/bin/add-user.sh -a -u 'quickstartUser' -p 'quickstartPwd1!' -g 'guest,user,JBossAdmin,Users'
${{ inputs.DEPLOYMENT_DIR }}/target/server/bin/add-user.sh -a -u 'quickstartAdmin' -p 'adminPwd1!' -g 'guest,user,admin'
fi
mvn -B -f ${{ inputs.DEPLOYMENT_DIR }}/pom.xml wildfly:start -DjbossHome=${{ inputs.DEPLOYMENT_DIR }}/target/server -Dstartup-timeout=120
mvn -B verify -Pintegration-testing -Dserver.host=http://localhost:8080
mvn -B -f ${{ inputs.DEPLOYMENT_DIR }}/pom.xml wildfly:shutdown
shell: bash
- name: Run Bootable Jar Test
if: ${{ inputs.PROFILE == 'bootable-jar' }}
run: |
cd ${{ inputs.QUICKSTART_PATH }}
mvn -B clean package -Pbootable-jar
if [ -f ${{ inputs.DEPLOYMENT_DIR }}/target/server/bin/add-user.sh ]; then
${{ inputs.DEPLOYMENT_DIR }}/target/server/bin/add-user.sh -a -u 'quickstartUser' -p 'quickstartPwd1!' -g 'guest,user,JBossAdmin,Users'
${{ inputs.DEPLOYMENT_DIR }}/target/server/bin/add-user.sh -a -u 'quickstartAdmin' -p 'adminPwd1!' -g 'guest,user,admin'
fi
# mvn -B -f ${{ inputs.DEPLOYMENT_DIR }}/pom.xml wildfly-jar:start -Djar-file-name=${{ inputs.DEPLOYMENT_DIR }}/target/${{ inputs.QUICKSTART_PATH }}-bootable.jar -Dstartup-timeout=120
java -jar ${{ inputs.DEPLOYMENT_DIR }}/target/server-bootable.jar &
# Sleep to wait for server to start (we should have a wait)
sleep 20
mvn -B verify -Pintegration-testing -Dserver.host=http://localhost:8080
mvn -f ${{ inputs.DEPLOYMENT_DIR }}/pom.xml wildfly:shutdown
shell: bash
- name: Run after script
run: |
if test -f $AFTER_FILE;
then
echo "Executing ${AFTER_FILE}"
chmod +x $AFTER_FILE
bash $AFTER
else
echo "No ${AFTER_FILE}. Skipping."
fi
- uses: actions/upload-artifact@v3
if: failure()
with:
name: surefire-reports-JDK17
path: 'quickstarts/**/surefire-reports/*.txt'

Loading
Loading