Fix native JBCS extraction and CI test flakiness #96
Workflow file for this run
This file contains hidden or 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: 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/ |