Skip to content

Merge pull request #11 from honza-kasik/stable-fails #88

Merge pull request #11 from honza-kasik/stable-fails

Merge pull request #11 from honza-kasik/stable-fails #88

Workflow file for this run

name: mod_cluster Tests
on:
push:
pull_request:
branches: [main]
env:
WILDFLY_VERSION: 39.0.1.Final
TEST_CLASS: StickySessionTest,SslFailoverTest,SslCrlTest,ModClusterAjpTest
MOD_PROXY_CLUSTER_REPO: https://github.com/modcluster/mod_proxy_cluster.git
jobs:
test:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest]
java: ['17', '21', '25']
balancer: [undertow, httpd]
exclude:
- os: windows-latest
java: '17'
- os: windows-latest
balancer: httpd
name: "${{ matrix.balancer }} / ${{ matrix.os }} / JDK ${{ matrix.java }}"
steps:
- uses: actions/checkout@v6
- name: Set up JDK ${{ matrix.java }}
uses: actions/setup-java@v5
with:
java-version: ${{ matrix.java }}
distribution: temurin
cache: 'maven'
- name: Download WildFly via Maven
shell: bash
run: mvn -B generate-test-resources -Pdownload-wildfly -Dwildfly.version=${{ env.WILDFLY_VERSION }} -DskipTests
- name: Run tests (Docker)
if: runner.os != 'Windows'
shell: bash
run: mvn -B test -Dtest=${{ env.TEST_CLASS }} -Dbalancer.type=${{ matrix.balancer }} -Dwildfly.version=${{ env.WILDFLY_VERSION }}
- name: Run tests (Native)
if: runner.os == 'Windows'
shell: bash
run: mvn -B test -Pnative -Dtest=${{ env.TEST_CLASS }} -Dbalancer.type=${{ matrix.balancer }} -Dwildfly.version=${{ env.WILDFLY_VERSION }}
- name: Publish test results
uses: mikepenz/action-junit-report@v6
if: always()
with:
report_paths: '**/target/surefire-reports/*.xml'
- name: Upload surefire reports
uses: actions/upload-artifact@v7
if: failure()
with:
name: surefire-reports-${{ matrix.os }}-${{ matrix.balancer }}-jdk${{ matrix.java }}
path: target/surefire-reports/
native-httpd:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
java: ['17', '21']
name: "native httpd / ubuntu / JDK ${{ matrix.java }}"
steps:
- uses: actions/checkout@v6
- name: Set up JDK ${{ matrix.java }}
uses: actions/setup-java@v5
with:
java-version: ${{ matrix.java }}
distribution: temurin
cache: 'maven'
- name: Install httpd and build dependencies
run: |
sudo apt-get update
sudo apt-get install -y apache2-dev libapr1-dev libaprutil1-dev cmake gcc
- name: Build mod_proxy_cluster modules
run: |
git clone --depth 1 ${{ env.MOD_PROXY_CLUSTER_REPO }} target/mod_proxy_cluster
cmake -S target/mod_proxy_cluster/native -B target/mod_proxy_cluster/native/build -DCMAKE_BUILD_TYPE=Debug
make -C target/mod_proxy_cluster/native/build -j$(nproc)
- name: Download WildFly via Maven
run: mvn -B generate-test-resources -Pdownload-wildfly -Dwildfly.version=${{ env.WILDFLY_VERSION }} -DskipTests
- name: Run tests
run: |
mvn -B test -Pnative \
-Dtest=${{ env.TEST_CLASS }} \
-Dbalancer.type=httpd \
-Dhttpd.home=/usr \
-Dhttpd.modules.path=${{ github.workspace }}/target/mod_proxy_cluster/native/build/modules \
-Dwildfly.version=${{ env.WILDFLY_VERSION }}
- name: Publish test results
uses: mikepenz/action-junit-report@v6
if: always()
with:
report_paths: '**/target/surefire-reports/*.xml'
- name: Upload surefire reports
uses: actions/upload-artifact@v7
if: failure()
with:
name: surefire-reports-native-httpd-jdk${{ matrix.java }}
path: target/surefire-reports/