golangci-lint-action
Official GitHub action for golangci-lint from its authors (by golangci)
action-gh-release
📦 :octocat: GitHub Action for creating GitHub Releases (by softprops)
Our great sponsors
golangci-lint-action | action-gh-release | |
---|---|---|
3 | 7 | |
970 | 3,603 | |
3.9% | - | |
9.3 | 7.5 | |
8 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.
action-gh-release
Posts with mentions or reviews of action-gh-release.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-06-01.
-
GitHub Action to compile binary and create release
While those actions are indeeded archived, they do recommend some other community actions to use. I have used https://github.com/softprops/action-gh-release and it works well. That said, you need to do your own due diligence on how comfortable you are using community actions.
-
How to Automatically Update Resume On Your Personal Site From OverLeaf
Create a new workflow, and then enter the code below. This code will create the PDF version of the latex file with every push into this repository. Each push will create a new release of your resume's latest iteration, and it will be an artifact attached to this. You may encounter an error based off the permission of the GitHub Action but this issue is explained well in this post.
-
Simple LaTeX CI/CD Template
Alternatively, if you do not want to use the LaTeX compilation process on GitHub Actions, you can omit the building process and track the locally generated PDF file as well. Usually binary files, PDF files in this case, are not tracked. You can remove the Compile LaTeX Document step in the .github/workflows/release.yml file, and start tracking the output PDF in your repository. By this way, you can move the compilation process to local. However, if you follow this path, by default, you will not have your output PDF listed under releases. It is possible to achieve this by editing the Release step in the workflow (see action-gh-release for more information).
-
How can I set the tag before releasing?
I use https://github.com/softprops/action-gh-release to create releases when pull requests happen. But I don't understand how I'm supposed to set tags. The README states this: yml if: startsWith(github.ref, 'refs/tags/')
-
Dart + GitHub Actions: Publish your command-line tools for Windows/macOS/Linux into GitHub Releases
action-gh-release really makes it easy to do these steps.
-
How to release built artifacts from one to another repo on GitHub?
softprops/action-gh-release able to achieve that in two lines of code.
-
Go Package CI/CD with GitHub Actions
Finally, we use a 3rd-party release creation Action for creating a release draft with the release notes and artifacts we just created:
What are some alternatives?
When comparing golangci-lint-action and action-gh-release you can also consider the following projects:
golangci-lint - Fast linters Runner for Go
virtual-environments - GitHub Actions runner images [Moved to: https://github.com/actions/runner-images]
setup-go - Set up your GitHub Actions workflow with a specific version of Go
tokens
cargo-install - GitHub action for cached Rust crates installation.
checkout - Action for checking out a repo
cli-for-windows
gather-town-desktop-releases - Pseudo-repo for holding releases of the Gather desktop app
2goarray - A simple utility to encode a file (or any other data) into a Go byte array.
latex-action - :octocat: GitHub Action to compile LaTeX documents
golangci-lint-action vs golangci-lint
action-gh-release vs virtual-environments
golangci-lint-action vs setup-go
action-gh-release vs tokens
golangci-lint-action vs cargo-install
action-gh-release vs setup-go
golangci-lint-action vs checkout
action-gh-release vs golangci-lint
golangci-lint-action vs cli-for-windows
action-gh-release vs gather-town-desktop-releases
golangci-lint-action vs 2goarray
action-gh-release vs latex-action