Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

.github/workflows: color golangci-lint xml with bat #9266

Closed
wants to merge 3 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
8 changes: 7 additions & 1 deletion .github/workflows/ci-core.yml
Expand Up @@ -88,9 +88,15 @@ jobs:
only-new-issues: ${{ github.event.schedule == '' }} # show only new issues, unless it's a scheduled run
allow-extra-out-format-args: true
args: --out-format checkstyle:golangci-lint-report.xml
- name: Install bat
uses: awalsh128/cache-apt-pkgs-action@1850ee53f6e706525805321a3f2f863dcf73c962 # v1.3.0
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How much of an improvement does this give us over just reinstalling the package everytime? I'd like to keep our GHA deps low if we can.

Another route would be to install a dockerized version since I'd imagine this image already has docker

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I haven't actually gotten it to work yet. IIRC I was just trying different approach of calling bat, and had no luck. Feel free to push a new solution.

bat: command not found

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If the stdout format is already colour coded, i'd specify it as an additional output instead. golangci/golangci-lint#2386

with:
packages: bat
if: always()
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we always pass? Seems like we'd want to fix this immediately if we didnt have access to reading reports

- name: Print lint report artifact
if: always()
run: test -f golangci-lint-report.xml && cat golangci-lint-report.xml || true
shell: bash
run: test -f golangci-lint-report.xml && bat -pP golangci-lint-report.xml || true
- name: Store lint report artifact
if: always()
uses: actions/upload-artifact@3cea5372237819ed00197afe530f5a7ea3e805c8 # v3.1.0
Expand Down
5 changes: 1 addition & 4 deletions core/main.go
Expand Up @@ -28,10 +28,7 @@ func init() {
func Main() (code int) {
recovery.ReportPanics(func() {
app := cmd.NewApp(newProductionClient())
if err := app.Run(os.Args); err != nil {
fmt.Fprintf(os.Stderr, "Error running app: %v\n", err)
code = 1
}
app.Run(os.Args)
})
return
}
Expand Down