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

Reduce make lint/go execution time by adding the GOCACHE environment variable #4628

Merged
merged 3 commits into from
Oct 24, 2023

Conversation

karamaru-alpha
Copy link
Contributor

@karamaru-alpha karamaru-alpha commented Oct 24, 2023

What this PR does / why we need it:

  • Add the GOCACHE environment variable to make go/lint in order to reduce command execution time.
  • Add verbose option(-v) to make go/lint in order to make it easier to see lint's progress.
  • Change timeout setting name and extend its duration.

With the cache in effect, I have confirmed that the "make go/lint" execution time has decreased from 5.1m to 1.7m on my PC 🎉

Benchmark:

Execute with no cache. 6.1m

$ time make lint/go
-> cpu 6:10.38 total

Execute with lint cache(GOLANGCI_LINT_CACHE). 5.1m

$ time make lint/go
...
INFO [loader] Go packages loading at mode 575 (compiled_files|exports_file|name|types_sizes|deps|files|imports) took 4m2.312266987s
...
-> cpc 5:06.65 total

Execute with lint cache(GOLANGCI_LINT_CACHE) and go build cache(GOCACHE). 1.7m 🎉

$ time make lint/go
...
INFO [loader] Go packages loading at mode 575 (deps|exports_file|files|types_sizes|compiled_files|name|imports) took 37.603624725s
...
-> cpu 1:43.64 total

cf. golangci/golangci-lint#1004

Signed-off-by: karamaru-alpha <mrnk3078@gmail.com>
Signed-off-by: karamaru-alpha <mrnk3078@gmail.com>
Signed-off-by: karamaru-alpha <mrnk3078@gmail.com>
@@ -1,5 +1,5 @@
run:
deadline: 5m
timeout: 15m
Copy link
Contributor Author

@karamaru-alpha karamaru-alpha Oct 24, 2023

Choose a reason for hiding this comment

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

@karamaru-alpha karamaru-alpha marked this pull request as ready for review October 24, 2023 12:43
@karamaru-alpha karamaru-alpha changed the title Faster make lint/go by adding the GOCACHE environment variable Sped up make lint/go by adding the GOCACHE environment variable Oct 24, 2023
@karamaru-alpha karamaru-alpha changed the title Sped up make lint/go by adding the GOCACHE environment variable Reduce make lint/go execution time by adding the GOCACHE environment variable Oct 24, 2023
@codecov
Copy link

codecov bot commented Oct 24, 2023

Codecov Report

All modified and coverable lines are covered by tests ✅

Comparison is base (d427bab) 29.99% compared to head (957ac1e) 29.99%.

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #4628   +/-   ##
=======================================
  Coverage   29.99%   29.99%           
=======================================
  Files         221      221           
  Lines       25937    25937           
=======================================
  Hits         7781     7781           
  Misses      17510    17510           
  Partials      646      646           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Copy link
Member

@kentakozuka kentakozuka left a comment

Choose a reason for hiding this comment

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

LGTM 🎉

@kentakozuka kentakozuka merged commit 7278abe into pipe-cd:master Oct 24, 2023
13 checks passed
moko-poi pushed a commit to moko-poi/pipecd that referenced this pull request Nov 3, 2023
…t variable (pipe-cd#4628)

* Add GOCACHE env to lint/go

Signed-off-by: karamaru-alpha <mrnk3078@gmail.com>

* Add verbose flag to lint/go

Signed-off-by: karamaru-alpha <mrnk3078@gmail.com>

* Change timeout golangci.yml

Signed-off-by: karamaru-alpha <mrnk3078@gmail.com>

---------

Signed-off-by: karamaru-alpha <mrnk3078@gmail.com>
Signed-off-by: moko-poi <mokopoi44@gmail.com>
sZma5a pushed a commit to sZma5a/pipecd that referenced this pull request Nov 5, 2023
…t variable (pipe-cd#4628)

* Add GOCACHE env to lint/go

Signed-off-by: karamaru-alpha <mrnk3078@gmail.com>

* Add verbose flag to lint/go

Signed-off-by: karamaru-alpha <mrnk3078@gmail.com>

* Change timeout golangci.yml

Signed-off-by: karamaru-alpha <mrnk3078@gmail.com>

---------

Signed-off-by: karamaru-alpha <mrnk3078@gmail.com>
ffjlabo pushed a commit that referenced this pull request Nov 13, 2023
…t variable (#4628)

* Add GOCACHE env to lint/go

Signed-off-by: karamaru-alpha <mrnk3078@gmail.com>

* Add verbose flag to lint/go

Signed-off-by: karamaru-alpha <mrnk3078@gmail.com>

* Change timeout golangci.yml

Signed-off-by: karamaru-alpha <mrnk3078@gmail.com>

---------

Signed-off-by: karamaru-alpha <mrnk3078@gmail.com>
khanhtc1202 added a commit that referenced this pull request Nov 13, 2023
#4628 #4629 #4631 #4632 #4633 #4637 #4638 #4641 #4648 #4650 #4656 #4658 #4662 #4666 (#4669)

* Bump golang.org/x/net from 0.7.0 to 0.17.0 in /tool/actions-plan-preview (#4611)

Bumps [golang.org/x/net](https://github.com/golang/net) from 0.7.0 to 0.17.0.
- [Commits](golang/net@v0.7.0...v0.17.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump golang.org/x/net from 0.7.0 to 0.17.0 in /tool/actions-gh-release (#4612)

Bumps [golang.org/x/net](https://github.com/golang/net) from 0.7.0 to 0.17.0.
- [Commits](golang/net@v0.7.0...v0.17.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Khanh Tran <32532742+khanhtc1202@users.noreply.github.com>

* Bump golang.org/x/net from 0.8.0 to 0.17.0 (#4613)

Bumps [golang.org/x/net](https://github.com/golang/net) from 0.8.0 to 0.17.0.
- [Commits](golang/net@v0.8.0...v0.17.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump @babel/traverse from 7.14.7 to 7.23.2 in /web (#4619)

* Fix part of lint/go errors (misspell, depguard, unconvert) (#4621)

* Fix lint/go errors (misspell)

Signed-off-by: karamaru-alpha <mrnk3078@gmail.com>

* Fix lint/go errors (depguard)

Signed-off-by: karamaru-alpha <mrnk3078@gmail.com>

* Fix lint/go errors (unconvert)

Signed-off-by: karamaru-alpha <mrnk3078@gmail.com>

---------

Signed-off-by: karamaru-alpha <mrnk3078@gmail.com>

* Fix part of lint/go errors (goimports, staticcheck, gosimple) (#4622)

* Fix lint/go errors (goimport)

Signed-off-by: karamaru-alpha <mrnk3078@gmail.com>

* Fix lint/go errors (staticcheck)

Signed-off-by: karamaru-alpha <mrnk3078@gmail.com>

* Fix lint/go errors (gosimple)

Signed-off-by: karamaru-alpha <mrnk3078@gmail.com>

* Fix lint/go errors (gosimple)

Signed-off-by: karamaru-alpha <mrnk3078@gmail.com>

* Fix return error by function

Signed-off-by: karamaru-alpha <mrnk3078@gmail.com>

---------

Signed-off-by: karamaru-alpha <mrnk3078@gmail.com>

* Fix part of lint/go errors (deadcode, ineffassign, depguard) (#4624)

* Ignore mannwhitney from golangci-lint

Signed-off-by: karamaru-alpha <mrnk3078@gmail.com>

* Fix lint/go errors (deadcode)

Signed-off-by: karamaru-alpha <mrnk3078@gmail.com>

* Fix lint/go errors (depguard)

Signed-off-by: karamaru-alpha <mrnk3078@gmail.com>

---------

Signed-off-by: karamaru-alpha <mrnk3078@gmail.com>

* Add tests to terraform platform provider (#4625)

Signed-off-by: Kenta Kozuka <kenta.kozuka@gmail.com>

* Add tests to apikey model (#4626)

Signed-off-by: Kenta Kozuka <kenta.kozuka@gmail.com>

* Add tests to application model (#4627)

Signed-off-by: Kenta Kozuka <kenta.kozuka@gmail.com>

* Reduce `make lint/go` execution time by adding the GOCACHE environment variable (#4628)

* Add GOCACHE env to lint/go

Signed-off-by: karamaru-alpha <mrnk3078@gmail.com>

* Add verbose flag to lint/go

Signed-off-by: karamaru-alpha <mrnk3078@gmail.com>

* Change timeout golangci.yml

Signed-off-by: karamaru-alpha <mrnk3078@gmail.com>

---------

Signed-off-by: karamaru-alpha <mrnk3078@gmail.com>

* Add tests to model/deployment (#4629)

Signed-off-by: Kenta Kozuka <kenta.kozuka@gmail.com>

* Add tests to model/notificationevent (#4631)

* Add tests to model/notificationevent

Signed-off-by: Kenta Kozuka <kenta.kozuka@gmail.com>

* Add Parallel()

Signed-off-by: Kenta Kozuka <kenta.kozuka@gmail.com>

---------

Signed-off-by: Kenta Kozuka <kenta.kozuka@gmail.com>

* Add tests to model/deployment_chain (#4632)

* Bump google.golang.org/grpc from 1.54.0 to 1.56.3 (#4633)

* Bump google.golang.org/grpc from 1.54.0 to 1.56.3

Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.54.0 to 1.56.3.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](grpc/grpc-go@v1.54.0...v1.56.3)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update grpc test version

Signed-off-by: khanhtc1202 <khanhtc1202@gmail.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: khanhtc1202 <khanhtc1202@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: khanhtc1202 <khanhtc1202@gmail.com>

* Fix lint/go errors (gocritic) (#4637)

Signed-off-by: karamaru-alpha <mrnk3078@gmail.com>

* Fix part of lint/go errors (stylecheck)  (#4638)

* Fix lint/go errors (stylecheck)

Signed-off-by: karamaru-alpha <mrnk3078@gmail.com>

* Remove nolint:stylecheck

Signed-off-by: karamaru-alpha <mrnk3078@gmail.com>

* Change method reveiver name

Signed-off-by: karamaru-alpha <mrnk3078@gmail.com>

* Change receiver name k to ak

Signed-off-by: karamaru-alpha <mrnk3078@gmail.com>

---------

Signed-off-by: karamaru-alpha <mrnk3078@gmail.com>

* Bump github.com/docker/docker (#4641)

* Make actions plan preview handle timeout option (#4648)

* Format and make tests pass in tool/actions-plan-preview

Signed-off-by: mi11km <mi11km.program@gmail.com>

* Use --piped-handle-timeout to make the timeout arg activate

Signed-off-by: mi11km <mi11km.program@gmail.com>

* Add tests to model/notificationevent (#4631)

* Add tests to model/notificationevent

Signed-off-by: Kenta Kozuka <kenta.kozuka@gmail.com>

* Add Parallel()

Signed-off-by: Kenta Kozuka <kenta.kozuka@gmail.com>

---------

Signed-off-by: Kenta Kozuka <kenta.kozuka@gmail.com>
Signed-off-by: mi11km <mi11km.program@gmail.com>

* add piped-handle-timeout(input args)

Signed-off-by: mi11km <mi11km.program@gmail.com>

---------

Signed-off-by: mi11km <mi11km.program@gmail.com>
Signed-off-by: Kenta Kozuka <kenta.kozuka@gmail.com>
Co-authored-by: Kenta Kozuka <kenta.kozuka@gmail.com>
Co-authored-by: Khanh Tran <32532742+khanhtc1202@users.noreply.github.com>

* Fix panic error in ListDeployments API (#4650)

* Update golangci-lint and fix lint errors (#4656)

Signed-off-by: karamaru-alpha <mrnk3078@gmail.com>

* Send error comment before plan preview exit (#4658)

* Send error comment before plan preview exit

Signed-off-by: Takumaron <tennis.takumax@gmail.com>

* Apply review commnet

Signed-off-by: Takumaron <tennis.takumax@gmail.com>

---------

Signed-off-by: Takumaron <tennis.takumax@gmail.com>

* Handle plan preview workflow's error and exit with error status code (#4662)

* Add a flag to skip running standalone task during deployment (#4666)

* Add a flag to skip running standalone task during deployment

Signed-off-by: Kenta Kozuka <kenta.kozuka@gmail.com>

* Fix docs

Signed-off-by: Kenta Kozuka <kenta.kozuka@gmail.com>

---------

Signed-off-by: Kenta Kozuka <kenta.kozuka@gmail.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: karamaru-alpha <mrnk3078@gmail.com>
Signed-off-by: Kenta Kozuka <kenta.kozuka@gmail.com>
Signed-off-by: khanhtc1202 <khanhtc1202@gmail.com>
Signed-off-by: mi11km <mi11km.program@gmail.com>
Signed-off-by: Takumaron <tennis.takumax@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Khanh Tran <32532742+khanhtc1202@users.noreply.github.com>
Co-authored-by: karamaru <38310693+karamaru-alpha@users.noreply.github.com>
Co-authored-by: Kenta Kozuka <kenta.kozuka@gmail.com>
Co-authored-by: khanhtc1202 <khanhtc1202@gmail.com>
Co-authored-by: Masafumi Ikeyama <54844746+mi11km@users.noreply.github.com>
Co-authored-by: Seitaro Fujigaki <51070449+seitarof@users.noreply.github.com>
Co-authored-by: Kurosawa Takuma <tennis.takumax@gmail.com>
@github-actions github-actions bot mentioned this pull request Dec 1, 2023
@github-actions github-actions bot mentioned this pull request Feb 6, 2024
sZma5a pushed a commit to sZma5a/pipecd that referenced this pull request Feb 12, 2024
…t variable (pipe-cd#4628)

* Add GOCACHE env to lint/go

Signed-off-by: karamaru-alpha <mrnk3078@gmail.com>

* Add verbose flag to lint/go

Signed-off-by: karamaru-alpha <mrnk3078@gmail.com>

* Change timeout golangci.yml

Signed-off-by: karamaru-alpha <mrnk3078@gmail.com>

---------

Signed-off-by: karamaru-alpha <mrnk3078@gmail.com>
Signed-off-by: 鈴木 優耀 <suzuki_masaaki@cyberagent.co.jp>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants