GithubHelp home page GithubHelp logo

fgrosse / go-coverage-report Goto Github PK

View Code? Open in Web Editor NEW
40.0 2.0 2.0 924 KB

A CLI tool and GitHub Action to post Go code coverage reports as comment to your pull requests.

License: BSD 3-Clause "New" or "Revised" License

Go 75.44% Shell 24.56%
actions code-coverage golang

go-coverage-report's Issues

No coverage report posted when only _test.go files changed.

We're using this action on several private repositories and it is working great so far. Thanks.

However, I made a PR today that only changed a single _test.go file and no coverage report was added to the PR. The changed test file was noticed by the first steps of the action but seems to get filtered away sometime later. Here are the logs (somewhat redacted).

Run tj-actions/changed-files@aa08304bd477b800d468db44fe10f6c61f7f7b11 <snip>
changed-files
  Warning: The current working directory is not inside a git repository: <snip>
  Using GitHub's REST API to get changed files
  Getting changed files from GitHub API...
  Found 1 changed files from GitHub API
  All Done!
changed-files-patterns
  All Done!
Run $GITHUB_ACTION_PATH/scripts/github-action.sh <snip>
Download code coverage results from current run
Download code coverage results from target branch
Compare code coverage results
  + go-coverage-report -root=<snip> -trim= .github/outputs/old-coverage.txt .github/outputs/new-coverage.txt .github/outputs/all_changed_files.json
  Skipping report since there are no changed files
  + end_group
  Notice: No coverage report to comment

No permission to create comment

While trying out this action, I'm encountering the error: "GraphQL: Resource not accessible by integration (addComment)".

I tried passing the GITHUB_TOKEN environment variable, setting the pull-requests: write permission on the workflow rather than only the job, and adding the issues: write permission, but so far no luck. My best guess is that the gh command is running in the context of your repository instead of my own.

Here's an example run: https://github.com/regclient/regclient/actions/runs/8484759635/job/23248287252?pr=706

(Note that I have continue-on-error: true defined on the job so that it always shows as successful.)

Looking for artifact to fetch is too strict

Hello! Great action, but I noticed small issue that breaks my setup :D

You are doing this in action:

gh run list --status=success --branch=main '--workflow=Lint and Test' --event=push --json=databaseId --limit=1 -q '.[] | .databaseId'

However in setup I am not using I only run job on cron-schedule, so I do not have --event=push there at all. Is this option configurable maybe?

PS: I know I will lose some accuracy here because of that ๐Ÿ˜“

Failure to retrieve artifacts

The action is failing for me, apparently because there are no artifacts available in the target branch (not surprising because this is the first attempt to run it).

Download code coverage results from target branch
  ++ gh run list --status=success --branch=main --workflow=Build --event=push --json=databaseId --limit=1 -q '.[] | .databaseId'
  + LAST_SUCCESSFUL_RUN_ID=8953089596
  + '[' -z 8953089596 ']'
  + gh run download 8953089596 --name=code-coverage --dir=.github/outputs
  no valid artifacts found to download
  Error: Process completed with exit code 1.

Is there some set up/configuration step that I've missed?

Thanks,

Rob.

Action does not work. Always creates comment with "Merging this branch will not change overall coverage"

image

Hello! I decided to try your Action, unfortunatelly for some reason it always shows 0 on every touched file.

This is how I am using your action. I have this 3 steps in 1 job:

      - name: generate test coverage
        run: go test -cover -coverprofile=coverage.txt ./...

      - name: Archive code coverage results
        uses: actions/upload-artifact@v4
        with:
          name: code-coverage
          path: coverage.txt
          retention-days: 2

      - uses: fgrosse/[email protected] 
        if: ${{ github.event_name == 'pull_request' }}
        with:
          coverage-artifact-name: "code-coverage"
          coverage-file-name: "coverage.txt" 

Coverage $ and ฮ” display 0 in action comment

As title says, when I run the provided sample workflow as part of my CI pipeline a comment is successfully generated, however, the comment does not display the correct information.
Capture

I also cloned the go-coverage-report repo (Robert-MacWha#1), removed some tests, and ran the CI workflow. This also resulted in no coverage info being displayed in the comment. Interestingly, when I logged the code coverage results, it seemed to correctly generate the oldCov and newCov structs.

+ go-coverage-report -root=github.com/Robert-MacWha/go-coverage-report -trim=github.com/fgrosse/go-coverage-report/ .github/outputs/old-coverage.txt .github/outputs/new-coverage.txt .github/outputs/all_changed_files.json
  Old Coverage: &{Files:map[github.com/fgrosse/go-coverage-report/cmd/go-coverage-report/changed_files.go:0xc00006e050 github.com/fgrosse/go-coverage-report/cmd/go-coverage-report/coverage.go:0xc00006e0a0 github.com/fgrosse/go-coverage-report/cmd/go-coverage-report/main.go:0xc00006e0f0 github.com/fgrosse/go-coverage-report/cmd/go-coverage-report/profile.go:0xc00006e140 github.com/fgrosse/go-coverage-report/cmd/go-coverage-report/report.go:0xc00006e190] TotalStmt:336 CoveredStmt:200 MissedStmt:136}
  New Coverage: &{Files:map[github.com/fgrosse/go-coverage-report/cmd/go-coverage-report/changed_files.go:0xc00006e1e0 github.com/fgrosse/go-coverage-report/cmd/go-coverage-report/coverage.go:0xc00006e230 github.com/fgrosse/go-coverage-report/cmd/go-coverage-report/main.go:0xc00006e280 github.com/fgrosse/go-coverage-report/cmd/go-coverage-report/profile.go:0xc00006e2d0 github.com/fgrosse/go-coverage-report/cmd/go-coverage-report/report.go:0xc00006e320] TotalStmt:339 CoveredStmt:85 MissedStmt:254}
  Changed Files: [github.com/Robert-MacWha/go-coverage-report/cmd/go-coverage-report/coverage_test.go github.com/Robert-MacWha/go-coverage-report/cmd/go-coverage-report/main.go github.com/Robert-MacWha/go-coverage-report/cmd/go-coverage-report/report_test.go]

I'll see if I can fix things, if so will make a quick PR.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.