From 2870ecfb784153ad5640cb032533ebac77368e92 Mon Sep 17 00:00:00 2001 From: Lukas Hanusovsky <61745358+lhanusov@users.noreply.github.com> Date: Thu, 31 Aug 2023 13:27:37 +0200 Subject: [PATCH] GH Actions -> archive surefire reports (#21913). (#21915) --- .../archive-surefire-reports/action.yml | 46 +++++++++++ .github/workflows/ci.yml | 80 +++++++++++++++++++ 2 files changed, 126 insertions(+) create mode 100644 .github/actions/archive-surefire-reports/action.yml diff --git a/.github/actions/archive-surefire-reports/action.yml b/.github/actions/archive-surefire-reports/action.yml new file mode 100644 index 0000000000..a9104e66bc --- /dev/null +++ b/.github/actions/archive-surefire-reports/action.yml @@ -0,0 +1,46 @@ +name: Archive Surefire reports +description: It will upload and archive surefire reports per particular test run. +inputs: + job-id: + description: 'Id of the particular job run.' + required: true + release-branches: + description: 'List of all related release branches (in JSON format)' + required: false + default: '["refs/heads/release/22.0"]' + keep-days: + description: 'For how many days to store the particular artifact.' + required: false + default: 1 + +runs: + using: composite + steps: + - id: find-surefire-reports-linux + name: Find Surefire reports directories + if: runner.os == 'Linux' + shell: bash + run: | + echo "dirs<> $GITHUB_OUTPUT + echo "$(find ~+ -type d -not -empty -name surefire-reports*)" >> $GITHUB_OUTPUT + echo "EOF" >> $GITHUB_OUTPUT + + - id: find-surefire-reports-win + name: Find Surefire reports directories + if: runner.os == 'Windows' + shell: bash + run: | + echo "dirs<> $GITHUB_OUTPUT + echo "$(find ~+ -type d -not -empty -name surefire-reports* | sed 's@/d@D:@')" >> $GITHUB_OUTPUT + echo "EOF" >> $GITHUB_OUTPUT + + - id: upload-surefire-linux + name: Upload Surefire reports + if: (!cancelled() && contains(fromJSON(inputs.release-branches), github.ref) && contains(fromJSON('["push", "workflow_dispatch"]'), github.event_name)) + uses: actions/upload-artifact@v3 + with: + name: surefire-${{ inputs.job-id }} + path: | + ${{ steps.find-surefire-reports-linux.outputs.dirs }} + ${{ steps.find-surefire-reports-win.outputs.dirs }} + retention-days: ${{ inputs.keep-days }} diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e13d13692b..55679857e4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -77,6 +77,11 @@ jobs: if: always() uses: ./.github/actions/upload-heapdumps + - name: Surefire reports + uses: ./.github/actions/archive-surefire-reports + with: + job-id: unit-tests + base-integration-tests: name: Base IT needs: build @@ -110,6 +115,11 @@ jobs: with: job-name: Base IT + - name: Surefire reports + uses: ./.github/actions/archive-surefire-reports + with: + job-id: base-integration-tests-${{ matrix.group }} + quarkus-unit-tests: name: Quarkus UT needs: build @@ -131,6 +141,11 @@ jobs: if: always() uses: ./.github/actions/upload-heapdumps + - name: Surefire reports + uses: ./.github/actions/archive-surefire-reports + with: + job-id: quarkus-unit-tests + quarkus-integration-tests: name: Quarkus IT needs: build @@ -173,6 +188,11 @@ jobs: if: always() uses: ./.github/actions/upload-heapdumps + - name: Surefire reports + uses: ./.github/actions/archive-surefire-reports + with: + job-id: quarkus-integration-tests-${{ matrix.os }}-${{ matrix.server }} + jdk-integration-tests: name: Java Distribution IT needs: build @@ -218,6 +238,11 @@ jobs: with: job-name: Java Distribution IT + - name: Surefire reports + uses: ./.github/actions/archive-surefire-reports + with: + job-id: jdk-integration-tests-${{ matrix.os }}-${{ matrix.dist }}-${{ matrix.version }} + databases-new-store: name: Databases New Store runs-on: ubuntu-latest @@ -277,6 +302,11 @@ jobs: with: job-name: New Store IT + - name: Surefire reports + uses: ./.github/actions/archive-surefire-reports + with: + job-id: new-store-integration-tests-${{ matrix.db }} + legacy-store-integration-tests: name: Legacy Store IT needs: [build, conditional] @@ -311,6 +341,11 @@ jobs: with: job-name: Legacy Store IT + - name: Surefire reports + uses: ./.github/actions/archive-surefire-reports + with: + job-id: legacy-store-integration-tests-${{ matrix.db }} + store-model-tests: name: Store Model Tests runs-on: ubuntu-latest @@ -338,6 +373,11 @@ jobs: with: job-name: Store Model Tests + - name: Surefire reports + uses: ./.github/actions/archive-surefire-reports + with: + job-id: store-model-tests + clustering-integration-tests: name: Legacy Clustering IT needs: build @@ -367,6 +407,11 @@ jobs: with: job-name: Legacy Clustering IT + - name: Surefire reports + uses: ./.github/actions/archive-surefire-reports + with: + job-id: clustering-integration-tests + fips-unit-tests: name: FIPS UT runs-on: ubuntu-latest @@ -392,6 +437,11 @@ jobs: if: always() uses: ./.github/actions/upload-heapdumps + - name: Surefire reports + uses: ./.github/actions/archive-surefire-reports + with: + job-id: fips-unit-tests + fips-integration-tests: name: FIPS IT needs: build @@ -433,6 +483,11 @@ jobs: with: job-name: FIPS IT + - name: Surefire reports + uses: ./.github/actions/archive-surefire-reports + with: + job-id: fips-integration-tests-${{ matrix.mode }} + account-console-integration-tests: name: Account Console IT runs-on: ubuntu-latest @@ -463,6 +518,11 @@ jobs: with: job-name: Account Console IT + - name: Surefire reports + uses: ./.github/actions/archive-surefire-reports + with: + job-id: account-console-integration-tests-${{ matrix.browser }} + forms-integration-tests: name: Forms IT runs-on: ubuntu-latest @@ -496,6 +556,11 @@ jobs: with: job-name: Forms IT + - name: Surefire reports + uses: ./.github/actions/archive-surefire-reports + with: + job-id: forms-integration-tests-${{ matrix.browser }} + webauthn-integration-tests: name: WebAuthn IT runs-on: ubuntu-latest @@ -534,6 +599,11 @@ jobs: with: job-name: WebAuthn IT + - name: Surefire reports + uses: ./.github/actions/archive-surefire-reports + with: + job-id: webauthn-integration-tests-${{ matrix.browser }} + sssd-unit-tests: name: SSSD runs-on: ubuntu-latest @@ -565,6 +635,11 @@ jobs: - name: Run tests run: .github/scripts/run-ipa.sh "${{ github.workspace }}" + - name: Surefire reports + uses: ./.github/actions/archive-surefire-reports + with: + job-id: sssd-unit-tests + migration-tests: name: Migration Tests runs-on: ubuntu-latest @@ -604,6 +679,11 @@ jobs: GH_TOKEN: ${{ github.token }} with: job-name: Migration Tests + + - name: Surefire reports + uses: ./.github/actions/archive-surefire-reports + with: + job-id: migration-tests-${{ matrix.old-version }}-${{ matrix.database }} check: name: Status Check - Keycloak CI