diff --git a/.github/actions/junit2jira/action.yaml b/.github/actions/junit2jira/action.yaml index 42fc6f8bdccd6..7c2aa413d54d7 100644 --- a/.github/actions/junit2jira/action.yaml +++ b/.github/actions/junit2jira/action.yaml @@ -4,6 +4,13 @@ branding: icon: 'archive' color: 'blue' inputs: + create-jiras: + description: 'Whether to report failures to Jira' + required: false + default: 'true' + gcp-account: + description: 'Account to be used to upload tests data' + required: true jira-token: description: 'Token used to authenticate with Jira.' required: true @@ -32,14 +39,28 @@ runs: - name: Check files shell: bash env: + GCP_SERVICE_ACCOUNT_STACKROX_CI: ${{ inputs.gcp-account }} JIRA_TOKEN: ${{ inputs.jira-token }} run: | + extra_args=() + if [[ "${{ inputs.create-jiras }}" == "false" ]]; then + extra_args=(--dry-run) + else + echo "Will create JIRA issues for JUnit failures found in ${{ inputs.directory }}" + fi + csv_output="$(mktemp --suffix=.csv)" ./junit2jira \ -base-link "${{ github.server_url }}/${{ github.repository }}/commit/${{ github.sha }}" \ -build-id "${{ github.run_id }}" \ -build-link "${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}" \ -build-tag "${{ github.ref_name }}@${{ github.sha }}" \ + -csv-output "${csv_output}" \ -job-name "${{ github.job }}" \ -junit-reports-dir "${{ inputs.directory }}" \ -orchestrator "${{ runner.name }} ${{ runner.os }}-${{ runner.arch }}" \ - -threshold "${{ inputs.threshold }}" + -threshold "${{ inputs.threshold }}" \ + "${extra_args[@]}" + + source scripts/ci/lib.sh + setup_gcp + save_test_metrics "${csv_output}" diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 7dde9d4cb4c8e..4c84753dd33f6 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -623,6 +623,7 @@ jobs: if: always() with: jira-token: ${{ secrets.JIRA_TOKEN }} + gcp-account: ${{ secrets.GCP_SERVICE_ACCOUNT_STACKROX_CI }} directory: 'junit-reports' scan-images-with-roxctl: diff --git a/.github/workflows/unit-tests.yaml b/.github/workflows/unit-tests.yaml index 93ca8eba9a7bd..06bb87c3a837c 100644 --- a/.github/workflows/unit-tests.yaml +++ b/.github/workflows/unit-tests.yaml @@ -65,10 +65,12 @@ jobs: paths: 'junit-reports/report.xml' - name: Report test failures to Jira - if: (!cancelled()) && github.event_name == 'push' + if: (!cancelled()) uses: ./.github/actions/junit2jira with: + create-jiras: ${{ github.event_name == 'push' }} jira-token: ${{ secrets.JIRA_TOKEN }} + gcp-account: ${{ secrets.GCP_SERVICE_ACCOUNT_STACKROX_CI }} directory: 'junit-reports' go-postgres: @@ -116,10 +118,12 @@ jobs: paths: 'junit-reports/report.xml' - name: Report junit failures in jira - if: (!cancelled()) && github.event_name == 'push' + if: (!cancelled()) uses: ./.github/actions/junit2jira with: + create-jiras: ${{ github.event_name == 'push' }} jira-token: ${{ secrets.JIRA_TOKEN }} + gcp-account: ${{ secrets.GCP_SERVICE_ACCOUNT_STACKROX_CI }} directory: 'junit-reports' go-bench: @@ -192,10 +196,12 @@ jobs: paths: 'ui/apps/platform/test-results/reports/*.xml' - name: Report junit failures in jira - if: (!cancelled()) && github.event_name == 'push' + if: (!cancelled()) uses: ./.github/actions/junit2jira with: + create-jiras: ${{ github.event_name == 'push' }} jira-token: ${{ secrets.JIRA_TOKEN }} + gcp-account: ${{ secrets.GCP_SERVICE_ACCOUNT_STACKROX_CI }} directory: 'ui/apps/platform/test-results/reports' local-roxctl-tests: @@ -226,10 +232,12 @@ jobs: paths: 'roxctl-test-output/*.xml' - name: Report junit failures in jira - if: (!cancelled()) && github.event_name == 'push' + if: (!cancelled()) uses: ./.github/actions/junit2jira with: + create-jiras: ${{ github.event_name == 'push' }} jira-token: ${{ secrets.JIRA_TOKEN }} + gcp-account: ${{ secrets.GCP_SERVICE_ACCOUNT_STACKROX_CI }} directory: 'roxctl-test-output' shell-unit-tests: @@ -255,10 +263,12 @@ jobs: paths: 'shell-test-output/*.xml' - name: Report junit failures in jira - if: (!cancelled()) && github.event_name == 'push' + if: (!cancelled()) uses: ./.github/actions/junit2jira with: + create-jiras: ${{ github.event_name == 'push' }} jira-token: ${{ secrets.JIRA_TOKEN }} + gcp-account: ${{ secrets.GCP_SERVICE_ACCOUNT_STACKROX_CI }} directory: 'shell-test-output' openshift-ci-unit-tests: