Skip to content

[main] Forward port from 2.0.x #303

[main] Forward port from 2.0.x

[main] Forward port from 2.0.x #303

Workflow file for this run

name: Drools Ansible RuleBook Integration Check
on:
pull_request:
types: [opened, synchronize, reopened, ready_for_review]
paths-ignore:
- 'LICENSE'
- '**/.gitignore'
- '**.md'
- '**.adoc'
- '*.txt'
- 'docsimg/**'
- '.ci/jenkins/**'
jobs:
drools-ansible:
concurrency:
group: pr-drools_ansible_${{ matrix.os }}_${{ matrix.java-version }}_${{ matrix.maven-version }}_${{ github.head_ref }}
cancel-in-progress: true
timeout-minutes: 120
strategy:
matrix:
os: [ubuntu-latest]
java-version: [17, 21, 25]
maven-version: ['3.9.11']
fail-fast: false
runs-on: ${{ matrix.os }}
name: Ansible Integration / ${{ matrix.os }} / Java-${{ matrix.java-version }} / Maven-${{ matrix.maven-version }}
steps:
- name: Clean Disk Space
uses: kiegroup/kie-ci/.ci/actions/ubuntu-disk-space@main
if: ${{ matrix.os == 'ubuntu-latest' }}
- name: Support long paths
if: ${{ matrix.os == 'windows-latest' }}
uses: kiegroup/kie-ci/.ci/actions/long-paths@main
- name: Java and Maven Setup
uses: kiegroup/kie-ci/.ci/actions/maven@main
with:
java-version: ${{ matrix.java-version }}
maven-version: ${{ matrix.maven-version }}
cache-key-prefix: ${{ runner.os }}-${{ matrix.java-version }}-maven${{ matrix.maven-version }}
- name: Build Chain
uses: kiegroup/kie-ci/.ci/actions/build-chain@main
with:
definition-file: https://raw.githubusercontent.com/${GROUP:kiegroup}/drools-ansible-rulebook-integration/${BRANCH:main}/.ci/pull-request-config.yaml
annotations-prefix: ${{ runner.os }}-${{ matrix.java-version }}/${{ matrix.maven-version }}
github-token: "${{ secrets.GITHUB_TOKEN }}"
- name: Build for PostgreSQL HA tests
run: |
cd kiegroup_drools-ansible-rulebook-integration
mvn --batch-mode --update-snapshots install -DskipTests
- name: Verify HA with PostgreSQL
run: |
cd kiegroup_drools-ansible-rulebook-integration/drools-ansible-rulebook-integration-ha
mvn --batch-mode --update-snapshots verify -Dtest.db.type=postgres
- name: Run migration tests
run: |
cd kiegroup_drools-ansible-rulebook-integration/drools-ansible-rulebook-integration-migration-tests
chmod +x migration_test.sh lib/common.sh
./migration_test.sh
- name: Upload migration test logs
uses: actions/upload-artifact@v4
if: always()
with:
name: migration-test-results-${{ matrix.os }}-java${{ matrix.java-version }}
path: |
kiegroup_drools-ansible-rulebook-integration/drools-ansible-rulebook-integration-migration-tests/out_*.log
retention-days: 30
memory-leak-test:
concurrency:
group: pr-memory-leak_${{ matrix.java-version }}_${{ github.head_ref }}
cancel-in-progress: true
timeout-minutes: 30
strategy:
matrix:
# Note: Java 25 is not yet supported on drools. Just for testing purpose.
java-version: [17, 21, 25]
fail-fast: false
runs-on: ubuntu-latest
name: Memory Leak Test / Java-${{ matrix.java-version }}
steps:
- name: Clean Disk Space
uses: kiegroup/kie-ci/.ci/actions/ubuntu-disk-space@main
- name: Java and Maven Setup
uses: kiegroup/kie-ci/.ci/actions/maven@main
with:
java-version: ${{ matrix.java-version }}
maven-version: '3.9.11'
- name: Build Chain
uses: kiegroup/kie-ci/.ci/actions/build-chain@main
with:
definition-file: https://raw.githubusercontent.com/${GROUP:kiegroup}/drools-ansible-rulebook-integration/${BRANCH:main}/.ci/pull-request-config.yaml
github-token: "${{ secrets.GITHUB_TOKEN }}"
- name: Run MemoryLeakTest
run: |
cd kiegroup_drools-ansible-rulebook-integration
mvn test -Pmemoryleak-tests
- name: Build load test module
run: |
cd kiegroup_drools-ansible-rulebook-integration
mvn --batch-mode --update-snapshots -pl drools-ansible-rulebook-integration-load-tests -am package -DskipTests
- name: Run HA PostgreSQL load tests
run: |
cd kiegroup_drools-ansible-rulebook-integration/drools-ansible-rulebook-integration-load-tests
chmod +x \
load_test_match_unmatch_noHA_HA-PG.sh \
load_test_retention_noHA_HA-PG.sh \
load_test_temporal_HA-PG.sh \
load_test_failover_HA-PG.sh
./load_test_match_unmatch_noHA_HA-PG.sh
./load_test_retention_noHA_HA-PG.sh
./load_test_temporal_HA-PG.sh
./load_test_failover_HA-PG.sh
- name: Upload load test results
uses: actions/upload-artifact@v6
if: always()
with:
name: memory-leak-test-results-java${{ matrix.java-version }}
path: |
kiegroup_drools-ansible-rulebook-integration/drools-ansible-rulebook-integration-load-tests/result_*.txt
kiegroup_drools-ansible-rulebook-integration/drools-ansible-rulebook-integration-load-tests/out_*.log
retention-days: 30