Test (Direct) #122
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: Test (Direct) | |
on: | |
pull_request: | |
push: | |
workflow_dispatch: | |
jobs: | |
dupe_check: | |
name: Check for Duplicate Workflow Run | |
runs-on: ubuntu-latest | |
outputs: | |
should_skip: ${{ steps.skip_check.outputs.should_skip }} | |
steps: | |
- id: skip_check | |
uses: fkirc/skip-duplicate-actions@v3.4.0 | |
with: | |
concurrent_skipping: same_content | |
do_not_skip: '["pull_request", "workflow_dispatch", "schedule"]' | |
build: | |
name: Integration Tests | |
needs: | |
- dupe_check | |
if: needs.dupe_check.outputs.should_skip != 'true' | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
beam-version: [ "", "2.20.0", "2.25.0" ] | |
experiments: [ "", "use_sdf_read", "use_deprecated_read" ] | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
submodules: recursive | |
- name: Cache local Maven repository | |
uses: actions/cache@v2 | |
with: | |
path: ~/.m2/repository | |
key: ${{ runner.os }}-maven-test-direct-${{ matrix.beam-version }}-${{ hashFiles('**/pom.xml') }} | |
restore-keys: | | |
${{ runner.os }}-maven-test-direct-${{ matrix.beam-version }}- | |
- name: Setup JDK 8 | |
uses: actions/setup-java@v2 | |
with: | |
distribution: zulu | |
java-version: 8 | |
- name: Install Test Support | |
run: mvn clean install -f solace-integration-test-support/ -DskipTests | |
- name: Build and Run Tests | |
run: >- | |
mvn clean verify jacoco:report | |
${{ matrix.beam-version && format('-Dbeam.version={0}', matrix.beam-version) || '' }} | |
"-DbeamTestPipelineOptions=[\"--experiments=${{ matrix.experiments }}\"]" | |
- name: Upload Test Artifacts | |
if: always() | |
uses: actions/upload-artifact@v2 | |
with: | |
name: Test Results (${{ matrix.beam-version }}, ${{ matrix.experiments }}) | |
path: | | |
**/target/failsafe-reports/*.xml | |
**/target/surefire-reports/*.xml | |
**/target/jacoco.exec | |
**/target/site/jacoco/ | |
- name: Publish Test Coverage Results | |
if: github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository && !matrix.beam-version && !matrix.experiments # Only report this once | |
uses: madrapps/jacoco-report@v1.1 | |
with: | |
path: beam-sdks-java-io-solace/target/site/jacoco/jacoco.xml | |
token: ${{ secrets.GITHUB_TOKEN }} | |
publish-test-results: | |
name: Publish Test Results | |
needs: | |
- build | |
if: success() || failure() | |
runs-on: ubuntu-latest | |
steps: | |
- name: Download Test Results | |
uses: actions/download-artifact@v2 | |
with: | |
path: test-artifacts | |
- name: Publish Unit Test Results | |
uses: EnricoMi/publish-unit-test-result-action@v1 | |
continue-on-error: true | |
with: | |
check_name: Unit Test Results (Direct) | |
comment_mode: create new | |
fail_on: nothing | |
hide_comments: orphaned commits | |
files: | | |
test-artifacts/**/failsafe-reports/**/*.xml | |
!test-artifacts/**/failsafe-reports/**/failsafe-summary.xml | |
test-artifacts/**/surefire-reports/**/*.xml |