Skip to content

First Release (v0.1.0)

Compare
Choose a tag to compare
@snkrheadz snkrheadz released this 21 Jun 07:42
· 2 commits to main since this release
09f1c6c

First Release (v0.1.0)

This is the initial release of the gocyclo Analysis Reports GitHub Action. This action provides comprehensive cyclomatic complexity analysis for Go projects using the gocyclo tool.

Features:

  • Cyclomatic Complexity Analysis: Analyze Go functions for cyclomatic complexity to identify potentially complex and high-risk areas in your codebase.
  • Detailed Reports: Generates detailed reports on the cyclomatic complexity of your Go code, helping you maintain high code quality.
  • Customizable Inputs:
    • ignore_pattern: Specify patterns to ignore certain files during analysis.
    • over: Show functions with complexity greater than a specified value and return an exit code if such functions are found.
    • top: Display the top N most complex functions in your codebase.
  • Easy Integration: Integrate seamlessly into your CI/CD pipeline to continuously monitor code complexity.

Usage Example:

Here’s how you can use this action in your GitHub Actions workflow:

name: Analyze Go Code with gocyclo

on:
  pull_request:
    paths:
      - "**/*.go"

# Permissions for marocchino/sticky-pull-request-comment@v2
permissions:
  pull-requests: write

jobs:
  gocyclo_analysis:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/[email protected]

      - name: Run gocyclo Analysis
        uses: snkrheadz/gocyclo-analysis-reports@v1
        id: gocyclo_analysis
        with:
          ignore_pattern: '_test|_mock|mock_|.pb.go|proto'
          over: '20'
          top: '10'
      - name: Post Results
        uses: marocchino/sticky-pull-request-comment@v2
        with:
          recreate: true
          header: gocyclo Report
          message: |
            ${{ env.gocyclo_report }}

This release marks the beginning of providing Go developers with the tools they need to ensure their code remains maintainable and easy to understand. We welcome feedback and contributions to further enhance the functionality of this action.