golangci-lint-action
Official GitHub action for golangci-lint from its authors (by golangci)
setup-go
Set up your GitHub Actions workflow with a specific version of Go (by actions)
Our great sponsors
golangci-lint-action | setup-go | |
---|---|---|
3 | 4 | |
970 | 1,304 | |
3.9% | 2.4% | |
9.3 | 6.3 | |
11 days ago | 8 days ago | |
TypeScript | TypeScript | |
MIT License | MIT License |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
golangci-lint-action
Posts with mentions or reviews of golangci-lint-action.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2024-01-05.
-
Using Private Go Modules with golangci-lint in GitHub Actions
# source: https://github.com/golangci/golangci-lint-action?tab=readme-ov-file#how-to-use name: golangci-lint on: push: branches: - master - main pull_request: permissions: contents: read # Optional: allow read access to pull request. Use with `only-new-issues` option. # pull-requests: read jobs: golangci: name: lint runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: actions/setup-go@v4 with: go-version: '1.21' cache: false - name: golangci-lint uses: golangci/golangci-lint-action@v3 with: # Require: The version of golangci-lint to use. # When `install-mode` is `binary` (default) the value can be v1.2 or v1.2.3 or `latest` to use the latest version. # When `install-mode` is `goinstall` the value can be v1.2.3, `latest`, or the hash of a commit. version: v1.54 # Optional: working directory, useful for monorepos # working-directory: somedir # Optional: golangci-lint command line arguments. # # Note: By default, the `.golangci.yml` file should be at the root of the repository. # The location of the configuration file can be changed by using `--config=` # args: --timeout=30m --config=/my/path/.golangci.yml --issues-exit-code=0 # Optional: show only new issues if it's a pull request. The default value is `false`. # only-new-issues: true # Optional: if set to true, then all caching functionality will be completely disabled, # takes precedence over all other caching options. # skip-cache: true # Optional: if set to true, then the action won't cache or restore ~/go/pkg. # skip-pkg-cache: true # Optional: if set to true, then the action won't cache or restore ~/.cache/go-build. # skip-build-cache: true # Optional: The mode to install golangci-lint. It can be 'binary' or 'goinstall'. # install-mode: "goinstall"
-
Go Package CI/CD with GitHub Actions
Finally, we can use golangci-lint's provided GitHub Action for linting - it runs golangci-lint on the workflow runner's clone of the repo and outputs an error code if any Go file in the repo fails rules of any linters in golangci-lint. Note that golangci-lint fails if the AST cannot be parsed (i.e. if there are any syntax errors), so it can also be used for checking syntax correctness, which itself is a good proxy for checking for merge conflict strings. We can fail-fast with any checks this way - there's no need to spin up a compilation and a go test invocation if there are syntax errors.
-
CLI for Windows with Go
If you want to run golangci-lint in CI, you can use golangci-lint-action same as other actions.
setup-go
Posts with mentions or reviews of setup-go.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-09-03.
-
Disable Annotations in Github Actions
setup-go
-
Top 10 GitHub Actions You Should Use to set up your CI/CD Pipeline
The most popular ones are Node.js, Python, Java JDK, Go, .Net Core SDK.
-
How Fastly manages its software with GitHub Actions
actions/setup-go: install and configure a specific version of Go.
-
Go Package CI/CD with GitHub Actions
First, we have to checkout the repository in GitHub Actions using GitHub's own checkout action. Then, we have to set up the Go version using GitHub's setup-go action. GitHub Actions has 3 different OSes available for their runners, each with various Go versions, but it's safest to explicitly specify which Go version will be used.
What are some alternatives?
When comparing golangci-lint-action and setup-go you can also consider the following projects:
golangci-lint - Fast linters Runner for Go
action-gh-release - 📦 :octocat: GitHub Action for creating GitHub Releases
cargo-install - GitHub action for cached Rust crates installation.
setup-dotnet - Set up your GitHub Actions workflow with a specific version of the .NET core sdk
checkout - Action for checking out a repo
starter-workflows - Accelerating new GitHub Actions workflows
cli-for-windows
setup-python - Set up your GitHub Actions workflow with a specific version of Python
2goarray - A simple utility to encode a file (or any other data) into a Go byte array.
toolchain - 🛠️ GitHub Action for `rustup` commands
golangci-lint-action vs golangci-lint
setup-go vs action-gh-release
golangci-lint-action vs action-gh-release
setup-go vs golangci-lint
golangci-lint-action vs cargo-install
setup-go vs setup-dotnet
golangci-lint-action vs checkout
setup-go vs starter-workflows
golangci-lint-action vs cli-for-windows
setup-go vs setup-python
golangci-lint-action vs 2goarray
setup-go vs toolchain