Skip to content

Commit

Permalink
Update paths to linter reports
Browse files Browse the repository at this point in the history
  • Loading branch information
chudilka1 committed Nov 27, 2024
1 parent 0569164 commit 70f942f
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 11 deletions.
31 changes: 26 additions & 5 deletions .github/actions/golangci-lint/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,16 +57,37 @@ runs:
with:
version: v1.62.2
only-new-issues: true
args: --out-format colored-line-number,checkstyle:${{ steps.set-working-directory.outputs.golangci-lint-working-directory }}_golangci-lint-report.xml -v
args: --out-format colored-line-number,checkstyle:golangci-lint-report.xml -v
working-directory: ${{ steps.set-working-directory.outputs.golangci-lint-working-directory }}
- name: Print lint report artifact
if: failure()
shell: bashc
run: cat ./${{ inputs.go-directory }}/${{ steps.set-working-directory.outputs.golangci-lint-working-directory }}_golangci-lint-report.xml
shell: bash
run: cat ./${{ inputs.go-directory }}/golangci-lint-report.xml
- name: Get suffix for artifact name
if: always()
# This validation is needed to set a valid name for the artifact suffix in the following "upload" step
# It helps to avoid the error:
# `The artifact name is not valid: golangci-lint-report-core/scripts Forward slash /`
id: suffix
shell: bash
run: |
echo "Validating if '${{ inputs.go-directory }}' is a valid artifact suffix (no slashes)"
go_directory="${{ inputs.go-directory }}"
if [[ $go_directory == *\/* ]]; then
suffix=$(echo "${go_directory}" | tr '/' '-')
echo "Updated '${{ inputs.go-directory }}' to a valid artifact suffix '${suffix}'"
else
suffix="$go_directory"
echo "No need to update artifact suffix '${go_directory}'"
fi
echo "suffix=${suffix}" | tee -a $GITHUB_OUTPUT
- name: Store lint report artifact
if: always()
uses: actions/upload-artifact@v4.4.3
with:
name: golangci-lint-report-${{ inputs.go-directory }}
# The workflows may generate multiple lint reports,
# so we need to add a suffix to the name of the artifact
# to avoid duplication-related errors
name: golangci-lint-report-${{ steps.suffix.outputs.suffix }}
# The ./ is needed to preserve the valid pattern for the artifact path
path: ./${{ inputs.go-directory }}/${{ inputs.go-directory }}_golangci-lint-report.xml
path: ./${{ inputs.go-directory }}/golangci-lint-report.xml
19 changes: 13 additions & 6 deletions .github/workflows/ci-core.yml
Original file line number Diff line number Diff line change
Expand Up @@ -397,7 +397,7 @@ jobs:

scan:
name: SonarQube Scan
needs: [core]
needs: [core, golangci]
if: ${{ always() && github.actor != 'dependabot[bot]' }}
runs-on: ubuntu-latest
steps:
Expand All @@ -414,15 +414,20 @@ jobs:
run: |
# Check and assign paths for coverage/test reports in go_core_tests_logs
if [ -d "go_core_tests_logs" ]; then
echo "Found go_core_tests_logs"
sonarqube_coverage_report_paths=$(find go_core_tests_logs -name coverage.txt | paste -sd "," -)
sonarqube_tests_report_paths=$(find go_core_tests_logs -name output.txt | paste -sd "," -)
echo "Coverage report paths: $sonarqube_coverage_report_paths"
echo "Tests report paths: $sonarqube_tests_report_paths"
else
echo "Did not find go_core_tests_logs"
sonarqube_coverage_report_paths=""
sonarqube_tests_report_paths=""
fi
# Check and assign paths for coverage/test reports in go_core_tests_integration_logs
if [ -d "go_core_tests_integration_logs" ]; then
echo "Found go_core_tests_integration_logs"
integration_coverage_paths=$(find go_core_tests_integration_logs -name coverage.txt | paste -sd "," -)
integration_tests_paths=$(find go_core_tests_integration_logs -name output.txt | paste -sd "," -)
# Append to existing paths if they are set, otherwise assign directly
Expand All @@ -431,11 +436,13 @@ jobs:
fi
# Check and assign paths for lint reports
if [ -d "golangci-lint-report" ]; then
sonarqube_lint_report_paths=$(find -type f -name 'golangci-lint-report.xml' -printf "%p,")
else
sonarqube_lint_report_paths=""
fi
for golang_lint_artifact in golangci-lint-report*
do
echo "Found golangci-lint-report artifacts"
sonarqube_lint_report_paths=$(find -type f -name 'golangci-lint-report.xml' -printf "%p,")
echo "Lint report paths: $sonarqube_lint_report_paths"
break
done
ARGS=""
if [[ -z "$sonarqube_tests_report_paths" ]]; then
Expand Down

0 comments on commit 70f942f

Please sign in to comment.