Merge pull request #738 from MicroShed/dependabot/gradle/modules/test… #1165
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: MicroShed CI | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
types: [opened, synchronize, reopened, ready_for_review] | |
paths-ignore: | |
- '.gitignore' | |
- '.dockerignore' | |
- '*.md' | |
- '*.adoc' | |
- '*.txt' | |
- '.github/ISSUE_TEMPLATE/**' | |
env: | |
LANG: en_US.UTF-8 | |
jobs: | |
build: | |
strategy: | |
matrix: | |
os: [ ubuntu-latest ] | |
java: [ 11 ] | |
fail-fast: false | |
max-parallel: 4 | |
runs-on: ${{ matrix.os }} | |
name: Build ${{ matrix.java }}, ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- uses: actions/setup-java@8df1039502a15bceb9433410b1a100fbe190c53b # v4.5.0 | |
with: | |
java-version: ${{ matrix.java }} | |
distribution: 'temurin' | |
- name: Setup Gradle | |
uses: gradle/actions/setup-gradle@cc4fc85e6b35bafd578d5ffbc76a5518407e1af0 # v4.2.1 | |
with: | |
cache-overwrite-existing: true | |
cache-read-only: ${{ github.ref != 'refs/heads/main' }} #Read only for pulls, read/write for pushes | |
- name: Build with Gradle | |
run: | | |
chmod +x gradlew | |
./gradlew assemble testClasses --parallel | |
integration_tests: | |
name: Tests - ${{matrix.category}} | |
runs-on: ubuntu-latest | |
needs: build | |
timeout-minutes: 20 | |
strategy: | |
fail-fast: false | |
max-parallel: 18 | |
matrix: | |
include: | |
- category: GENERAL | |
projects: > | |
maven-app | |
jdbc-app | |
kafka-app | |
- category: COMPLEX | |
projects: > | |
everything-app | |
- category: RESTFUL | |
projects: > | |
jaxrs-json | |
jaxrs-basicauth | |
jaxrs-mpjwt | |
- category: LIBERTY/PAYARA | |
projects: > | |
liberty-app | |
payara-app | |
- category: QUARKUS/WILDFLY | |
projects: > | |
quarkus-app | |
wildfly-app | |
steps: | |
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- uses: actions/setup-java@8df1039502a15bceb9433410b1a100fbe190c53b # v4.5.0 | |
with: | |
java-version: 11 | |
distribution: 'temurin' | |
- name: Setup Gradle | |
uses: gradle/actions/setup-gradle@cc4fc85e6b35bafd578d5ffbc76a5518407e1af0 # v4.2.1 | |
with: | |
cache-overwrite-existing: true | |
cache-read-only: ${{ github.ref != 'refs/heads/main' }} #Read only for pulls, read/write for pushes | |
- uses: testspace-com/setup-testspace@8472399a8030486c043937b8451b5e743f961ae0 # v1.0.7 | |
if: ${{ github.event_name == 'push' }} | |
with: | |
domain: ${{github.repository_owner}} | |
- name: Run integration tests | |
shell: bash | |
env: | |
TEST_PROJECTS: ${{matrix.projects}} | |
CATEGORY: ${{matrix.category}} | |
run: | | |
chmod +x gradlew | |
mkdir results | |
echo "Will be running projects $TEST_PROJECTS" | |
for TEST_PROJECT in $TEST_PROJECTS | |
do | |
if [[ ! -d "sample-apps/$TEST_PROJECT" ]]; then | |
echo "::error::Test project $TEST_PROJECT does not exist."; | |
exit 1; | |
fi | |
echo "### BEGIN running test project $TEST_PROJECT" | |
./gradlew :microshed-testing-$TEST_PROJECT:test | |
echo "### END running test project $TEST_PROJECT"; | |
#Gradle test results | |
if [[ -d "sample-apps/$TEST_PROJECT/build/test-results/test/" ]]; then | |
cp sample-apps/$TEST_PROJECT/build/test-results/test/TEST-*.xml results/ | |
fi | |
#Maven test results | |
if [[ -d "sample-apps/$TEST_PROJECT/target/test-failsafe-reports/" ]]; then | |
cp sample-apps/$TEST_PROJECT/target/test-failsafe-reports/TEST-*.xml results/ | |
fi | |
done | |
echo "Done running all tests, results folder contains:" | |
ls -la results/ | |
- name: Upload test results | |
if: ${{ github.event_name == 'push' }} | |
run: testspace "[ ${{ matrix.category }} ]results/TEST-*.xml" |